generics/A.java: # 0| [CompilationUnit] A #-----| -1: (Imports) # 3| 1: [ImportType] import HashMap # 4| 2: [ImportType] import Map # 6| 1: [Class,GenericType,ParameterizedType] A #-----| -2: (Generic Parameters) # 6| 0: [TypeVariable] T # 7| 2: [Class] B # 10| 2: [Class] C # 11| 3: [FieldDeclaration] A f, ...; # 11| -1: [TypeAccess] A # 11| 0: [TypeAccess] String # 12| 4: [FieldDeclaration] A.B<> b, ...; # 12| -1: [TypeAccess] A.B<> # 12| -1: [TypeAccess] A # 12| 0: [TypeAccess] String # 13| 5: [FieldDeclaration] Map m, ...; # 13| -1: [TypeAccess] Map # 13| 0: [TypeAccess] String # 13| 1: [TypeAccess] Object # 13| 0: [ClassInstanceExpr] new HashMap(...) # 13| -3: [TypeAccess] HashMap # 13| 0: [TypeAccess] String # 13| 1: [TypeAccess] Object # 16| 3: [Class,GenericType,ParameterizedType] D #-----| -2: (Generic Parameters) # 16| 0: [TypeVariable] V # 16| 0: [TypeAccess] Number # 17| 3: [FieldDeclaration] D d1, ...; # 17| -1: [TypeAccess] D # 17| 0: [WildcardTypeAccess] ? ... # 18| 4: [FieldDeclaration] D d2, ...; # 18| -1: [TypeAccess] D # 18| 0: [WildcardTypeAccess] ? ... # 18| 0: [TypeAccess] Object # 19| 5: [FieldDeclaration] D d3, ...; # 19| -1: [TypeAccess] D # 19| 0: [WildcardTypeAccess] ? ... # 19| 0: [TypeAccess] Float # 20| 6: [FieldDeclaration] D d4, ...; # 20| -1: [TypeAccess] D # 20| 0: [WildcardTypeAccess] ? ... # 20| 1: [TypeAccess] Double # 21| 7: [BlockStmt] { ... } # 21| 0: [ExprStmt] ; # 21| 0: [MethodAccess] asList(...) # 21| -1: [TypeAccess] Arrays