Lines Matching defs:Expression

42 struct Expression
44 virtual ~Expression();
48 struct LiteralExpression : public Expression
58 struct StringLiteralExpression : public Expression
67 struct Variable : public Expression
83 struct FieldVariable : public Expression
85 Expression* object;
89 FieldVariable(Expression* object, const string& name);
126 void Add(Expression* expression);
131 Expression* expression;
133 ExpressionStatement(Expression* expression);
138 struct Assignment : public Expression
141 Expression* rvalue;
144 Assignment(Variable* lvalue, Expression* rvalue);
145 Assignment(Variable* lvalue, Expression* rvalue, Type* cast);
150 struct MethodCall : public Expression
152 Expression* obj;
155 vector<Expression*> arguments;
160 MethodCall(Expression* obj, const string& name);
162 MethodCall(Expression* obj, const string& name, int argc, ...);
171 struct Comparison : public Expression
173 Expression* lvalue;
175 Expression* rvalue;
177 Comparison(Expression* lvalue, const string& op, Expression* rvalue);
182 struct NewExpression : public Expression
185 vector<Expression*> arguments;
196 struct NewArrayExpression : public Expression
199 Expression* size;
201 NewArrayExpression(Type* type, Expression* size);
206 struct Ternary : public Expression
208 Expression* condition;
209 Expression* ifpart;
210 Expression* elsepart;
213 Ternary(Expression* condition, Expression* ifpart, Expression* elsepart);
218 struct Cast : public Expression
221 Expression* expression;
224 Cast(Type* type, Expression* expression);
233 Expression* rvalue;
236 VariableDeclaration(Variable* lvalue, Expression* rvalue, Type* cast = NULL);
243 Expression* expression;
254 Expression* expression;
256 ReturnStatement(Expression* expression);
302 Expression* expression;
305 SwitchStatement(Expression* expression);