Index: runtime/vm/ast.cc |
=================================================================== |
--- runtime/vm/ast.cc (revision 23243) |
+++ runtime/vm/ast.cc (working copy) |
@@ -73,6 +73,31 @@ |
} |
+LetNode::LetNode(intptr_t token_pos, intptr_t num_temps) |
+ : AstNode(token_pos), |
+ vars_(num_temps), |
+ temp_expressions_(num_temps), |
+ body_(NULL) { |
+ for (intptr_t i = 0; i < num_temps; ++i) { |
+ char name[64]; |
+ OS::SNPrint(name, 64, ":lt%"Pd"_%"Pd, token_pos, i); |
hausner
2013/05/28 17:00:47
64 -> sizeof name
For our own debugging purposes,
Florian Schneider
2013/05/30 09:29:31
Done.
|
+ vars_.Add( |
+ new LocalVariable(token_pos, |
+ String::ZoneHandle(Symbols::New(name)), |
+ Type::ZoneHandle(Type::DynamicType()))); |
+ temp_expressions_.Add(NULL); |
+ } |
+} |
+ |
+ |
+void LetNode::VisitChildren(AstNodeVisitor* visitor) const { |
+ for (intptr_t i = 0; i < num_temps(); ++i) { |
+ temp_expressions_[i]->Visit(visitor); |
+ } |
+ body_->Visit(visitor); |
+} |
+ |
+ |
void ArrayNode::VisitChildren(AstNodeVisitor* visitor) const { |
for (intptr_t i = 0; i < this->length(); i++) { |
ElementAt(i)->Visit(visitor); |