Lines Matching refs:Expression
118 class Expression; variable
284 class Expression : public AstNode {
357 Expression(int pos, NodeType type) in Expression() function
475 class DoExpression final : public Expression {
488 static const uint8_t kNextBitFieldIndex = Expression::kNextBitFieldIndex;
494 : Expression(pos, kDoExpression), in DoExpression()
501 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
604 void Initialize(Expression* cond, Statement* body) { in Initialize()
609 Expression* cond() const { return cond_; } in cond()
610 void set_cond(Expression* e) { cond_ = e; } in set_cond()
625 Expression* cond_;
631 void Initialize(Expression* cond, Statement* body) { in Initialize()
636 Expression* cond() const { return cond_; } in cond()
637 void set_cond(Expression* e) { cond_ = e; } in set_cond()
652 Expression* cond_;
659 Expression* cond, in Initialize()
669 Expression* cond() const { return cond_; } in cond()
673 void set_cond(Expression* e) { cond_ = e; } in set_cond()
693 Expression* cond_;
720 void Initialize(Expression* each, Expression* subject, Statement* body) { in Initialize()
726 Expression* enumerable() const { in enumerable()
730 Expression* each() const { return each_; } in each()
731 Expression* subject() const { return subject_; } in subject()
733 void set_each(Expression* e) { each_ = e; } in set_each()
734 void set_subject(Expression* e) { subject_ = e; } in set_subject()
774 Expression* each_;
775 Expression* subject_;
790 Expression* assign_iterator, Expression* next_result, in Initialize()
791 Expression* result_done, Expression* assign_each) { in Initialize()
805 Expression* assign_iterator() const { in assign_iterator()
810 Expression* next_result() const { in next_result()
815 Expression* result_done() const { in result_done()
820 Expression* assign_each() const { in assign_each()
824 void set_assign_iterator(Expression* e) { assign_iterator_ = e; } in set_assign_iterator()
825 void set_next_result(Expression* e) { next_result_ = e; } in set_next_result()
826 void set_result_done(Expression* e) { result_done_ = e; } in set_result_done()
827 void set_assign_each(Expression* e) { assign_each_ = e; } in set_assign_each()
849 Expression* assign_iterator_;
850 Expression* next_result_;
851 Expression* result_done_;
852 Expression* assign_each_;
858 void set_expression(Expression* e) { expression_ = e; } in set_expression()
859 Expression* expression() const { return expression_; } in expression()
865 ExpressionStatement(Expression* expression, int pos) in ExpressionStatement()
868 Expression* expression_;
911 Expression* expression() const { return expression_; } in expression()
913 void set_expression(Expression* e) { expression_ = e; } in set_expression()
918 ReturnStatement(Expression* expression, int pos) in ReturnStatement()
921 Expression* expression_;
928 Expression* expression() const { return expression_; } in expression()
929 void set_expression(Expression* e) { expression_ = e; } in set_expression()
941 WithStatement(Scope* scope, Expression* expression, Statement* statement, in WithStatement()
958 Expression* expression_;
963 class CaseClause final : public Expression {
966 Expression* label() const { in label()
970 void set_label(Expression* e) { label_ = e; } in set_label()
994 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
995 CaseClause(Expression* label, ZoneList<Statement*>* statements, int pos);
998 Expression* label_;
1008 void Initialize(Expression* tag, ZoneList<CaseClause*>* cases) { in Initialize()
1013 Expression* tag() const { return tag_; } in tag()
1016 void set_tag(Expression* t) { tag_ = t; } in set_tag()
1026 Expression* tag_;
1041 Expression* condition() const { return condition_; } in condition()
1045 void set_condition(Expression* e) { condition_ = e; } in set_condition()
1063 IfStatement(Expression* condition, Statement* then_statement, in IfStatement()
1079 Expression* condition_;
1234 class Literal final : public Expression {
1270 : Expression(position, kLiteral), value_(value) {} in Literal()
1272 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
1282 class MaterializedLiteral : public Expression {
1299 : public BitField<bool, Expression::kNextBitFieldIndex, 1> {};
1303 : Expression(pos, type), depth_(0), literal_index_(literal_index) { in MaterializedLiteral()
1330 Handle<Object> GetBoilerplateValue(Expression* expression, Isolate* isolate);
1338 Expression* key() const { return key_; } in key()
1339 Expression* value() const { return value_; } in value()
1340 void set_key(Expression* e) { key_ = e; } in set_key()
1341 void set_value(Expression* e) { value_ = e; } in set_value()
1358 LiteralProperty(Expression* key, Expression* value, bool is_computed_name) in LiteralProperty()
1361 Expression* key_;
1362 Expression* value_;
1397 ObjectLiteralProperty(Expression* key, Expression* value, Kind kind,
1399 ObjectLiteralProperty(AstValueFactory* ast_value_factory, Expression* key,
1400 Expression* value, bool is_computed_name);
1575 ZoneList<Expression*>* values() const { return values_; } in values()
1599 ZoneList<Expression*>::iterator FirstSpread() const { in FirstSpread()
1603 ZoneList<Expression*>::iterator EndValue() const { return values_->end(); } in EndValue()
1624 ArrayLiteral(ZoneList<Expression*>* values, int first_spread_index, in ArrayLiteral()
1636 ZoneList<Expression*>* values_;
1640 class VariableProxy final : public Expression {
1711 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
1714 class IsThisField : public BitField<bool, Expression::kNextBitFieldIndex, 1> {
1742 class Property final : public Expression {
1746 Expression* obj() const { return obj_; } in obj()
1747 Expression* key() const { return key_; } in key()
1749 void set_obj(Expression* e) { obj_ = e; } in set_obj()
1750 void set_key(Expression* e) { key_ = e; } in set_key()
1813 Property(Expression* obj, Expression* key, int pos) in Property()
1814 : Expression(pos, kProperty), obj_(obj), key_(key) { in Property()
1820 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
1824 : public BitField<bool, Expression::kNextBitFieldIndex, 1> {};
1833 Expression* obj_;
1834 Expression* key_;
1839 class Call final : public Expression {
1841 Expression* expression() const { return expression_; } in expression()
1842 ZoneList<Expression*>* arguments() const { return arguments_; } in arguments()
1844 void set_expression(Expression* e) { expression_ = e; } in set_expression()
1929 Call(Expression* expression, ZoneList<Expression*>* arguments, int pos, in Call()
1931 : Expression(pos, kCall), in Call()
1943 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
1947 : public BitField<bool, Expression::kNextBitFieldIndex, 1> {};
1952 Expression* expression_;
1953 ZoneList<Expression*>* arguments_;
1959 class CallNew final : public Expression {
1961 Expression* expression() const { return expression_; } in expression()
1962 ZoneList<Expression*>* arguments() const { return arguments_; } in arguments()
1964 void set_expression(Expression* e) { expression_ = e; } in set_expression()
2004 CallNew(Expression* expression, ZoneList<Expression*>* arguments, int pos) in CallNew()
2005 : Expression(pos, kCallNew), in CallNew()
2011 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
2015 Expression* expression_;
2016 ZoneList<Expression*>* arguments_;
2021 : public BitField<bool, Expression::kNextBitFieldIndex, 1> {};
2029 class CallRuntime final : public Expression {
2031 ZoneList<Expression*>* arguments() const { return arguments_; } in arguments()
2058 ZoneList<Expression*>* arguments, int pos) in CallRuntime()
2059 : Expression(pos, kCallRuntime), in CallRuntime()
2062 CallRuntime(int context_index, ZoneList<Expression*>* arguments, int pos) in CallRuntime()
2063 : Expression(pos, kCallRuntime), in CallRuntime()
2068 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
2073 ZoneList<Expression*>* arguments_;
2077 class UnaryOperation final : public Expression {
2080 Expression* expression() const { return expression_; } in expression()
2081 void set_expression(Expression* e) { expression_ = e; } in set_expression()
2094 UnaryOperation(Token::Value op, Expression* expression, int pos) in UnaryOperation()
2095 : Expression(pos, kUnaryOperation), expression_(expression) { in UnaryOperation()
2100 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
2103 Expression* expression_;
2106 : public BitField<Token::Value, Expression::kNextBitFieldIndex, 7> {};
2110 class BinaryOperation final : public Expression {
2113 Expression* left() const { return left_; } in left()
2114 void set_left(Expression* e) { left_ = e; } in set_left()
2115 Expression* right() const { return right_; } in right()
2116 void set_right(Expression* e) { right_ = e; } in set_right()
2164 BinaryOperation(Token::Value op, Expression* left, Expression* right, int pos) in BinaryOperation()
2165 : Expression(pos, kBinaryOperation), in BinaryOperation()
2174 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
2181 Expression* left_;
2182 Expression* right_;
2187 : public BitField<Token::Value, Expression::kNextBitFieldIndex, 7> {};
2191 class CountOperation final : public Expression {
2201 Expression* expression() const { return expression_; } in expression()
2202 void set_expression(Expression* e) { expression_ = e; } in set_expression()
2241 CountOperation(Token::Value op, bool is_prefix, Expression* expr, int pos) in CountOperation()
2242 : Expression(pos, kCountOperation), type_(NULL), expression_(expr) { in CountOperation()
2248 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
2252 : public BitField<bool, Expression::kNextBitFieldIndex, 1> {};
2261 Expression* expression_;
2266 class CompareOperation final : public Expression {
2269 Expression* left() const { return left_; } in left()
2270 Expression* right() const { return right_; } in right()
2272 void set_left(Expression* e) { left_ = e; } in set_left()
2273 void set_right(Expression* e) { right_ = e; } in set_right()
2294 bool IsLiteralCompareTypeof(Expression** expr, Handle<String>* check);
2295 bool IsLiteralCompareUndefined(Expression** expr);
2296 bool IsLiteralCompareNull(Expression** expr);
2301 CompareOperation(Token::Value op, Expression* left, Expression* right, in CompareOperation()
2303 : Expression(pos, kCompareOperation), in CompareOperation()
2311 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
2314 Expression* left_;
2315 Expression* right_;
2320 : public BitField<Token::Value, Expression::kNextBitFieldIndex, 7> {};
2324 class Spread final : public Expression {
2326 Expression* expression() const { return expression_; } in expression()
2327 void set_expression(Expression* e) { expression_ = e; } in set_expression()
2336 Spread(Expression* expression, int pos, int expr_pos) in Spread()
2337 : Expression(pos, kSpread), in Spread()
2341 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
2345 Expression* expression_;
2349 class Conditional final : public Expression {
2351 Expression* condition() const { return condition_; } in condition()
2352 Expression* then_expression() const { return then_expression_; } in then_expression()
2353 Expression* else_expression() const { return else_expression_; } in else_expression()
2355 void set_condition(Expression* e) { condition_ = e; } in set_condition()
2356 void set_then_expression(Expression* e) { then_expression_ = e; } in set_then_expression()
2357 void set_else_expression(Expression* e) { else_expression_ = e; } in set_else_expression()
2371 Conditional(Expression* condition, Expression* then_expression, in Conditional()
2372 Expression* else_expression, int position) in Conditional()
2373 : Expression(position, kConditional), in Conditional()
2378 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
2381 Expression* condition_;
2382 Expression* then_expression_;
2383 Expression* else_expression_;
2387 class Assignment final : public Expression {
2394 Expression* target() const { return target_; } in target()
2395 Expression* value() const { return value_; } in value()
2397 void set_target(Expression* e) { target_ = e; } in set_target()
2398 void set_value(Expression* e) { value_ = e; } in set_value()
2439 Assignment(Token::Value op, Expression* target, Expression* value, int pos);
2441 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
2445 : public BitField<bool, Expression::kNextBitFieldIndex, 1> {};
2453 Expression* target_;
2454 Expression* value_;
2475 class RewritableExpression final : public Expression {
2477 Expression* expression() const { return expr_; } in expression()
2480 void Rewrite(Expression* new_expression) { in Rewrite()
2493 explicit RewritableExpression(Expression* expression) in RewritableExpression()
2494 : Expression(expression->position(), kRewritableExpression), in RewritableExpression()
2502 Expression* expr_;
2505 : public BitField<bool, Expression::kNextBitFieldIndex, 1> {};
2511 class Yield final : public Expression {
2515 Expression* generator_object() const { return generator_object_; } in generator_object()
2516 Expression* expression() const { return expression_; } in expression()
2525 void set_generator_object(Expression* e) { generator_object_ = e; } in set_generator_object()
2526 void set_expression(Expression* e) { expression_ = e; } in set_expression()
2532 Yield(Expression* generator_object, Expression* expression, int pos, in Yield()
2534 : Expression(pos, kYield), in Yield()
2542 Expression* generator_object_;
2543 Expression* expression_;
2546 : public BitField<OnException, Expression::kNextBitFieldIndex, 1> {};
2550 class Throw final : public Expression {
2552 Expression* exception() const { return exception_; } in exception()
2553 void set_exception(Expression* e) { exception_ = e; } in set_exception()
2558 Throw(Expression* exception, int pos) in Throw()
2559 : Expression(pos, kThrow), exception_(exception) {} in Throw()
2561 Expression* exception_;
2565 class FunctionLiteral final : public Expression {
2597 static bool NeedsHomeObject(Expression* expr);
2724 : Expression(position, kFunctionLiteral), in FunctionLiteral()
2750 : public BitField<FunctionType, Expression::kNextBitFieldIndex, 2> {};
2792 ClassLiteralProperty(Expression* key, Expression* value, Kind kind,
2799 class ClassLiteral final : public Expression {
2804 Expression* extends() const { return extends_; } in extends()
2805 void set_extends(Expression* e) { extends_ = e; } in set_extends()
2845 ClassLiteral(VariableProxy* class_variable_proxy, Expression* extends, in ClassLiteral()
2848 : Expression(start_position, kClassLiteral), in ClassLiteral()
2856 static int parent_num_ids() { return Expression::num_ids(); } in parent_num_ids()
2863 Expression* extends_;
2870 class NativeFunctionLiteral final : public Expression {
2880 : Expression(pos, kNativeFunctionLiteral), in NativeFunctionLiteral()
2889 class ThisFunction final : public Expression {
2892 explicit ThisFunction(int pos) : Expression(pos, kThisFunction) {} in ThisFunction()
2896 class SuperPropertyReference final : public Expression {
2900 Expression* home_object() const { return home_object_; } in home_object()
2901 void set_home_object(Expression* e) { home_object_ = e; } in set_home_object()
2906 SuperPropertyReference(VariableProxy* this_var, Expression* home_object, in SuperPropertyReference()
2908 : Expression(pos, kSuperPropertyReference), in SuperPropertyReference()
2916 Expression* home_object_;
2920 class SuperCallReference final : public Expression {
2934 : Expression(pos, kSuperCallReference), in SuperCallReference()
2951 class EmptyParentheses final : public Expression {
2955 explicit EmptyParentheses(int pos) : Expression(pos, kEmptyParentheses) {} in EmptyParentheses()
2982 void VisitExpressions(ZoneList<Expression*>* expressions) { in VisitExpressions()
2988 Expression* expression = expressions->at(i); in VisitExpressions()
3173 ExpressionStatement* NewExpressionStatement(Expression* expression, int pos) { in NewExpressionStatement()
3185 ReturnStatement* NewReturnStatement(Expression* expression, int pos) { in NewReturnStatement()
3190 Expression* expression, in NewWithStatement()
3196 IfStatement* NewIfStatement(Expression* condition, in NewIfStatement()
3267 Expression* label, ZoneList<Statement*>* statements, int pos) { in NewCaseClause()
3313 Expression* key, Expression* value, ObjectLiteralProperty::Kind kind, in NewObjectLiteralProperty()
3319 ObjectLiteral::Property* NewObjectLiteralProperty(Expression* key, in NewObjectLiteralProperty()
3320 Expression* value, in NewObjectLiteralProperty()
3331 ArrayLiteral* NewArrayLiteral(ZoneList<Expression*>* values, in NewArrayLiteral()
3337 ArrayLiteral* NewArrayLiteral(ZoneList<Expression*>* values, in NewArrayLiteral()
3361 Property* NewProperty(Expression* obj, Expression* key, int pos) { in NewProperty()
3365 Call* NewCall(Expression* expression, ZoneList<Expression*>* arguments,
3370 CallNew* NewCallNew(Expression* expression, in NewCallNew()
3371 ZoneList<Expression*>* arguments, in NewCallNew()
3377 ZoneList<Expression*>* arguments, int pos) { in NewCallRuntime()
3382 ZoneList<Expression*>* arguments, int pos) { in NewCallRuntime()
3387 ZoneList<Expression*>* arguments, int pos) { in NewCallRuntime()
3392 Expression* expression, in NewUnaryOperation()
3398 Expression* left, in NewBinaryOperation()
3399 Expression* right, in NewBinaryOperation()
3406 Expression* expr, in NewCountOperation()
3412 Expression* left, in NewCompareOperation()
3413 Expression* right, in NewCompareOperation()
3418 Spread* NewSpread(Expression* expression, int pos, int expr_pos) { in NewSpread()
3422 Conditional* NewConditional(Expression* condition, in NewConditional()
3423 Expression* then_expression, in NewConditional()
3424 Expression* else_expression, in NewConditional()
3430 RewritableExpression* NewRewritableExpression(Expression* expression) { in NewRewritableExpression()
3436 Expression* target, in NewAssignment()
3437 Expression* value, in NewAssignment()
3449 Yield* NewYield(Expression* generator_object, Expression* expression, int pos, in NewYield()
3455 Throw* NewThrow(Expression* exception, int pos) { in NewThrow()
3490 Expression* key, Expression* value, ClassLiteralProperty::Kind kind, in NewClassLiteralProperty()
3496 ClassLiteral* NewClassLiteral(VariableProxy* proxy, Expression* extends, in NewClassLiteral()
3520 Expression* home_object, in NewSuperPropertyReference()