Lines Matching refs:Expression
32 Expression::Type Expression::integralType(const std::string& integer) { in integralType()
54 Expression::Type Expression::coalesceTypes(Type lhs, Type rhs) { in coalesceTypes()
82 struct ParenthesizedExpression : Expression {
83 ParenthesizedExpression(Expression* inner) in ParenthesizedExpression()
97 Expression* mInner;
102 struct AtomExpression : Expression {
133 struct UnaryExpression : Expression {
134 UnaryExpression(std::string op, Expression* rhs) in UnaryExpression()
150 Expression* mRhs;
155 struct BinaryExpression : Expression {
156 BinaryExpression(Expression *lhs, std::string op, Expression* rhs) in BinaryExpression()
172 Expression* mLhs;
174 Expression* mRhs;
179 struct TernaryExpression : Expression {
180 TernaryExpression(Expression *lhs, Expression *mhs, Expression* rhs) in TernaryExpression()
197 Expression* mLhs;
198 Expression* mMhs;
199 Expression* mRhs;
204 struct ArraySubscript : Expression {
205 ArraySubscript(std::string id, Expression* subscript) in ArraySubscript()
221 Expression* mSubscript;
226 struct FunctionCall : Expression {
227 FunctionCall(std::string id, std::vector<Expression *> *args) in FunctionCall()
260 std::vector<Expression *> *mArgs;
265 Expression *Expression::parenthesize(Expression *inner) { in parenthesize()
269 Expression *Expression::atom(Type type, const std::string &value, bool isId) { in atom()
273 Expression *Expression::unary(std::string op, Expression *rhs) { in unary()
277 Expression *Expression::binary(Expression *lhs, std::string op, Expression *rhs) { in binary()
281 Expression *Expression::ternary(Expression *lhs, Expression *mhs, Expression *rhs) { in ternary()
285 Expression *Expression::arraySubscript(std::string id, Expression *subscript) { in arraySubscript()
289 Expression *Expression::functionCall(std::string id, std::vector<Expression *> *args) { in functionCall()