Index: runtime/vm/kernel_binary_flowgraph.cc |
diff --git a/runtime/vm/kernel_binary_flowgraph.cc b/runtime/vm/kernel_binary_flowgraph.cc |
index 33c85883c08dca768e4f896411db799a63c561f3..499b4b09e3f8ed617d2a7c0d63a9d2e98b3131da 100644 |
--- a/runtime/vm/kernel_binary_flowgraph.cc |
+++ b/runtime/vm/kernel_binary_flowgraph.cc |
@@ -4578,9 +4578,10 @@ Fragment StreamingFlowGraphBuilder::StrictCompare(Token::Kind kind, |
return flow_graph_builder_->StrictCompare(kind, number_check); |
} |
-Fragment StreamingFlowGraphBuilder::AllocateObject(const dart::Class& klass, |
+Fragment StreamingFlowGraphBuilder::AllocateObject(TokenPosition position, |
+ const dart::Class& klass, |
intptr_t argument_count) { |
- return flow_graph_builder_->AllocateObject(klass, argument_count); |
+ return flow_graph_builder_->AllocateObject(position, klass, argument_count); |
} |
Fragment StreamingFlowGraphBuilder::InstanceCall(TokenPosition position, |
@@ -5219,9 +5220,9 @@ Fragment StreamingFlowGraphBuilder::BuildStaticInvocation(bool is_const, |
PeekArgumentsInstantiatedType(klass); |
instructions += TranslateInstantiatedTypeArguments(type_arguments); |
instructions += PushArgument(); |
- instructions += AllocateObject(klass, 1); |
+ instructions += AllocateObject(position, klass, 1); |
} else { |
- instructions += AllocateObject(klass, 0); |
+ instructions += AllocateObject(position, klass, 0); |
} |
instance_variable = MakeTemporary(); |
@@ -5339,9 +5340,9 @@ Fragment StreamingFlowGraphBuilder::BuildConstructorInvocation( |
} |
instructions += PushArgument(); |
- instructions += AllocateObject(klass, 1); |
+ instructions += AllocateObject(position, klass, 1); |
} else { |
- instructions += AllocateObject(klass, 0); |
+ instructions += AllocateObject(position, klass, 0); |
} |
LocalVariable* variable = MakeTemporary(); |
@@ -5918,7 +5919,7 @@ Fragment StreamingFlowGraphBuilder::BuildAssertStatement() { |
// Create instance of _AssertionError |
Fragment otherwise_fragment(otherwise); |
- otherwise_fragment += AllocateObject(klass, 0); |
+ otherwise_fragment += AllocateObject(TokenPosition::kNoSource, klass, 0); |
LocalVariable* instance = MakeTemporary(); |
// Call _AssertionError._create constructor. |
@@ -6238,7 +6239,7 @@ Fragment StreamingFlowGraphBuilder::BuildSwitchStatement() { |
Heap::kOld); |
// Create instance of _FallThroughError |
- body_fragment += AllocateObject(klass, 0); |
+ body_fragment += AllocateObject(TokenPosition::kNoSource, klass, 0); |
Vyacheslav Egorov (Google)
2017/06/16 11:09:18
I guess this needs some informative position event
jensj
2017/06/16 11:39:07
I'll give parser.cc an extra look to see if I can
jensj
2017/06/16 11:55:33
Actually, this gives us the excellent exception
``
|
LocalVariable* instance = MakeTemporary(); |
// Call _FallThroughError._create constructor. |