Chromium Code Reviews| 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); |