|
| 1 | +generics.kt: |
| 2 | +# 0| [CompilationUnit] generics |
| 3 | +# 0| 1: [Class] GenericsKt |
| 4 | +# 3| 1: [ExtensionMethod] f0 |
| 5 | +#-----| 2: (Generic Parameters) |
| 6 | +# 3| 0: [TypeVariable] S |
| 7 | +#-----| 4: (Parameters) |
| 8 | +# 3| 0: [Parameter] <this> |
| 9 | +# 3| 1: [Parameter] s |
| 10 | +# 3| 5: [BlockStmt] { ... } |
| 11 | +# 4| 0: [ReturnStmt] return ... |
| 12 | +# 4| 0: [VarAccess] s |
| 13 | +# 7| 2: [ExtensionMethod] f1 |
| 14 | +#-----| 2: (Generic Parameters) |
| 15 | +# 7| 0: [TypeVariable] S |
| 16 | +#-----| 4: (Parameters) |
| 17 | +# 7| 0: [Parameter] <this> |
| 18 | +# 7| 1: [Parameter] s |
| 19 | +# 7| 5: [BlockStmt] { ... } |
| 20 | +# 8| 0: [ReturnStmt] return ... |
| 21 | +# 8| 0: [NullLiteral] null |
| 22 | +# 24| 3: [Method] m |
| 23 | +# 24| 5: [BlockStmt] { ... } |
| 24 | +# 25| 0: [LocalVariableDeclStmt] var ...; |
| 25 | +# 25| 1: [LocalVariableDeclExpr] c1 |
| 26 | +# 25| 0: [ClassInstanceExpr] new C1<Integer,Integer>(...) |
| 27 | +# 25| -3: [TypeAccess] C1<Integer,Integer> |
| 28 | +# 25| 0: [TypeAccess] Integer |
| 29 | +# 25| 1: [TypeAccess] Integer |
| 30 | +# 25| 0: [IntegerLiteral] 1 |
| 31 | +# 26| 1: [ExprStmt] <Expr>; |
| 32 | +# 26| 0: [MethodAccess] f1(...) |
| 33 | +# 26| -1: [VarAccess] c1 |
| 34 | +# 26| 0: [IntegerLiteral] 2 |
| 35 | +# 27| 2: [LocalVariableDeclStmt] var ...; |
| 36 | +# 27| 1: [LocalVariableDeclExpr] x1 |
| 37 | +# 27| 0: [MethodAccess] f2(...) |
| 38 | +# 27| -2: [TypeAccess] String |
| 39 | +# 27| -1: [VarAccess] c1 |
| 40 | +# 27| 0: [StringLiteral] |
| 41 | +# 28| 3: [LocalVariableDeclStmt] var ...; |
| 42 | +# 28| 1: [LocalVariableDeclExpr] c2 |
| 43 | +# 28| 0: [ClassInstanceExpr] new C1<String,Integer>(...) |
| 44 | +# 28| -3: [TypeAccess] C1<String,Integer> |
| 45 | +# 28| 0: [TypeAccess] String |
| 46 | +# 28| 1: [TypeAccess] Integer |
| 47 | +# 28| 0: [StringLiteral] |
| 48 | +# 29| 4: [ExprStmt] <Expr>; |
| 49 | +# 29| 0: [MethodAccess] f1(...) |
| 50 | +# 29| -1: [VarAccess] c2 |
| 51 | +# 29| 0: [StringLiteral] a |
| 52 | +# 30| 5: [LocalVariableDeclStmt] var ...; |
| 53 | +# 30| 1: [LocalVariableDeclExpr] x2 |
| 54 | +# 30| 0: [MethodAccess] f2(...) |
| 55 | +# 30| -2: [TypeAccess] Integer |
| 56 | +# 30| -1: [VarAccess] c2 |
| 57 | +# 30| 0: [IntegerLiteral] 3 |
| 58 | +# 31| 6: [LocalVariableDeclStmt] var ...; |
| 59 | +# 31| 1: [LocalVariableDeclExpr] c3 |
| 60 | +# 31| 0: [ClassInstanceExpr] new C2(...) |
| 61 | +# 31| -3: [TypeAccess] C2 |
| 62 | +# 32| 7: [ExprStmt] <Expr>; |
| 63 | +# 32| 0: [MethodAccess] f4(...) |
| 64 | +# 32| -2: [TypeAccess] Integer |
| 65 | +# 32| -1: [VarAccess] c3 |
| 66 | +# 32| 0: [IntegerLiteral] 5 |
| 67 | +# 33| 8: [LocalVariableDeclStmt] var ...; |
| 68 | +# 33| 1: [LocalVariableDeclExpr] c4 |
| 69 | +# 33| 0: [ClassInstanceExpr] new C0<Integer>(...) |
| 70 | +# 33| -3: [TypeAccess] C0<Integer> |
| 71 | +# 33| 0: [TypeAccess] Integer |
| 72 | +# 11| 2: [Class,GenericType,ParameterizedType] C0 |
| 73 | +#-----| -2: (Generic Parameters) |
| 74 | +# 11| 0: [TypeVariable] V |
| 75 | +# 11| 2: [Constructor] C0 |
| 76 | +# 11| 5: [BlockStmt] { ... } |
| 77 | +# 11| 0: [SuperConstructorInvocationStmt] super(...) |
| 78 | +# 11| 1: [ExprStmt] <Expr>; |
| 79 | +# 11| 0: [MethodAccess] <obinit>(...) |
| 80 | +# 13| 9: [Class,GenericType,ParameterizedType] C1 |
| 81 | +#-----| -2: (Generic Parameters) |
| 82 | +# 13| 0: [TypeVariable] T |
| 83 | +# 13| 1: [TypeVariable] W |
| 84 | +# 13| 1: [Constructor] C1 |
| 85 | +#-----| 4: (Parameters) |
| 86 | +# 13| 0: [Parameter] t |
| 87 | +# 13| 5: [BlockStmt] { ... } |
| 88 | +# 13| 0: [SuperConstructorInvocationStmt] super(...) |
| 89 | +# 13| 1: [ExprStmt] <Expr>; |
| 90 | +# 13| 0: [MethodAccess] <obinit>(...) |
| 91 | +# 13| 3: [Method] getT |
| 92 | +# 13| 5: [BlockStmt] { ... } |
| 93 | +# 13| 0: [ReturnStmt] return ... |
| 94 | +# 13| 0: [VarAccess] this.t |
| 95 | +# 13| -1: [ThisAccess] this |
| 96 | +# 13| 3: [FieldDeclaration] T t; |
| 97 | +# 13| -1: [TypeAccess] T |
| 98 | +# 14| 5: [Method] f1 |
| 99 | +#-----| 4: (Parameters) |
| 100 | +# 14| 0: [Parameter] t |
| 101 | +# 14| 5: [BlockStmt] { ... } |
| 102 | +# 15| 6: [Method] f2 |
| 103 | +#-----| 2: (Generic Parameters) |
| 104 | +# 15| 0: [TypeVariable] U |
| 105 | +#-----| 4: (Parameters) |
| 106 | +# 15| 0: [Parameter] u |
| 107 | +# 15| 5: [BlockStmt] { ... } |
| 108 | +# 16| 0: [ReturnStmt] return ... |
| 109 | +# 16| 0: [ClassInstanceExpr] new C1<U,U>(...) |
| 110 | +# 16| -3: [TypeAccess] C1<U,U> |
| 111 | +# 16| 0: [TypeAccess] U |
| 112 | +# 16| 1: [TypeAccess] U |
| 113 | +# 16| 0: [VarAccess] u |
| 114 | +# 20| 15: [Class] C2 |
| 115 | +# 20| 1: [Constructor] C2 |
| 116 | +# 20| 5: [BlockStmt] { ... } |
| 117 | +# 20| 0: [SuperConstructorInvocationStmt] super(...) |
| 118 | +# 20| 1: [ExprStmt] <Expr>; |
| 119 | +# 20| 0: [MethodAccess] <obinit>(...) |
| 120 | +# 21| 3: [Method] f4 |
| 121 | +#-----| 2: (Generic Parameters) |
| 122 | +# 21| 0: [TypeVariable] P |
| 123 | +#-----| 4: (Parameters) |
| 124 | +# 21| 0: [Parameter] p |
| 125 | +# 21| 5: [BlockStmt] { ... } |
| 126 | +# 36| 16: [Class,GenericType,ParameterizedType] BoundedTest |
| 127 | +#-----| -2: (Generic Parameters) |
| 128 | +# 36| 0: [TypeVariable] T |
| 129 | +# 36| 1: [TypeVariable] S |
| 130 | +# 36| 1: [Constructor] BoundedTest |
| 131 | +# 36| 5: [BlockStmt] { ... } |
| 132 | +# 36| 0: [SuperConstructorInvocationStmt] super(...) |
| 133 | +# 36| 1: [ExprStmt] <Expr>; |
| 134 | +# 36| 0: [MethodAccess] <obinit>(...) |
| 135 | +# 38| 3: [Method] m |
| 136 | +#-----| 4: (Parameters) |
| 137 | +# 38| 0: [Parameter] s |
| 138 | +# 38| 1: [Parameter] t |
| 139 | +# 38| 5: [BlockStmt] { ... } |
| 140 | +# 42| 17: [Class,GenericType,ParameterizedType] Outer |
| 141 | +#-----| -2: (Generic Parameters) |
| 142 | +# 42| 0: [TypeVariable] T1 |
| 143 | +# 42| 1: [TypeVariable] T2 |
| 144 | +# 42| 1: [Constructor] Outer |
| 145 | +# 42| 5: [BlockStmt] { ... } |
| 146 | +# 42| 0: [SuperConstructorInvocationStmt] super(...) |
| 147 | +# 42| 1: [ExprStmt] <Expr>; |
| 148 | +# 42| 0: [MethodAccess] <obinit>(...) |
| 149 | +# 43| 3: [Class,GenericType,ParameterizedType] Inner1 |
| 150 | +#-----| -2: (Generic Parameters) |
| 151 | +# 43| 0: [TypeVariable] T3 |
| 152 | +# 43| 1: [TypeVariable] T4 |
| 153 | +# 43| 2: [Constructor] Inner1 |
| 154 | +# 43| 5: [BlockStmt] { ... } |
| 155 | +# 43| 0: [SuperConstructorInvocationStmt] super(...) |
| 156 | +# 43| 1: [ExprStmt] <Expr>; |
| 157 | +# 43| 0: [MethodAccess] <obinit>(...) |
| 158 | +# 44| 3: [Method] fn1 |
| 159 | +#-----| 4: (Parameters) |
| 160 | +# 44| 0: [Parameter] t1 |
| 161 | +# 44| 1: [Parameter] t2 |
| 162 | +# 44| 2: [Parameter] t3 |
| 163 | +# 44| 3: [Parameter] t4 |
| 164 | +# 44| 5: [BlockStmt] { ... } |
| 165 | +# 45| 0: [LocalVariableDeclStmt] var ...; |
| 166 | +# 45| 1: [LocalVariableDeclExpr] c |
| 167 | +# 45| 0: [ClassInstanceExpr] new Inner1<Integer,String,T1,T2>(...) |
| 168 | +# 45| -3: [TypeAccess] Inner1<Integer,String,T1,T2> |
| 169 | +# 45| 0: [TypeAccess] Integer |
| 170 | +# 45| 1: [TypeAccess] String |
| 171 | +# 45| -2: [ThisAccess] Outer.this |
| 172 | +# 45| 0: [TypeAccess] Outer |
| 173 | +# 49| 4: [Class,GenericType,ParameterizedType] Nested1 |
| 174 | +#-----| -2: (Generic Parameters) |
| 175 | +# 49| 0: [TypeVariable] T3 |
| 176 | +# 49| 1: [TypeVariable] T4 |
| 177 | +# 49| 1: [Constructor] Nested1 |
| 178 | +# 49| 5: [BlockStmt] { ... } |
| 179 | +# 49| 0: [SuperConstructorInvocationStmt] super(...) |
| 180 | +# 49| 1: [ExprStmt] <Expr>; |
| 181 | +# 49| 0: [MethodAccess] <obinit>(...) |
| 182 | +# 50| 3: [Method] fn2 |
| 183 | +#-----| 4: (Parameters) |
| 184 | +# 50| 0: [Parameter] t3 |
| 185 | +# 50| 1: [Parameter] t4 |
| 186 | +# 50| 5: [BlockStmt] { ... } |
| 187 | +# 51| 0: [LocalVariableDeclStmt] var ...; |
| 188 | +# 51| 1: [LocalVariableDeclExpr] c |
| 189 | +# 51| 0: [ClassInstanceExpr] new Nested1<Integer,String>(...) |
| 190 | +# 51| -3: [TypeAccess] Nested1<Integer,String> |
| 191 | +# 51| 0: [TypeAccess] Integer |
| 192 | +# 51| 1: [TypeAccess] String |
| 193 | +# 56| 21: [Class,GenericType,ParameterizedType] Class1 |
| 194 | +#-----| -2: (Generic Parameters) |
| 195 | +# 56| 0: [TypeVariable] T1 |
| 196 | +# 56| 1: [Constructor] Class1 |
| 197 | +# 56| 5: [BlockStmt] { ... } |
| 198 | +# 56| 0: [SuperConstructorInvocationStmt] super(...) |
| 199 | +# 56| 1: [ExprStmt] <Expr>; |
| 200 | +# 56| 0: [MethodAccess] <obinit>(...) |
| 201 | +# 57| 3: [Method] fn1 |
| 202 | +#-----| 2: (Generic Parameters) |
| 203 | +# 57| 0: [TypeVariable] T2 |
| 204 | +#-----| 4: (Parameters) |
| 205 | +# 57| 0: [Parameter] t |
| 206 | +# 57| 5: [BlockStmt] { ... } |
| 207 | +# 58| 0: [LocalTypeDeclStmt] class ... |
| 208 | +# 58| 0: [Class,GenericType,LocalClass,ParameterizedType] Local |
| 209 | +#-----| -2: (Generic Parameters) |
| 210 | +# 58| 0: [TypeVariable] T3 |
| 211 | +# 58| 1: [Constructor] Local |
| 212 | +# 58| 5: [BlockStmt] { ... } |
| 213 | +# 58| 0: [SuperConstructorInvocationStmt] super(...) |
| 214 | +# 58| 1: [ExprStmt] <Expr>; |
| 215 | +# 58| 0: [MethodAccess] <obinit>(...) |
| 216 | +# 59| 3: [Method] fn2 |
| 217 | +#-----| 2: (Generic Parameters) |
| 218 | +# 59| 0: [TypeVariable] T4 |
| 219 | +#-----| 4: (Parameters) |
| 220 | +# 59| 0: [Parameter] t2 |
| 221 | +# 59| 1: [Parameter] t4 |
| 222 | +# 59| 5: [BlockStmt] { ... } |
| 223 | +# 61| 1: [ExprStmt] <Expr>; |
| 224 | +# 61| 0: [MethodAccess] fn2(...) |
| 225 | +# 61| -2: [TypeAccess] String |
| 226 | +# 61| -1: [ClassInstanceExpr] new Local<Integer,T2,T1>(...) |
| 227 | +# 61| -3: [TypeAccess] Local<Integer,T2,T1> |
| 228 | +# 61| 0: [TypeAccess] Integer |
| 229 | +# 61| 0: [VarAccess] t |
| 230 | +# 61| 1: [StringLiteral] |
0 commit comments