Chromium Code Reviews| Index: runtime/vm/ast.h |
| =================================================================== |
| --- runtime/vm/ast.h (revision 11659) |
| +++ runtime/vm/ast.h (working copy) |
| @@ -32,6 +32,7 @@ |
| V(ForNode, "for") \ |
| V(JumpNode, "jump") \ |
| V(ArgumentListNode, "args") \ |
| + V(ArgumentDefinitionTestNode, "defined") \ |
| V(ArrayNode, "array") \ |
| V(ClosureNode, "closure") \ |
| V(InstanceCallNode, "instance call") \ |
| @@ -244,6 +245,41 @@ |
| }; |
| +class ArgumentDefinitionTestNode : public AstNode { |
| + public: |
| + explicit ArgumentDefinitionTestNode(intptr_t token_pos, |
|
srdjan
2012/08/30 22:15:59
remove explicit
regis
2012/08/30 22:45:31
Oops. Done.
|
| + intptr_t formal_parameter_index, |
| + const String& formal_parameter_name, |
| + LocalVariable* saved_arguments_descriptor) |
| + : AstNode(token_pos), |
| + formal_parameter_index_(formal_parameter_index), |
| + formal_parameter_name_(formal_parameter_name), |
| + saved_arguments_descriptor_(*saved_arguments_descriptor) { |
| + ASSERT(formal_parameter_index_ >= 0); |
| + ASSERT(formal_parameter_name_.IsZoneHandle()); |
| + ASSERT(formal_parameter_name_.IsSymbol()); |
| + ASSERT(saved_arguments_descriptor != NULL); |
| + } |
| + |
| + virtual void VisitChildren(AstNodeVisitor* visitor) const { } |
| + |
| + intptr_t formal_parameter_index() const { return formal_parameter_index_; } |
| + const String& formal_parameter_name() const { return formal_parameter_name_; } |
| + const LocalVariable& saved_arguments_descriptor() const { |
| + return saved_arguments_descriptor_; |
| + } |
| + |
| + DECLARE_COMMON_NODE_FUNCTIONS(ArgumentDefinitionTestNode); |
| + |
| + private: |
| + const intptr_t formal_parameter_index_; |
| + const String& formal_parameter_name_; |
| + const LocalVariable& saved_arguments_descriptor_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(ArgumentDefinitionTestNode); |
| +}; |
| + |
| + |
| class ArrayNode : public AstNode { |
| public: |
| ArrayNode(intptr_t token_pos, const AbstractType& type) |