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: [MethodCall] asList(...) # 21| -1: [TypeAccess] Arrays