Home | History | Annotate | Download | only in src

Lines Matching defs:Expression

21 // - Return types: For example, Parser functions return Expression* and
46 // typedef Expression;
62 typedef typename Traits::Type::Expression ExpressionT;
339 return 0; // 0 precedence will terminate binary expression parsing
401 ExpressionT ParseMemberExpressionContinuation(ExpressionT expression,
404 // Checks if the expression is a valid reference expression (e.g., on the
408 ExpressionT expression,
539 // Bits 0 and 1 are used to identify the type of expression:
607 // At the moment PreParser doesn't track these expression types.
613 // Dummy implementation for making expression->somefunc() work in both Parser
624 // be absent. If the expression is an identifier or a string literal, the
676 // Creates expression statement from expression.
680 PreParserExpression expression) {
681 if (expression.IsUseStrictLiteral()) {
684 if (expression.IsStringLiteral()) {
794 PreParserExpression expression,
815 PreParserExpression expression,
828 PreParserExpression expression,
832 PreParserExpression NewCall(PreParserExpression expression,
837 PreParserExpression NewCallNew(PreParserExpression expression,
863 typedef PreParserExpression Expression;
890 // Returns true if the expression is of type "this.foo".
891 static bool IsThisProperty(PreParserExpression expression) {
892 return expression.IsThisProperty();
895 static bool IsIdentifier(PreParserExpression expression) {
896 return expression.IsIdentifier();
899 static PreParserIdentifier AsIdentifier(PreParserExpression expression) {
900 return expression.AsIdentifier();
919 PreParserExpression expression) {
931 static void CheckPossibleEvalCall(PreParserExpression expression,
935 PreParserExpression expression) {
938 return expression;
949 PreParserExpression BuildUnaryExpression(PreParserExpression expression,
1070 typedef PreParserExpression Expression;
1166 Expression ParseConditionalExpression(bool accept_IN, bool* ok);
1167 Expression ParseObjectLiteral(bool* ok);
1168 Expression ParseV8Intrinsic(bool* ok);
1170 Expression ParseFunctionLiteral(
1367 // '(' Expression ')'
1449 // Expression ::
1451 // Expression ',' AssignmentExpression
1468 // '[' Expression? (',' Expression?)* ']'
1703 ExpressionT expression =
1708 // Parsed conditional expression only (no assignment).
1709 return expression;
1712 expression = this->CheckAndRewriteReferenceExpression(
1713 expression, lhs_location, "invalid_lhs_in_assignment", CHECK_OK);
1714 expression = this->MarkExpressionAsLValue(expression);
1725 if (op == Token::ASSIGN && this->IsThisProperty(expression)) {
1729 this->CheckAssigningFunctionLiteralToProperty(expression, right);
1734 // expression.
1746 return factory()->NewAssignment(op, expression, right, pos);
1760 ExpressionT expression =
1763 factory()->NewYield(generator_object, expression, kind, pos);
1780 // We start using the binary expression parser for prec >= 4 only!
1781 ExpressionT expression = this->ParseBinaryExpression(4, accept_IN, CHECK_OK);
1782 if (peek() != Token::CONDITIONAL) return expression;
1784 // In parsing the first assignment expression in conditional
1790 return factory()->NewConditional(expression, left, right, pos);
1858 ExpressionT expression = ParseUnaryExpression(CHECK_OK);
1862 this->IsIdentifier(expression)) {
1868 // Allow Traits do rewrite the expression.
1869 return this->BuildUnaryExpression(expression, op, pos, factory());
1873 ExpressionT expression = this->ParseUnaryExpression(CHECK_OK);
1874 expression = this->CheckAndRewriteReferenceExpression(
1875 expression, lhs_location, "invalid_lhs_in_prefix_op", CHECK_OK);
1876 this->MarkExpressionAsLValue(expression);
1880 expression,
1896 ExpressionT expression = this->ParseLeftHandSideExpression(CHECK_OK);
1899 expression = this->CheckAndRewriteReferenceExpression(
1900 expression, lhs_location, "invalid_lhs_in_postfix_op", CHECK_OK);
1901 expression = this->MarkExpressionAsLValue(expression);
1904 expression =
1907 expression,
1910 return expression;
1997 // Examples of new expression:
2014 // The expression can still continue with . or [ after the arguments.
2032 // ('[' Expression ']' | '.' Identifier | Arguments)*
2034 // The '[' Expression ']' and '.' Identifier parts are parsed by
2038 // Parse the initial primary or function expression.
2074 ParserBase<Traits>::ParseMemberExpressionContinuation(ExpressionT expression,
2077 // ('[' Expression ']' | '.' Identifier)*
2084 expression = factory()->NewProperty(expression, index, pos);
2095 expression = factory()->NewProperty(
2096 expression, factory()->NewLiteral(name, pos), pos);
2103 return expression;
2114 ExpressionT expression,
2116 if (strict_mode() == STRICT && this->IsIdentifier(expression) &&
2117 this->IsEvalOrArguments(this->AsIdentifier(expression))) {
2121 } else if (expression->IsValidReferenceExpression()) {
2122 return expression;
2123 } else if (expression->IsCall()) {
2128 return factory()->NewProperty(expression, error, pos);