[ 
https://issues.apache.org/jira/browse/GROOVY-11929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18074464#comment-18074464
 ] 

ASF GitHub Bot commented on GROOVY-11929:
-----------------------------------------

codecov-commenter commented on PR #2472:
URL: https://github.com/apache/groovy/pull/2472#issuecomment-4272195054

   ## 
[Codecov](https://app.codecov.io/gh/apache/groovy/pull/2472?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `88.88889%` with `1 line` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 67.1401%. Comparing base 
([`9aa5d93`](https://app.codecov.io/gh/apache/groovy/commit/9aa5d936902f335012638ea793aa96c93070ff45?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`d003017`](https://app.codecov.io/gh/apache/groovy/commit/d0030175c8eeb0ab78824b59adeea6663d4cb118?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 1 commits behind head on master.
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/groovy/pull/2472?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...haus/groovy/runtime/metaclass/MetaMethodIndex.java](https://app.codecov.io/gh/apache/groovy/pull/2472?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fruntime%2Fmetaclass%2FMetaMethodIndex.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L3J1bnRpbWUvbWV0YWNsYXNzL01ldGFNZXRob2RJbmRleC5qYXZh)
 | 75.0000% | [0 Missing and 1 partial :warning: 
](https://app.codecov.io/gh/apache/groovy/pull/2472?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   [![Impacted file tree 
graph](https://app.codecov.io/gh/apache/groovy/pull/2472/graphs/tree.svg?width=650&height=150&src=pr&token=1r45138NfQ&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)](https://app.codecov.io/gh/apache/groovy/pull/2472?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
   ```diff
   @@                Coverage Diff                @@
   ##             master      #2472         +/-   ##
   =================================================
   + Coverage          0   67.1401%   +67.1401%     
   - Complexity        0      30911      +30911     
   =================================================
     Files             0       1436       +1436     
     Lines             0     119842     +119842     
     Branches          0      21239      +21239     
   =================================================
   + Hits              0      80462      +80462     
   - Misses            0      32676      +32676     
   - Partials          0       6704       +6704     
   ```
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/groovy/pull/2472?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[src/main/java/groovy/lang/MetaClassImpl.java](https://app.codecov.io/gh/apache/groovy/pull/2472?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Fgroovy%2Flang%2FMetaClassImpl.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9ncm9vdnkvbGFuZy9NZXRhQ2xhc3NJbXBsLmphdmE=)
 | `76.9744% <100.0000%> (ø)` | |
   | 
[...haus/groovy/runtime/metaclass/MetaMethodIndex.java](https://app.codecov.io/gh/apache/groovy/pull/2472?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fruntime%2Fmetaclass%2FMetaMethodIndex.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L3J1bnRpbWUvbWV0YWNsYXNzL01ldGFNZXRob2RJbmRleC5qYXZh)
 | `93.4959% <75.0000%> (ø)` | |
   
   ... and [1434 files with indirect coverage 
changes](https://app.codecov.io/gh/apache/groovy/pull/2472/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   </details>
   <details><summary> :rocket: New features to boost your workflow: </summary>
   
   - :snowflake: [Test 
Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, 
report on failures, and find test suite problems.
   - :package: [JS Bundle 
Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save 
yourself from yourself by tracking and limiting bundle sizes in JS merges.
   </details>




> Generic type information erased for super call
> ----------------------------------------------
>
>                 Key: GROOVY-11929
>                 URL: https://issues.apache.org/jira/browse/GROOVY-11929
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 5.0.5
>         Environment: Groovy 5.0.5, groovy-eclipse-compiler 3.9.1, 
> groovy-eclipse-batch 5.0.5-01, JDK 21, macOS 26
>            Reporter: Tommi Ratamaa
>            Assignee: Eric Milles
>            Priority: Major
>
> MissingMethodException runtime exception from dynamic invocation when calling 
> super method with parameter type bound by interface and base class generic 
> type.
> Simplified code example (in real case classes and interfaces are not inner 
> but that does not matter) that used to work with Groovy 3, Groovy 4 and also 
> works as Java code with JDK21 or with @CompileStatic, but fails to bind to 
> super method on runtime when compiled with Groovy 5 using dynamic invocation:
> {code:java}
> class GroovyBug {
>     static interface Dao<T> {
>         T save(T entity)
>     }
>     static abstract class AbstractDao<T> implements Dao<T> {
>         T save(T entity) {
>             return entity
>         }
>     }
>     static interface EntityDao extends Dao<Entity> {
>         @Override
>         Entity save(Entity entity)
>     }
>     static class EntityDaoImpl extends AbstractDao<Entity> implements 
> EntityDao {
>         @Override
>         //@CompileStatic // would fix it
>         Entity save(Entity entity) {
>             //return super.save((Object) entity) // would fix it
>             return super.save(entity)
>         }
>     }
>     static class Entity {
>         long id
>     }
>     static void main(String[] args) {
>         new EntityDaoImpl().save(new Entity())
>         /* Exception from save ^ call:
>             groovy.lang.MissingMethodException: No signature of method: save 
> for class: GroovyBug$EntityDaoImpl is applicable for argument types: 
> (GroovyBug$Entity) values: [GroovyBug$Entity@1c05a54d]
>              Possible solutions: save(GroovyBug2$Entity), 
> save(java.lang.Object), save(java.lang.Object), wait(), any(), wait(long)
>              at GroovyBug$EntityDaoImpl.methodMissing(GroovyBug.groovy)
>              at GroovyBug$EntityDaoImpl.save(GroovyBug.groovy:24)
>              at GroovyBug.main(GroovyBug.groovy:33)
>          */
>     }
> }{code}
> The generic type information provided for the implemented interface/base 
> class is erased and argument would need to be casted to Object (as 
> save(java.lang.Object) in possible solutions suggests).
> Also removing the overridden declaration from interface would solve it.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to