Daniel Sun created GROOVY-8611:
----------------------------------

             Summary: Refine the generics presentation
                 Key: GROOVY-8611
                 URL: https://issues.apache.org/jira/browse/GROOVY-8611
             Project: Groovy
          Issue Type: Improvement
            Reporter: Daniel Sun


Nested generics should be shown as well, see the TODO in the following code:

{code:java}
class Groovy8609Bug extends CompilableTestSupport {
    void testUpperBoundWithGenericsThroughWrongType2() {
        def errMsg = shouldFail '''
        @groovy.transform.CompileStatic
        public class A<T extends List<E>, E extends Map<String, Integer>> {
            E getFirstRecord(T recordList) {
                return recordList.get(0)
            }
            
            static void main(args) {
                def list = new ArrayList<HashMap<String, Long>>()
                def record = new HashMap<String, Long>()
                list.add(record)
                def a = new A<ArrayList<HashMap<String, Integer>>, 
HashMap<String, Integer>>()
                assert record.is(a.getFirstRecord(list))
            }
        }
        '''

        // TODO we should print generics details, e.g. [Static type checking] - 
Cannot call A <ArrayList, HashMap<String, Integer>>#getFirstRecord(T) with 
arguments [java.util.ArrayList <HashMap<String, Long>>]
        assert errMsg.contains('[Static type checking] - Cannot call A 
<ArrayList, HashMap>#getFirstRecord(T) with arguments [java.util.ArrayList 
<HashMap>]')
    }
}
{code}




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to