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

Side by Side Diff: dart/lib/compiler/implementation/ssa/nodes.dart

Issue 10854163: Implement super.foo = expression. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 8 years, 4 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) 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 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 1231 matching lines...) Expand 10 before | Expand all | Expand 10 after
1242 if (input == target) return HType.UNKNOWN; 1242 if (input == target) return HType.UNKNOWN;
1243 return computeDesiredTypeForNonTargetInput(input); 1243 return computeDesiredTypeForNonTargetInput(input);
1244 } 1244 }
1245 1245
1246 HType computeDesiredTypeForNonTargetInput(HInstruction input) { 1246 HType computeDesiredTypeForNonTargetInput(HInstruction input) {
1247 return HType.UNKNOWN; 1247 return HType.UNKNOWN;
1248 } 1248 }
1249 } 1249 }
1250 1250
1251 class HInvokeSuper extends HInvokeStatic { 1251 class HInvokeSuper extends HInvokeStatic {
1252 HInvokeSuper(inputs) : super(inputs); 1252 final bool isSetter;
1253 HInvokeSuper(inputs, [this.isSetter = false]) : super(inputs);
1253 toString() => 'invoke super: ${element.name}'; 1254 toString() => 'invoke super: ${element.name}';
1254 accept(HVisitor visitor) => visitor.visitInvokeSuper(this); 1255 accept(HVisitor visitor) => visitor.visitInvokeSuper(this);
1255 } 1256 }
1256 1257
1257 class HInvokeInterceptor extends HInvokeStatic { 1258 class HInvokeInterceptor extends HInvokeStatic {
1258 final Selector selector; 1259 final Selector selector;
1259 final SourceString name; 1260 final SourceString name;
1260 final bool getter; 1261 final bool getter;
1261 final bool setter; 1262 final bool setter;
1262 1263
(...skipping 1455 matching lines...) Expand 10 before | Expand all | Expand 10 after
2718 HBasicBlock get start() => expression.start; 2719 HBasicBlock get start() => expression.start;
2719 HBasicBlock get end() { 2720 HBasicBlock get end() {
2720 // We don't create a switch block if there are no cases. 2721 // We don't create a switch block if there are no cases.
2721 assert(!statements.isEmpty()); 2722 assert(!statements.isEmpty());
2722 return statements.last().end; 2723 return statements.last().end;
2723 } 2724 }
2724 2725
2725 bool accept(HStatementInformationVisitor visitor) => 2726 bool accept(HStatementInformationVisitor visitor) =>
2726 visitor.visitSwitchInfo(this); 2727 visitor.visitSwitchInfo(this);
2727 } 2728 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698