| 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 abstract class HVisitor<R> { | 5 abstract class HVisitor<R> { |
| 6 R visitAdd(HAdd node); | 6 R visitAdd(HAdd node); |
| 7 R visitBailoutTarget(HBailoutTarget node); | 7 R visitBailoutTarget(HBailoutTarget node); |
| 8 R visitBitAnd(HBitAnd node); | 8 R visitBitAnd(HBitAnd node); |
| 9 R visitBitNot(HBitNot node); | 9 R visitBitNot(HBitNot node); |
| 10 R visitBitOr(HBitOr node); | 10 R visitBitOr(HBitOr node); |
| (...skipping 2548 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2559 } | 2559 } |
| 2560 | 2560 |
| 2561 class HIs extends HInstruction { | 2561 class HIs extends HInstruction { |
| 2562 final DartType typeExpression; | 2562 final DartType typeExpression; |
| 2563 final bool nullOk; | 2563 final bool nullOk; |
| 2564 | 2564 |
| 2565 HIs.withTypeInfoCall(this.typeExpression, HInstruction expression, | 2565 HIs.withTypeInfoCall(this.typeExpression, HInstruction expression, |
| 2566 HInstruction typeInfo, [this.nullOk = false]) | 2566 HInstruction typeInfo, [this.nullOk = false]) |
| 2567 : super(<HInstruction>[expression, typeInfo]); | 2567 : super(<HInstruction>[expression, typeInfo]); |
| 2568 | 2568 |
| 2569 HIs(this.typeExpression, HInstruction expression, [this.nullOk = false]) | 2569 HIs(this.typeExpression, HInstruction expression, {this.nullOk: false}) |
| 2570 : super(<HInstruction>[expression]); | 2570 : super(<HInstruction>[expression]); |
| 2571 | 2571 |
| 2572 HInstruction get expression => inputs[0]; | 2572 HInstruction get expression => inputs[0]; |
| 2573 | 2573 |
| 2574 HInstruction get typeInfoCall => inputs[1]; | 2574 HInstruction get typeInfoCall => inputs[1]; |
| 2575 | 2575 |
| 2576 bool hasTypeInfo() => inputs.length == 2; | 2576 bool hasTypeInfo() => inputs.length == 2; |
| 2577 | 2577 |
| 2578 HType get guaranteedType => HType.BOOLEAN; | 2578 HType get guaranteedType => HType.BOOLEAN; |
| 2579 | 2579 |
| (...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2974 HBasicBlock get start => expression.start; | 2974 HBasicBlock get start => expression.start; |
| 2975 HBasicBlock get end { | 2975 HBasicBlock get end { |
| 2976 // We don't create a switch block if there are no cases. | 2976 // We don't create a switch block if there are no cases. |
| 2977 assert(!statements.isEmpty()); | 2977 assert(!statements.isEmpty()); |
| 2978 return statements.last().end; | 2978 return statements.last().end; |
| 2979 } | 2979 } |
| 2980 | 2980 |
| 2981 bool accept(HStatementInformationVisitor visitor) => | 2981 bool accept(HStatementInformationVisitor visitor) => |
| 2982 visitor.visitSwitchInfo(this); | 2982 visitor.visitSwitchInfo(this); |
| 2983 } | 2983 } |
| OLD | NEW |