Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(34)

Side by Side Diff: dart/frog/leg/ssa/nodes.dart

Issue 9474040: Improve exception handling: (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698