Lines Matching refs:Expression
33 Expression::Type Expression::integralType(std::string integer) { in integralType()
56 Expression::Type Expression::coalesceTypes(Type lhs, Type rhs) { in coalesceTypes()
84 struct ParenthesizedExpression : Expression {
85 ParenthesizedExpression(Expression* inner) in ParenthesizedExpression()
99 Expression* mInner;
104 struct AtomExpression : Expression {
135 struct UnaryExpression : Expression {
136 UnaryExpression(std::string op, Expression* rhs) in UnaryExpression()
152 Expression* mRhs;
157 struct BinaryExpression : Expression {
158 BinaryExpression(Expression *lhs, std::string op, Expression* rhs) in BinaryExpression()
174 Expression* mLhs;
176 Expression* mRhs;
181 struct TernaryExpression : Expression {
182 TernaryExpression(Expression *lhs, Expression *mhs, Expression* rhs) in TernaryExpression()
199 Expression* mLhs;
200 Expression* mMhs;
201 Expression* mRhs;
206 struct ArraySubscript : Expression {
207 ArraySubscript(std::string id, Expression* subscript) in ArraySubscript()
223 Expression* mSubscript;
228 struct FunctionCall : Expression {
229 FunctionCall(std::string id, std::vector<Expression *> *args) in FunctionCall()
262 std::vector<Expression *> *mArgs;
268 Expression *Expression::parenthesize(Expression *inner) { in parenthesize()
273 Expression *Expression::atom(Type type, const std::string &value, bool isId) { in atom()
278 Expression *Expression::unary(std::string op, Expression *rhs) { in unary()
283 Expression *Expression::binary(Expression *lhs, std::string op, Expression *rhs) { in binary()
288 Expression *Expression::ternary(Expression *lhs, Expression *mhs, Expression *rhs) { in ternary()
293 Expression *Expression::arraySubscript(std::string id, Expression *subscript) { in arraySubscript()
298 Expression *Expression::functionCall(std::string id, std::vector<Expression *> *args) { in functionCall()