V8 Project
|
#include <preparser.h>
Public Types | |
enum | PreParseResult { kPreParseStackOverflow , kPreParseSuccess } |
typedef PreParserIdentifier | Identifier |
typedef PreParserExpression | Expression |
typedef PreParserStatement | Statement |
![]() | |
typedef Traits::Type::Expression | ExpressionT |
typedef Traits::Type::Identifier | IdentifierT |
typedef Traits::Type::FunctionLiteral | FunctionLiteralT |
typedef Traits::Type::Literal | LiteralT |
typedef Traits::Type::ObjectLiteralProperty | ObjectLiteralPropertyT |
Private Types | |
enum | VariableDeclarationContext { kSourceElement , kStatement , kForStatement } |
enum | VariableDeclarationProperties { kHasInitializers , kHasNoInitializers } |
enum | SourceElements { kUnknownSourceElements } |
Friends | |
class | PreParserTraits |
Definition at line 1409 of file preparser.h.
Definition at line 1412 of file preparser.h.
Definition at line 1411 of file preparser.h.
Definition at line 1413 of file preparser.h.
|
private |
|
private |
|
inline |
Definition at line 1420 of file preparser.h.
Definition at line 681 of file preparser.cc.
References v8::internal::ParserBase< PreParserTraits >::Check(), v8::internal::ParserBase< PreParserTraits >::CheckContextualKeyword(), v8::internal::CStrVector(), and IN.
Referenced by ParseForStatement().
|
private |
Definition at line 371 of file preparser.cc.
References v8::internal::ParserBase< PreParserTraits >::allow_harmony_scoping(), CHECK_OK, v8::internal::PreParserStatement::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), ParseSourceElement(), ParseStatement(), v8::internal::STRICT, and v8::internal::ParserBase< PreParserTraits >::strict_mode().
Referenced by ParseStatement(), and ParseTryStatement().
|
private |
Definition at line 557 of file preparser.cc.
References v8::internal::BREAK, CHECK_OK, v8::internal::PreParserStatement::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::ParserBase< PreParserTraits >::ExpectSemicolon(), v8::internal::ParserBase< PreParserTraits >::kAllowEvalOrArguments, v8::internal::ParserBase< PreParserTraits >::ParseIdentifier(), and v8::internal::ParserBase< PreParserTraits >::scanner().
Referenced by ParseStatement().
|
private |
Definition at line 359 of file preparser.cc.
References CHECK_OK, v8::internal::PreParserStatement::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), name, v8::internal::ParserBase< PreParserTraits >::ParseClassLiteral(), v8::internal::ParserBase< PreParserTraits >::ParseIdentifierOrStrictReservedWord(), v8::internal::ParserBase< PreParserTraits >::position(), and v8::internal::ParserBase< PreParserTraits >::scanner().
Referenced by ParseSourceElement(), and ParseStatement().
|
private |
|
private |
Definition at line 539 of file preparser.cc.
References CHECK_OK, v8::internal::PreParserStatement::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::ParserBase< PreParserTraits >::ExpectSemicolon(), v8::internal::ParserBase< PreParserTraits >::kAllowEvalOrArguments, v8::internal::ParserBase< PreParserTraits >::ParseIdentifier(), and v8::internal::ParserBase< PreParserTraits >::scanner().
Referenced by ParseStatement().
|
private |
Definition at line 802 of file preparser.cc.
References CHECK_OK, v8::internal::PreParserStatement::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), and v8::internal::ParserBase< PreParserTraits >::ExpectSemicolon().
Referenced by ParseStatement().
|
private |
Definition at line 653 of file preparser.cc.
References CHECK_OK, v8::internal::ParserBase< PreParserTraits >::Consume(), v8::internal::PreParserStatement::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::ParserBase< PreParserTraits >::ParseExpression(), and ParseStatement().
Referenced by ParseStatement().
|
inlineprivate |
Definition at line 1532 of file preparser.h.
References v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::ParserBase< PreParserTraits >::PARSE_EAGERLY, and ParseSourceElements().
Referenced by v8::internal::PreParserTraits::ParseEagerFunctionBody().
|
private |
Definition at line 493 of file preparser.cc.
References v8::internal::PreParserExpression::AsIdentifier(), CHECK_OK, v8::internal::ParserBase< PreParserTraits >::Consume(), DCHECK, v8::internal::ParserBase< PreParserTraits >::ExpectSemicolon(), v8::internal::PreParserStatement::ExpressionStatement(), v8::internal::PreParserIdentifier::IsFutureReserved(), v8::internal::PreParserIdentifier::IsFutureStrictReserved(), v8::internal::PreParserExpression::IsIdentifier(), v8::internal::PreParserIdentifier::IsYield(), v8::internal::ParserBase< PreParserTraits >::ParseExpression(), ParseStatement(), v8::internal::ParserBase< PreParserTraits >::peek_any_identifier(), v8::internal::SLOPPY, and v8::internal::ParserBase< PreParserTraits >::strict_mode().
Referenced by ParseStatement().
|
private |
Definition at line 690 of file preparser.cc.
References CHECK_OK, CheckInOrOf(), v8::internal::CONST, v8::internal::PreParserStatement::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::PreParserExpression::IsIdentifier(), kForStatement, kHasInitializers, kHasNoInitializers, v8::internal::LET, v8::internal::ParserBase< PreParserTraits >::ParseExpression(), ParseStatement(), ParseVariableDeclarations(), v8::internal::STRICT, v8::internal::ParserBase< PreParserTraits >::strict_mode(), and v8::internal::VAR.
Referenced by ParseStatement().
|
private |
Definition at line 338 of file preparser.cc.
References v8::internal::ParserBase< PreParserTraits >::Check(), CHECK_OK, v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::PreParserStatement::FunctionDeclaration(), v8::internal::ParserBase< PreParserTraits >::is_generator(), v8::internal::kGeneratorFunction, v8::internal::kNormalFunction, v8::internal::MUL, name, ParseFunctionLiteral(), v8::internal::ParserBase< PreParserTraits >::ParseIdentifierOrStrictReservedWord(), v8::internal::ParserBase< PreParserTraits >::position(), and v8::internal::ParserBase< PreParserTraits >::scanner().
Referenced by ParseSourceElement(), and ParseStatement().
|
private |
Definition at line 823 of file preparser.cc.
References v8::internal::ParserBase< PreParserTraits >::allow_lazy(), v8::internal::PreParserTraits::ast_value_factory(), CHECK_OK, v8::internal::ParserBase< PreParserTraits >::CheckOctalLiteral(), COMMA, v8::internal::PreParserExpression::Default(), v8::internal::Scanner::Location::end_pos, v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::Scanner::FindSymbol(), v8::internal::FUNCTION_SCOPE, v8::internal::ParserBase< PreParserTraits >::function_state_, v8::internal::GLOBAL_SCOPE, v8::internal::Scanner::Location::invalid(), v8::internal::IsConciseMethod(), v8::internal::PreParserIdentifier::IsEvalOrArguments(), v8::internal::IsGeneratorFunction(), v8::internal::Scanner::Location::IsValid(), v8::internal::Scanner::location(), NULL, v8::internal::ParserBase< PreParserTraits >::parenthesized_function_, v8::internal::ParserBase< PreParserTraits >::ParseIdentifierOrStrictReservedWord(), ParseLazyFunctionLiteralBody(), ParseSourceElements(), v8::internal::ParserBase< PreParserTraits >::position(), v8::internal::ParserBase< PreParserTraits >::ReportMessageAt(), v8::internal::ParserBase< PreParserTraits >::scanner(), v8::internal::ParserBase< PreParserTraits >::scope_, v8::internal::STRICT, and v8::internal::ParserBase< PreParserTraits >::strict_mode().
Referenced by ParseFunctionDeclaration(), and v8::internal::PreParserTraits::ParseFunctionLiteral().
|
private |
Definition at line 522 of file preparser.cc.
References CHECK_OK, v8::internal::PreParserStatement::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::ParserBase< PreParserTraits >::ParseExpression(), and ParseStatement().
Referenced by ParseStatement().
|
private |
Definition at line 927 of file preparser.cc.
References DCHECK_EQ, v8::internal::Scanner::Location::end_pos, v8::internal::ParserBase< PreParserTraits >::function_state_, v8::internal::ParserBase< PreParserTraits >::log_, v8::internal::ParserRecorder::LogFunction(), ParseSourceElements(), v8::internal::Scanner::peek_location(), v8::internal::ParserBase< PreParserTraits >::position(), v8::internal::ParserBase< PreParserTraits >::scanner(), and v8::internal::ParserBase< PreParserTraits >::strict_mode().
Referenced by ParseFunctionLiteral(), and PreParseLazyFunction().
|
private |
|
private |
Definition at line 575 of file preparser.cc.
References CHECK_OK, v8::internal::PreParserStatement::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::ParserBase< PreParserTraits >::ExpectSemicolon(), v8::internal::ParserBase< PreParserTraits >::ParseExpression(), and v8::internal::ParserBase< PreParserTraits >::scanner().
Referenced by ParseStatement().
|
private |
Definition at line 172 of file preparser.cc.
References v8::internal::ParserBase< PreParserTraits >::allow_harmony_scoping(), v8::internal::CONST, DCHECK, kSourceElement, v8::internal::LET, ParseClassDeclaration(), ParseFunctionDeclaration(), ParseStatement(), ParseVariableStatement(), v8::internal::STRICT, and v8::internal::ParserBase< PreParserTraits >::strict_mode().
Referenced by ParseBlock(), and ParseSourceElements().
|
private |
Definition at line 203 of file preparser.cc.
References CHECK_OK, v8::internal::PreParserStatement::IsStringLiteral(), v8::internal::PreParserStatement::IsUseStrictLiteral(), kUnknownSourceElements, ParseSourceElement(), v8::internal::ParserBase< PreParserTraits >::scope_, v8::internal::STRICT, and STRING.
Referenced by ParseEagerFunctionBody(), ParseFunctionLiteral(), ParseLazyFunctionLiteralBody(), and PreParseProgram().
|
private |
Definition at line 234 of file preparser.cc.
References v8::internal::ParserBase< PreParserTraits >::allow_harmony_scoping(), v8::internal::Scanner::Location::beg_pos, v8::internal::BREAK, CHECK_OK, v8::internal::CONST, DCHECK, v8::internal::PreParserStatement::Default(), v8::internal::Scanner::Location::end_pos, kStatement, v8::internal::LET, v8::internal::Scanner::location(), ParseBlock(), ParseBreakStatement(), ParseClassDeclaration(), ParseContinueStatement(), ParseDebuggerStatement(), ParseDoWhileStatement(), ParseExpressionOrLabelledStatement(), ParseForStatement(), ParseFunctionDeclaration(), ParseIfStatement(), ParseReturnStatement(), ParseSwitchStatement(), ParseThrowStatement(), ParseTryStatement(), ParseVariableStatement(), ParseWhileStatement(), ParseWithStatement(), v8::internal::Scanner::peek_location(), v8::internal::PreParserTraits::ReportMessageAt(), v8::internal::ParserBase< PreParserTraits >::scanner(), v8::internal::STRICT, v8::internal::ParserBase< PreParserTraits >::strict_mode(), and v8::internal::VAR.
Referenced by ParseBlock(), ParseDoWhileStatement(), ParseExpressionOrLabelledStatement(), ParseForStatement(), ParseIfStatement(), ParseSourceElement(), ParseSwitchStatement(), ParseWhileStatement(), and ParseWithStatement().
|
private |
Definition at line 621 of file preparser.cc.
References CASE, CHECK_OK, v8::internal::DEFAULT, v8::internal::PreParserStatement::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::ParserBase< PreParserTraits >::ParseExpression(), and ParseStatement().
Referenced by ParseStatement().
|
private |
Definition at line 744 of file preparser.cc.
References CHECK_OK, v8::internal::PreParserStatement::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::ParserBase< PreParserTraits >::ExpectSemicolon(), v8::internal::ParserBase< PreParserTraits >::ParseExpression(), v8::internal::ParserBase< PreParserTraits >::ReportMessageAt(), and v8::internal::ParserBase< PreParserTraits >::scanner().
Referenced by ParseStatement().
|
private |
Definition at line 760 of file preparser.cc.
References CHECK_OK, v8::internal::ParserBase< PreParserTraits >::Consume(), v8::internal::PreParserStatement::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::ParserBase< PreParserTraits >::kDontAllowEvalOrArguments, ParseBlock(), v8::internal::ParserBase< PreParserTraits >::ParseIdentifier(), v8::internal::ParserBase< PreParserTraits >::ReportMessageAt(), v8::internal::ParserBase< PreParserTraits >::scanner(), v8::internal::ParserBase< PreParserTraits >::scope_, and v8::internal::WITH_SCOPE.
Referenced by ParseStatement().
|
private |
Definition at line 942 of file preparser.cc.
References v8::internal::ParserBase< PreParserTraits >::allow_natives_syntax(), CHECK_OK, v8::internal::PreParserExpression::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::ParserBase< PreParserTraits >::kAllowEvalOrArguments, v8::internal::ParserBase< PreParserTraits >::ParseArguments(), and v8::internal::ParserBase< PreParserTraits >::ParseIdentifier().
Referenced by v8::internal::PreParserTraits::ParseV8Intrinsic().
|
private |
Definition at line 411 of file preparser.cc.
References v8::internal::ParserBase< PreParserTraits >::allow_harmony_scoping(), CHECK_OK, COMMA, v8::internal::CONST, v8::internal::ParserBase< PreParserTraits >::Consume(), v8::internal::PreParserStatement::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::ParserBase< PreParserTraits >::kDontAllowEvalOrArguments, kForStatement, kHasInitializers, kSourceElement, v8::internal::LET, NULL, v8::internal::ParserBase< PreParserTraits >::ParseAssignmentExpression(), v8::internal::ParserBase< PreParserTraits >::ParseIdentifier(), v8::internal::Scanner::peek_location(), v8::internal::ParserBase< PreParserTraits >::ReportMessageAt(), v8::internal::ParserBase< PreParserTraits >::scanner(), v8::internal::STRICT, v8::internal::ParserBase< PreParserTraits >::strict_mode(), and v8::internal::VAR.
Referenced by ParseForStatement(), and ParseVariableStatement().
|
private |
Definition at line 391 of file preparser.cc.
References CHECK_OK, v8::internal::ParserBase< PreParserTraits >::ExpectSemicolon(), NULL, and ParseVariableDeclarations().
Referenced by ParseSourceElement(), and ParseStatement().
|
private |
Definition at line 668 of file preparser.cc.
References CHECK_OK, v8::internal::PreParserStatement::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::ParserBase< PreParserTraits >::ParseExpression(), and ParseStatement().
Referenced by ParseStatement().
|
private |
Definition at line 601 of file preparser.cc.
References CHECK_OK, v8::internal::PreParserStatement::Default(), v8::internal::ParserBase< PreParserTraits >::Expect(), v8::internal::ParserBase< PreParserTraits >::ParseExpression(), ParseStatement(), v8::internal::ParserBase< PreParserTraits >::ReportMessageAt(), v8::internal::ParserBase< PreParserTraits >::scanner(), v8::internal::ParserBase< PreParserTraits >::scope_, v8::internal::STRICT, v8::internal::ParserBase< PreParserTraits >::strict_mode(), and v8::internal::WITH_SCOPE.
Referenced by ParseStatement().
PreParser::PreParseResult v8::internal::PreParser::PreParseLazyFunction | ( | StrictMode | strict_mode, |
bool | is_generator, | ||
ParserRecorder * | log | ||
) |
Definition at line 121 of file preparser.cc.
References v8::internal::PreParserTraits::ast_value_factory(), v8::internal::ParserBase< PreParserTraits >::CheckOctalLiteral(), DCHECK_EQ, v8::internal::Scanner::Location::end_pos, v8::internal::FUNCTION_SCOPE, v8::internal::ParserBase< PreParserTraits >::function_state_, v8::internal::GLOBAL_SCOPE, v8::internal::ParserBase< PreParserTraits >::is_generator(), kPreParseStackOverflow, kPreParseSuccess, v8::internal::Scanner::location(), v8::internal::ParserBase< PreParserTraits >::log_, NULL, ParseLazyFunctionLiteralBody(), v8::internal::ParserBase< PreParserTraits >::peek_position(), v8::internal::ParserBase< PreParserTraits >::ReportUnexpectedToken(), v8::internal::ParserBase< PreParserTraits >::scanner(), v8::internal::ParserBase< PreParserTraits >::scope_, v8::internal::ParserBase< PreParserTraits >::stack_overflow(), and v8::internal::STRICT.
Referenced by v8::internal::Parser::ParseLazyFunctionBodyWithPreParser().
|
inline |
Definition at line 1428 of file preparser.h.
References v8::internal::Scanner::Location::beg_pos, v8::internal::ParserBase< PreParserTraits >::CheckOctalLiteral(), v8::internal::ParserBase< PreParserTraits >::function_state_, v8::internal::GLOBAL_SCOPE, kPreParseStackOverflow, kPreParseSuccess, ParseSourceElements(), v8::internal::Scanner::peek_location(), v8::internal::ParserBase< PreParserTraits >::ReportUnexpectedToken(), v8::internal::ParserBase< PreParserTraits >::scanner(), v8::internal::ParserBase< PreParserTraits >::scope_, v8::internal::ParserBase< PreParserTraits >::stack_overflow(), and v8::internal::STRICT.
|
inlineprivate |
|
friend |
Definition at line 1456 of file preparser.h.