Lines Matching full:expression
302 Expression function_value = ParseFunctionLiteral(CHECK_OK);
472 // Expression ';'
475 Expression expr = ParseExpression(true, CHECK_OK);
487 // Parsed expression statement.
495 // 'if' '(' Expression
546 // 'return' [no line terminator] Expression? ';'
572 // 'with' '(' Expression ')' Statement
593 // 'switch' '(' Expression ')' '{' CaseClause* '}'
622 // 'do' Statement 'while' '(' Expression ')' ';'
637 // 'while' '(' Expression ')' Statement
650 // 'for' '(' Expression? ';' Expression? ';' Expression? ')' Statement
705 // 'throw' [no line terminator] Expression ';'
785 if (!*ok) return Expression::Default(); \
792 PreParser::Expression PreParser::ParseExpression(bool accept_IN, bool* ok) {
793 // Expression ::
795 // Expression ',' AssignmentExpression
797 Expression result = ParseAssignmentExpression(accept_IN, CHECK_OK);
801 result = Expression::Default();
808 PreParser::Expression PreParser::ParseAssignmentExpression(bool accept_IN,
815 Expression expression = ParseConditionalExpression(accept_IN, CHECK_OK);
818 // Parsed conditional expression only (no assignment).
819 return expression;
823 expression.IsIdentifier() &&
824 expression.AsIdentifier().IsEvalOrArguments()) {
829 return Expression::Default();
835 if ((op == i::Token::ASSIGN) && expression.IsThisProperty()) {
839 return Expression::Default();
844 PreParser::Expression PreParser::ParseConditionalExpression(bool accept_IN,
850 // We start using the binary expression parser for prec >= 4 only!
851 Expression expression = ParseBinaryExpression(4, accept_IN, CHECK_OK);
852 if (peek() != i::Token::CONDITIONAL) return expression;
854 // In parsing the first assignment expression in conditional
860 return Expression::Default();
866 return 0; // 0 precedence will terminate binary expression parsing
873 PreParser::Expression PreParser::ParseBinaryExpression(int prec,
876 Expression result = ParseUnaryExpression(CHECK_OK);
882 result = Expression::Default();
889 PreParser::Expression PreParser::ParseUnaryExpression(bool* ok) {
906 return Expression::Default();
910 Expression expression = ParseUnaryExpression(CHECK_OK);
912 expression.IsIdentifier() &&
913 expression.AsIdentifier().IsEvalOrArguments()) {
919 return Expression::Default();
926 PreParser::Expression PreParser::ParsePostfixExpression(bool* ok) {
931 Expression expression = ParseLeftHandSideExpression(CHECK_OK);
935 expression.IsIdentifier() &&
936 expression.AsIdentifier().IsEvalOrArguments()) {
941 return Expression::Default();
944 return Expression::Default();
946 return expression;
950 PreParser::Expression PreParser::ParseLeftHandSideExpression(bool* ok) {
954 Expression result = Expression::Default();
968 result = Expression::ThisProperty();
970 result = Expression::Default();
977 result = Expression::Default();
985 result = Expression::ThisProperty();
987 result = Expression::Default();
999 PreParser::Expression PreParser::ParseNewExpression(bool* ok) {
1004 // 'new' can either be a part of the new expression (where it isn't
1005 // followed by an argument list) or a part of the member expression,
1009 // member expression parser, which is only allowed to match argument
1021 PreParser::Expression PreParser::ParseMemberExpression(bool* ok) {
1026 PreParser::Expression PreParser::ParseMemberWithNewPrefixesExpression(
1030 // ('[' Expression ']' | '.' Identifier | Arguments)*
1032 // Parse the initial primary or function expression.
1033 Expression result = Expression::Default();
1046 return Expression::Default();
1059 result = Expression::ThisProperty();
1061 result = Expression::Default();
1069 result = Expression::ThisProperty();
1071 result = Expression::Default();
1080 result = Expression::Default();
1090 PreParser::Expression PreParser::ParsePrimaryExpression(bool* ok) {
1102 // '(' Expression ')'
1104 Expression result = Expression::Default();
1108 result = Expression::This();
1118 return Expression::Default();
1127 return Expression::Default();
1132 result = Expression::FromIdentifier(id);
1180 return Expression::Default();
1188 PreParser::Expression PreParser::ParseArrayLiteral(bool* ok) {
1190 // '[' Expression? (',' Expression?)* ']'
1203 return Expression::Default();
1240 PreParser::Expression PreParser::ParseObjectLiteral(bool* ok) {
1268 return Expression::Default();
1300 return Expression::Default();
1313 return Expression::Default();
1317 PreParser::Expression PreParser::ParseRegExpLiteral(bool seen_equal,
1323 return Expression::Default();
1332 return Expression::Default();
1335 return Expression::Default();
1362 PreParser::Expression PreParser::ParseFunctionLiteral(bool* ok) {
1425 return Expression::StrictFunction();
1428 return Expression::Default();
1449 PreParser::Expression PreParser::ParseV8Intrinsic(bool* ok) {
1455 return Expression::Default();
1460 return Expression::Default();
1493 PreParser::Expression PreParser::GetStringSymbol() {
1502 return Expression::UseStrictStringLiteral();
1504 return Expression::StringLiteral();