OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 part of ssa; | 5 part of ssa; |
6 | 6 |
7 abstract class HVisitor<R> { | 7 abstract class HVisitor<R> { |
8 R visitAdd(HAdd node); | 8 R visitAdd(HAdd node); |
9 R visitBitAnd(HBitAnd node); | 9 R visitBitAnd(HBitAnd node); |
10 R visitBitNot(HBitNot node); | 10 R visitBitNot(HBitNot node); |
(...skipping 1406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1417 /// contains the type(s) used in the (Dart) `New` expression(s). The | 1417 /// contains the type(s) used in the (Dart) `New` expression(s). The |
1418 /// [instructionType] of this node is not enough, because we also need the | 1418 /// [instructionType] of this node is not enough, because we also need the |
1419 /// type arguments. See also [SsaFromAstMixin.currentInlinedInstantiations]. | 1419 /// type arguments. See also [SsaFromAstMixin.currentInlinedInstantiations]. |
1420 List<DartType> instantiatedTypes; | 1420 List<DartType> instantiatedTypes; |
1421 | 1421 |
1422 /** The first input must be the target. */ | 1422 /** The first input must be the target. */ |
1423 HInvokeStatic(this.element, inputs, TypeMask type, | 1423 HInvokeStatic(this.element, inputs, TypeMask type, |
1424 {this.targetCanThrow: true}) | 1424 {this.targetCanThrow: true}) |
1425 : super(inputs, type); | 1425 : super(inputs, type); |
1426 | 1426 |
1427 toString() => 'invoke static: $element'; | 1427 toString() => 'invoke static: ${element.name}'; |
1428 accept(HVisitor visitor) => visitor.visitInvokeStatic(this); | 1428 accept(HVisitor visitor) => visitor.visitInvokeStatic(this); |
1429 int typeCode() => HInstruction.INVOKE_STATIC_TYPECODE; | 1429 int typeCode() => HInstruction.INVOKE_STATIC_TYPECODE; |
1430 } | 1430 } |
1431 | 1431 |
1432 class HInvokeSuper extends HInvokeStatic { | 1432 class HInvokeSuper extends HInvokeStatic { |
1433 /** The class where the call to super is being done. */ | 1433 /** The class where the call to super is being done. */ |
1434 final ClassElement caller; | 1434 final ClassElement caller; |
1435 final bool isSetter; | 1435 final bool isSetter; |
1436 final Selector selector; | 1436 final Selector selector; |
1437 | 1437 |
(...skipping 1469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2907 class HDynamicType extends HRuntimeType { | 2907 class HDynamicType extends HRuntimeType { |
2908 HDynamicType(DynamicType dartType, TypeMask instructionType) | 2908 HDynamicType(DynamicType dartType, TypeMask instructionType) |
2909 : super(const <HInstruction>[], dartType, instructionType); | 2909 : super(const <HInstruction>[], dartType, instructionType); |
2910 | 2910 |
2911 accept(HVisitor visitor) => visitor.visitDynamicType(this); | 2911 accept(HVisitor visitor) => visitor.visitDynamicType(this); |
2912 | 2912 |
2913 int typeCode() => HInstruction.DYNAMIC_TYPE_TYPECODE; | 2913 int typeCode() => HInstruction.DYNAMIC_TYPE_TYPECODE; |
2914 | 2914 |
2915 bool typeEquals(HInstruction other) => other is HDynamicType; | 2915 bool typeEquals(HInstruction other) => other is HDynamicType; |
2916 } | 2916 } |
OLD | NEW |