Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-8609

Fails to compile when upper bound has generics

    XMLWordPrintableJSON

Details

    Description

      Fails to compile the following code:

      @groovy.transform.CompileStatic
      public class A<T extends List<E>, E extends Map<String, Integer>> {
          E getFirstRecord(T recordList) {
              return recordList.get(0);
          }
      }
      

      Error messages:

      BUG! exception in phase 'instruction selection' in source unit 'ConsoleScript0' Expected earlier checking to detect generics parameter arity mismatch
      Expected: java.util.Map<K,V> 
      Supplied: java.util.Map<E> 
      
      	at org.codehaus.groovy.ast.tools.GenericsUtils.extractPlaceholders(GenericsUtils.java:169)
      
      	at org.codehaus.groovy.ast.tools.GenericsUtils.extractPlaceholders(GenericsUtils.java:142)
      
      	at org.codehaus.groovy.ast.GenericsType$GenericsTypeMatcher.compareGenericsWithBound(GenericsType.java:375)
      
      	at org.codehaus.groovy.ast.GenericsType$GenericsTypeMatcher.checkGenerics(GenericsType.java:307)
      
      	at org.codehaus.groovy.ast.GenericsType$GenericsTypeMatcher.matches(GenericsType.java:276)
      
      	at org.codehaus.groovy.ast.GenericsType.isCompatibleWith(GenericsType.java:198)
      
      	at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkTypeGenerics(StaticTypeCheckingVisitor.java:1174)
      
      	at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.checkReturnType(StaticTypeCheckingVisitor.java:2076)
      
      	at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor$1.returnStatementAdded(StaticTypeCheckingVisitor.java:309)
      
      	at org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitReturnStatement(StaticTypeCheckingVisitor.java:2026)
      
      	at org.codehaus.groovy.ast.stmt.ReturnStatement.visit(ReturnStatement.java:49)
      
      

      Attachments

        Issue Links

          Activity

            People

              daniel_sun Daniel Sun
              daniel_sun Daniel Sun
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: