Lines Matching refs:AstNode

117 class AstNode;  variable
132 class AstNode: public ZoneObject { in AST_NODE_LIST()
172 AstNode(int position, NodeType type) in AST_NODE_LIST()
177 class Statement : public AstNode {
183 Statement(int position, NodeType type) : AstNode(position, type) {} in Statement()
185 static const uint8_t kNextBitFieldIndex = AstNode::kNextBitFieldIndex;
189 class Expression : public AstNode {
247 Expression(int pos, NodeType type) : AstNode(pos, type) {} in Expression()
249 static const uint8_t kNextBitFieldIndex = AstNode::kNextBitFieldIndex;
384 class Declaration : public AstNode {
392 : AstNode(pos, type), proxy_(proxy), next_(nullptr) {} in Declaration()
2741 void Visit(AstNode* node) { impl()->Visit(node); } in Visit()
2771 case AstNode::k##NodeType: \
2781 void VisitNoStackOverflowCheck(AstNode* node) { \
2785 void Visit(AstNode* node) { \
2819 void Visit(AstNode* node) { GENERATE_AST_VISITOR_SWITCH() } \
3184 Assignment(AstNode::kAssignment, op, target, value, pos); in NewAssignment()
3349 bool AstNode::Is##type() const { \
3351 if (mine == AstNode::kRewritableExpression && \
3352 AstNode::k##type != AstNode::kRewritableExpression) \
3356 return mine == AstNode::k##type; \
3358 type* AstNode::As##type() { \
3360 AstNode* result = this; \
3361 if (mine == AstNode::kRewritableExpression && \
3362 AstNode::k##type != AstNode::kRewritableExpression) { \
3367 return mine == AstNode::k##type ? reinterpret_cast<type*>(result) \
3370 const type* AstNode::As##type() const { \
3372 const AstNode* result = this; \
3373 if (mine == AstNode::kRewritableExpression && \
3374 AstNode::k##type != AstNode::kRewritableExpression) { \
3379 return mine == AstNode::k##type ? reinterpret_cast<const type*>(result) \