Home | History | Annotate | Download | only in b

Lines Matching refs:ExprNode

139 class ExprNode : public Node {
141 typedef unique_ptr<ExprNode> Ptr;
150 ExprNode() : typeof_(UNKNOWN), struct_type_(NULL), flags_(1 << READ) {}
151 void copy_type(const ExprNode& other) {
162 typedef vector<ExprNode::Ptr> ExprNodeList;
164 class IdentExprNode : public ExprNode {
222 class BitopExprNode : public ExprNode {
226 ExprNode::Ptr expr_;
235 class AssignExprNode : public ExprNode {
240 ExprNode::Ptr lhs_;
241 ExprNode::Ptr rhs_;
242 AssignExprNode(IdentExprNode::Ptr id, ExprNode::Ptr rhs)
245 lhs_->flags_[ExprNode::IS_LHS] = true;
247 AssignExprNode(ExprNode::Ptr lhs, ExprNode::Ptr rhs)
250 lhs_->flags_[ExprNode::IS_LHS] = true;
254 class PacketExprNode : public ExprNode {
262 class StringExprNode : public ExprNode {
273 class IntegerExprNode : public ExprNode {
292 class BinopExprNode : public ExprNode {
296 ExprNode::Ptr lhs_;
298 ExprNode::Ptr rhs_;
299 BinopExprNode(ExprNode::Ptr lhs, int op, ExprNode::Ptr rhs)
304 class UnopExprNode : public ExprNode {
308 ExprNode::Ptr expr_;
310 UnopExprNode(int op, ExprNode::Ptr expr) : expr_(move(expr)), op_(op) {}
313 class GotoExprNode : public ExprNode {
323 class ReturnExprNode : public ExprNode {
327 ExprNode::Ptr expr_;
328 ReturnExprNode(ExprNode::Ptr expr)
343 class MethodCallExprNode : public ExprNode {
356 class TableIndexExprNode : public ExprNode {
362 ExprNode::Ptr index_;
365 TableIndexExprNode(IdentExprNode::Ptr id, ExprNode::Ptr index)
374 ExprNode::Ptr expr_;
375 explicit ExprStmtNode(ExprNode::Ptr expr) : expr_(move(expr)) {}
382 ExprNode::Ptr cond_;
386 IfStmtNode(ExprNode::Ptr cond, StmtNode::Ptr true_block)
389 IfStmtNode(ExprNode::Ptr cond, StmtNode::Ptr true_block, StmtNode::Ptr false_block)
413 ExprNode::Ptr cond_;
415 SwitchStmtNode(ExprNode::Ptr cond, BlockStmtNode::Ptr block)