Chromium Code Reviews| Index: runtime/vm/ast.h |
| diff --git a/runtime/vm/ast.h b/runtime/vm/ast.h |
| index 4848a3f69f11c03f00f50bb51f22ec30e10e6173..eef162a00e9efd38fe249caee00e50ca63f38bbd 100644 |
| --- a/runtime/vm/ast.h |
| +++ b/runtime/vm/ast.h |
| @@ -1421,11 +1421,13 @@ class InstanceCallNode : public AstNode { |
| InstanceCallNode(intptr_t token_pos, |
| AstNode* receiver, |
| const String& function_name, |
| - ArgumentListNode* arguments) |
| + ArgumentListNode* arguments, |
| + bool is_conditional = false) |
| : AstNode(token_pos), |
| receiver_(receiver), |
| function_name_(function_name), |
| - arguments_(arguments) { |
| + arguments_(arguments), |
| + is_conditional_(is_conditional) { |
| ASSERT(receiver_ != NULL); |
| ASSERT(function_name_.IsNotTemporaryScopedHandle()); |
| ASSERT(function_name_.IsSymbol()); |
| @@ -1436,6 +1438,11 @@ class InstanceCallNode : public AstNode { |
| const String& function_name() const { return function_name_; } |
| ArgumentListNode* arguments() const { return arguments_; } |
| + bool is_conditional() const { return is_conditional_; } |
| + void set_is_conditional(bool value) { |
| + is_conditional_ = value; |
| + } |
| + |
| virtual void VisitChildren(AstNodeVisitor* visitor) const { |
| receiver()->Visit(visitor); |
| arguments()->Visit(visitor); |
| @@ -1447,6 +1454,7 @@ class InstanceCallNode : public AstNode { |
| AstNode* receiver_; |
| const String& function_name_; |
| ArgumentListNode* arguments_; |
| + bool is_conditional_; |
| DISALLOW_IMPLICIT_CONSTRUCTORS(InstanceCallNode); |
| }; |
| @@ -1459,7 +1467,21 @@ class InstanceGetterNode : public AstNode { |
| const String& field_name) |
| : AstNode(token_pos), |
| receiver_(receiver), |
| - field_name_(field_name) { |
| + field_name_(field_name), |
| + is_conditional_(false) { |
| + ASSERT(receiver_ != NULL); |
| + ASSERT(field_name_.IsNotTemporaryScopedHandle()); |
| + ASSERT(field_name_.IsSymbol()); |
| + } |
| + |
| + InstanceGetterNode(intptr_t token_pos, |
| + AstNode* receiver, |
| + const String& field_name, |
| + bool is_conditional) |
|
srdjan
2015/06/17 18:15:36
use default value as in InstanceCall (consistency)
hausner
2015/06/17 22:24:57
Done.
|
| + : AstNode(token_pos), |
| + receiver_(receiver), |
| + field_name_(field_name), |
| + is_conditional_(is_conditional) { |
| ASSERT(receiver_ != NULL); |
| ASSERT(field_name_.IsNotTemporaryScopedHandle()); |
| ASSERT(field_name_.IsSymbol()); |
| @@ -1468,6 +1490,11 @@ class InstanceGetterNode : public AstNode { |
| AstNode* receiver() const { return receiver_; } |
| const String& field_name() const { return field_name_; } |
| + bool is_conditional() const { return is_conditional_; } |
| + void set_is_conditional(bool value) { |
| + is_conditional_ = value; |
| + } |
| + |
| virtual void VisitChildren(AstNodeVisitor* visitor) const { |
| receiver()->Visit(visitor); |
| } |
| @@ -1482,6 +1509,7 @@ class InstanceGetterNode : public AstNode { |
| private: |
| AstNode* receiver_; |
| const String& field_name_; |
| + bool is_conditional_; |
| DISALLOW_IMPLICIT_CONSTRUCTORS(InstanceGetterNode); |
| }; |
| @@ -1496,7 +1524,24 @@ class InstanceSetterNode : public AstNode { |
| : AstNode(token_pos), |
| receiver_(receiver), |
| field_name_(field_name), |
| - value_(value) { |
| + value_(value), |
| + is_conditional_(false) { |
| + ASSERT(receiver_ != NULL); |
| + ASSERT(value_ != NULL); |
| + ASSERT(field_name_.IsZoneHandle()); |
| + ASSERT(field_name_.IsSymbol()); |
| + } |
| + |
| + InstanceSetterNode(intptr_t token_pos, |
| + AstNode* receiver, |
| + const String& field_name, |
| + AstNode* value, |
| + bool is_conditional) |
| + : AstNode(token_pos), |
| + receiver_(receiver), |
| + field_name_(field_name), |
| + value_(value), |
| + is_conditional_(is_conditional) { |
| ASSERT(receiver_ != NULL); |
| ASSERT(value_ != NULL); |
| ASSERT(field_name_.IsZoneHandle()); |
| @@ -1507,6 +1552,11 @@ class InstanceSetterNode : public AstNode { |
| const String& field_name() const { return field_name_; } |
| AstNode* value() const { return value_; } |
| + bool is_conditional() const { return is_conditional_; } |
| + void set_is_conditional(bool value) { |
| + is_conditional_ = value; |
| + } |
| + |
| virtual void VisitChildren(AstNodeVisitor* visitor) const { |
| receiver()->Visit(visitor); |
| value()->Visit(visitor); |
| @@ -1518,6 +1568,7 @@ class InstanceSetterNode : public AstNode { |
| AstNode* receiver_; |
| const String& field_name_; |
| AstNode* value_; |
| + bool is_conditional_; |
| DISALLOW_IMPLICIT_CONSTRUCTORS(InstanceSetterNode); |
| }; |