| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 interface HVisitor<R> { | 5 interface 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 2066 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2077 bool dataEquals(HInstruction other) => true; | 2077 bool dataEquals(HInstruction other) => true; |
| 2078 } | 2078 } |
| 2079 | 2079 |
| 2080 class HReturn extends HControlFlow { | 2080 class HReturn extends HControlFlow { |
| 2081 HReturn(value) : super(<HInstruction>[value]); | 2081 HReturn(value) : super(<HInstruction>[value]); |
| 2082 toString() => 'return'; | 2082 toString() => 'return'; |
| 2083 accept(HVisitor visitor) => visitor.visitReturn(this); | 2083 accept(HVisitor visitor) => visitor.visitReturn(this); |
| 2084 } | 2084 } |
| 2085 | 2085 |
| 2086 class HThrow extends HControlFlow { | 2086 class HThrow extends HControlFlow { |
| 2087 HThrow(value) : super(<HInstruction>[value]); | 2087 final bool isRethrow; |
| 2088 HThrow(value, [this.isRethrow = false]) : super(<HInstruction>[value]); |
| 2088 toString() => 'throw'; | 2089 toString() => 'throw'; |
| 2089 accept(HVisitor visitor) => visitor.visitThrow(this); | 2090 accept(HVisitor visitor) => visitor.visitThrow(this); |
| 2090 } | 2091 } |
| 2091 | 2092 |
| 2092 class HStatic extends HInstruction { | 2093 class HStatic extends HInstruction { |
| 2093 Element element; | 2094 Element element; |
| 2094 HStatic(this.element) : super(<HInstruction>[]) { | 2095 HStatic(this.element) : super(<HInstruction>[]) { |
| 2095 tryGenerateAtUseSite(); | 2096 tryGenerateAtUseSite(); |
| 2096 } | 2097 } |
| 2097 void prepareGvn() { | 2098 void prepareGvn() { |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2253 | 2254 |
| 2254 HInstruction get expression() => inputs[0]; | 2255 HInstruction get expression() => inputs[0]; |
| 2255 | 2256 |
| 2256 HType computeType() => HType.BOOLEAN; | 2257 HType computeType() => HType.BOOLEAN; |
| 2257 bool hasExpectedType() => true; | 2258 bool hasExpectedType() => true; |
| 2258 | 2259 |
| 2259 accept(HVisitor visitor) => visitor.visitIs(this); | 2260 accept(HVisitor visitor) => visitor.visitIs(this); |
| 2260 | 2261 |
| 2261 toString() => "$expression is $typeExpression"; | 2262 toString() => "$expression is $typeExpression"; |
| 2262 } | 2263 } |
| OLD | NEW |