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

Unified Diff: sdk/lib/_internal/compiler/implementation/ssa/nodes.dart

Issue 15697004: Add a proper HInvokeConstructorBody instead of mis-using HInvokeDynamicMethod. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: sdk/lib/_internal/compiler/implementation/ssa/nodes.dart
===================================================================
--- sdk/lib/_internal/compiler/implementation/ssa/nodes.dart (revision 23010)
+++ sdk/lib/_internal/compiler/implementation/ssa/nodes.dart (working copy)
@@ -37,6 +37,7 @@
R visitInvokeDynamicSetter(HInvokeDynamicSetter node);
R visitInvokeStatic(HInvokeStatic node);
R visitInvokeSuper(HInvokeSuper node);
+ R visitInvokeConstructorBody(HInvokeConstructorBody node);
R visitIs(HIs node);
R visitLazyStatic(HLazyStatic node);
R visitLess(HLess node);
@@ -303,6 +304,8 @@
visitInterceptor(HInterceptor node) => visitInstruction(node);
visitInvokeClosure(HInvokeClosure node)
=> visitInvokeDynamic(node);
+ visitInvokeConstructorBody(HInvokeConstructorBody node)
+ => visitInvokeStatic(node);
visitInvokeDynamicMethod(HInvokeDynamicMethod node)
=> visitInvokeDynamic(node);
visitInvokeDynamicGetter(HInvokeDynamicGetter node)
@@ -310,7 +313,7 @@
visitInvokeDynamicSetter(HInvokeDynamicSetter node)
=> visitInvokeDynamicField(node);
visitInvokeStatic(HInvokeStatic node) => visitInvoke(node);
- visitInvokeSuper(HInvokeSuper node) => visitInvoke(node);
+ visitInvokeSuper(HInvokeSuper node) => visitInvokeStatic(node);
visitJump(HJump node) => visitControlFlow(node);
visitLazyStatic(HLazyStatic node) => visitInstruction(node);
visitLess(HLess node) => visitRelational(node);
@@ -1408,6 +1411,14 @@
}
}
+class HInvokeConstructorBody extends HInvokeStatic {
+ HInvokeConstructorBody(element, inputs)
+ : super(element, inputs, HType.UNKNOWN);
+
+ String toString() => 'invoke constructor body: ${element.name}';
+ accept(HVisitor visitor) => visitor.visitInvokeConstructorBody(this);
+}
+
abstract class HFieldAccess extends HInstruction {
final Element element;

Powered by Google App Engine
This is Rietveld 408576698