Home | History | Annotate | Download | only in torque

Lines Matching defs:Expression

129 struct Expression : AstNode {
130 Expression(Kind kind, SourcePosition pos) : AstNode(kind, pos) {}
131 DEFINE_AST_NODE_INNER_BOILERPLATE(Expression)
134 struct LocationExpression : Expression {
135 LocationExpression(Kind kind, SourcePosition pos) : Expression(kind, pos) {}
221 struct CallExpression : Expression {
225 std::vector<Expression*> arguments,
227 : Expression(kKind, pos),
234 std::vector<Expression*> arguments;
238 struct StructExpression : Expression {
241 std::vector<Expression*> expressions)
242 : Expression(kKind, pos),
246 std::vector<Expression*> expressions;
249 struct LogicalOrExpression : Expression {
251 LogicalOrExpression(SourcePosition pos, Expression* left, Expression* right)
252 : Expression(kKind, pos), left(left), right(right) {}
253 Expression* left;
254 Expression* right;
257 struct LogicalAndExpression : Expression {
259 LogicalAndExpression(SourcePosition pos, Expression* left, Expression* right)
260 : Expression(kKind, pos), left(left), right(right) {}
261 Expression* left;
262 Expression* right;
265 struct ConditionalExpression : Expression {
267 ConditionalExpression(SourcePosition pos, Expression* condition,
268 Expression* if_true, Expression* if_false)
269 : Expression(kKind, pos),
273 Expression* condition;
274 Expression* if_true;
275 Expression* if_false;
278 struct StringLiteralExpression : Expression {
281 : Expression(kKind, pos), literal(std::move(literal)) {}
285 struct NumberLiteralExpression : Expression {
288 : Expression(kKind, pos), number(std::move(name)) {}
294 ElementAccessExpression(SourcePosition pos, Expression* array,
295 Expression* index)
297 Expression* array;
298 Expression* index;
303 FieldAccessExpression(SourcePosition pos, Expression* object,
308 Expression* object;
312 struct AssignmentExpression : Expression {
315 base::Optional<std::string> op, Expression* value)
316 : Expression(kKind, pos),
322 Expression* value;
327 struct IncrementDecrementExpression : Expression {
331 : Expression(kKind, pos), location(location), op(op), postfix(postfix) {}
337 // This expression is only used in the desugaring of typeswitch, and it allows
340 // The result type is the type of {expression} minus the provided type.
341 struct AssumeTypeImpossibleExpression : Expression {
345 Expression* expression)
346 : Expression(kKind, pos),
348 expression(expression) {}
350 Expression* expression;
392 ExpressionStatement(SourcePosition pos, Expression* expression)
393 : Statement(kKind, pos), expression(expression) {}
394 Expression* expression;
399 IfStatement(SourcePosition pos, bool is_constexpr, Expression* condition,
406 Expression* condition;
414 WhileStatement(SourcePosition pos, Expression* condition, Statement* body)
416 Expression* condition;
422 ReturnStatement(SourcePosition pos, base::Optional<Expression*> value)
424 base::Optional<Expression*> value;
440 AssertStatement(SourcePosition pos, bool debug_only, Expression* expression,
444 expression(expression),
447 Expression* expression;
463 base::Optional<Expression*> initializer = base::nullopt)
472 base::Optional<Expression*> initializer;
488 const std::vector<Expression*>& arguments)
493 std::vector<Expression*> arguments;
499 base::Optional<Expression*> test,
500 base::Optional<Expression*> action, Statement* body)
510 base::Optional<Expression*> test;
511 base::Optional<Expression*> action;
516 base::Optional<Expression*> begin;
517 base::Optional<Expression*> end;
522 ForOfLoopStatement(SourcePosition pos, Statement* decl, Expression* iterable,
534 Expression* iterable;
535 base::Optional<Expression*> begin;
536 base::Optional<Expression*> end;
701 Expression* expression)
705 expression(expression) {}
708 Expression* expression;