OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 /// Entity model for elements derived from Kernel IR. | 5 /// Entity model for elements derived from Kernel IR. |
6 | 6 |
7 import '../elements/entities.dart'; | 7 import '../elements/entities.dart'; |
8 import '../elements/names.dart'; | 8 import '../elements/names.dart'; |
9 import '../elements/types.dart'; | 9 import '../elements/types.dart'; |
10 import 'elements.dart'; | 10 import 'elements.dart'; |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 KField(int memberIndex, KLibrary library, KClass enclosingClass, Name name, | 221 KField(int memberIndex, KLibrary library, KClass enclosingClass, Name name, |
222 {bool isStatic, this.isAssignable, this.isConst}) | 222 {bool isStatic, this.isAssignable, this.isConst}) |
223 : super(memberIndex, library, enclosingClass, name, isStatic: isStatic); | 223 : super(memberIndex, library, enclosingClass, name, isStatic: isStatic); |
224 | 224 |
225 @override | 225 @override |
226 bool get isField => true; | 226 bool get isField => true; |
227 | 227 |
228 String get _kind => 'field'; | 228 String get _kind => 'field'; |
229 } | 229 } |
230 | 230 |
231 class KTypeVariable implements TypeVariableEntity { | 231 class KTypeVariable implements TypeVariableEntity, IndexedTypeVariable { |
232 final Entity typeDeclaration; | 232 final Entity typeDeclaration; |
233 final String name; | 233 final String name; |
234 final int index; | 234 final int index; |
235 | 235 |
236 KTypeVariable(this.typeDeclaration, this.name, this.index); | 236 KTypeVariable(this.typeDeclaration, this.name, this.index); |
237 | 237 |
238 String toString() => | 238 String toString() => |
239 '${kElementPrefix}type_variable(${typeDeclaration.name}.$name)'; | 239 '${kElementPrefix}type_variable(${typeDeclaration.name}.$name)'; |
240 } | 240 } |
241 | 241 |
242 class KLocalFunction implements Local { | 242 class KLocalFunction implements Local { |
243 final String name; | 243 final String name; |
244 final MemberEntity memberContext; | 244 final MemberEntity memberContext; |
245 final Entity executableContext; | 245 final Entity executableContext; |
246 final FunctionType functionType; | 246 final FunctionType functionType; |
247 | 247 |
248 KLocalFunction( | 248 KLocalFunction( |
249 this.name, this.memberContext, this.executableContext, this.functionType); | 249 this.name, this.memberContext, this.executableContext, this.functionType); |
250 | 250 |
251 String toString() => | 251 String toString() => |
252 '${kElementPrefix}local_function(${memberContext.name}.${name ?? '<anonymo
us>'})'; | 252 '${kElementPrefix}local_function(${memberContext.name}.${name ?? '<anonymo
us>'})'; |
253 } | 253 } |
OLD | NEW |