v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::PreParser Class Reference

#include <preparser.h>

Inheritance diagram for v8::internal::PreParser:
Collaboration diagram for v8::internal::PreParser:

Classes

struct  TemplateLiteralState
 

Public Types

enum  PreParseResult { kPreParseStackOverflow , kPreParseNotIdentifiableError , kPreParseSuccess }
 
using Identifier = PreParserIdentifier
 
using Expression = PreParserExpression
 
using Statement = PreParserStatement
 
- Public Types inherited from v8::internal::ParserBase< PreParser >
using Types
 
using ExpressionScope
 
using ExpressionParsingScope
 
using AccumulationScope
 
using ArrowHeadParsingScope
 
using VariableDeclarationParsingScope
 
using ParameterDeclarationParsingScope
 
using BlockT
 
using BreakableStatementT
 
using ClassLiteralPropertyT
 
using ClassPropertyListT
 
using ClassStaticElementListT
 
using ExpressionT
 
using ExpressionListT
 
using FormalParametersT
 
using ForStatementT
 
using FunctionLiteralT
 
using IdentifierT
 
using IterationStatementT
 
using ObjectLiteralPropertyT
 
using ObjectPropertyListT
 
using StatementT
 
using StatementListT
 
using SuspendExpressionT
 
using FactoryT
 
using FuncNameInferrer
 
using FuncNameInferrerState
 
using SourceRange
 
using SourceRangeScope
 

Public Member Functions

 PreParser (Zone *zone, Scanner *scanner, uintptr_t stack_limit, AstValueFactory *ast_value_factory, PendingCompilationErrorHandler *pending_error_handler, RuntimeCallStats *runtime_call_stats, V8FileLogger *v8_file_logger, UnoptimizedCompileFlags flags, bool parsing_on_main_thread=true)
 
PreParserLoggerlogger ()
 
V8_EXPORT_PRIVATE PreParseResult PreParseProgram ()
 
PreParseResult PreParseFunction (const AstRawString *function_name, FunctionKind kind, FunctionSyntaxKind function_syntax_kind, DeclarationScope *function_scope, int *use_counts, ProducedPreparseData **produced_preparser_scope_data)
 
PreparseDataBuilderpreparse_data_builder () const
 
void set_preparse_data_builder (PreparseDataBuilder *preparse_data_builder)
 
std::vector< void * > * preparse_data_builder_buffer ()
 
- Public Member Functions inherited from v8::internal::ParserBase< PreParser >
PreParserimpl ()
 
const PreParserimpl () const
 
 ParserBase (Zone *zone, Scanner *scanner, uintptr_t stack_limit, AstValueFactory *ast_value_factory, PendingCompilationErrorHandler *pending_error_handler, RuntimeCallStats *runtime_call_stats, V8FileLogger *v8_file_logger, UnoptimizedCompileFlags flags, bool parsing_on_main_thread, bool compile_hints_magic_enabled, bool compile_hints_per_function_magic_enabled)
 
const UnoptimizedCompileFlagsflags () const
 
bool has_module_in_scope_chain () const
 
bool IsParsingWhileDebugging () const
 
bool allow_eval_cache () const
 
void set_allow_eval_cache (bool allow)
 
V8_INLINE bool has_error () const
 
uintptr_t stack_limit () const
 
void set_stack_limit (uintptr_t stack_limit)
 
void set_default_eager_compile_hint (FunctionLiteral::EagerCompileHint eager_compile_hint)
 
FunctionLiteral::EagerCompileHint default_eager_compile_hint () const
 
int loop_nesting_depth () const
 
int PeekNextInfoId ()
 
int GetNextInfoId ()
 
int GetLastInfoId () const
 
void SkipInfos (int delta)
 
void ResetInfoId ()
 
Zonemain_zone () const
 
Zonezone () const
 
V8_INLINE bool IsExtraordinaryPrivateNameAccessAllowed () const
 

Static Public Member Functions

static bool IsPreParser ()
 

Private Member Functions

bool AllowsLazyParsingWithoutUnresolvedVariables () const
 
bool parse_lazily () const
 
PendingCompilationErrorHandlerpending_error_handler ()
 
V8_INLINE bool SkipFunction (const AstRawString *name, FunctionKind kind, FunctionSyntaxKind function_syntax_kind, DeclarationScope *function_scope, int *num_parameters, int *function_length, ProducedPreparseData **produced_preparse_data)
 
Expression ParseFunctionLiteral (Identifier name, Scanner::Location function_name_location, FunctionNameValidity function_name_validity, FunctionKind kind, int function_token_pos, FunctionSyntaxKind function_syntax_kind, LanguageMode language_mode, ZonePtrList< const AstRawString > *arguments_for_wrapped_function)
 
PreParserExpression InitializeObjectLiteral (PreParserExpression literal)
 
bool HasCheckedSyntax ()
 
void ParseStatementListAndLogFunction (PreParserFormalParameters *formals)
 
V8_INLINE TemplateLiteralState OpenTemplateLiteral (int pos)
 
V8_INLINE void AddTemplateExpression (TemplateLiteralState *state, const PreParserExpression &expression)
 
V8_INLINE void AddTemplateSpan (TemplateLiteralState *state, bool should_cook, bool tail)
 
V8_INLINE PreParserExpression CloseTemplateLiteral (TemplateLiteralState *state, int start, const PreParserExpression &tag)
 
V8_INLINE bool IsPrivateReference (const PreParserExpression &expression)
 
V8_INLINE void SetLanguageMode (Scope *scope, LanguageMode mode)
 
V8_INLINE void SetAsmModule ()
 
V8_INLINE void PrepareGeneratorVariables ()
 
V8_INLINE PreParserStatement RewriteSwitchStatement (PreParserStatement switch_statement, Scope *scope)
 
VariableDeclareVariable (const AstRawString *name, VariableKind kind, VariableMode mode, InitializationFlag init, Scope *scope, bool *was_added, int position)
 
void DeclareAndBindVariable (const VariableProxy *proxy, VariableKind kind, VariableMode mode, Scope *scope, bool *was_added, int initializer_position)
 
VariableDeclarePrivateVariableName (const AstRawString *name, ClassScope *scope, VariableMode mode, IsStaticFlag is_static_flag, bool *was_added)
 
VariableDeclareVariableName (const AstRawString *name, VariableMode mode, Scope *scope, bool *was_added, int position=kNoSourcePosition, VariableKind kind=NORMAL_VARIABLE)
 
V8_INLINE PreParserBlock RewriteCatchPattern (CatchInfo *catch_info)
 
V8_INLINE void ReportVarRedeclarationIn (const AstRawString *name, Scope *scope)
 
V8_INLINE PreParserStatement RewriteTryStatement (PreParserStatement try_block, PreParserStatement catch_block, const SourceRange &catch_range, PreParserStatement finally_block, const SourceRange &finally_range, const CatchInfo &catch_info, int pos)
 
V8_INLINE void ReportUnexpectedTokenAt (Scanner::Location location, Token::Value token, MessageTemplate message=MessageTemplate::kUnexpectedToken)
 
V8_INLINE void ParseGeneratorFunctionBody (int pos, FunctionKind kind, PreParserScopedStatementList *body)
 
V8_INLINE void ParseAsyncGeneratorFunctionBody (int pos, FunctionKind kind, PreParserScopedStatementList *body)
 
V8_INLINE void DeclareFunctionNameVar (const AstRawString *function_name, FunctionSyntaxKind function_syntax_kind, DeclarationScope *function_scope)
 
V8_INLINE void DeclareFunctionNameVar (const PreParserIdentifier &function_name, FunctionSyntaxKind function_syntax_kind, DeclarationScope *function_scope)
 
bool IdentifierEquals (const PreParserIdentifier &identifier, const AstRawString *other)
 
V8_INLINE PreParserStatement DeclareFunction (const PreParserIdentifier &variable_name, const PreParserExpression &function, VariableMode mode, VariableKind kind, int beg_pos, int end_pos, ZonePtrList< const AstRawString > *names)
 
V8_INLINE PreParserStatement DeclareClass (const PreParserIdentifier &variable_name, const PreParserExpression &value, ZonePtrList< const AstRawString > *names, int class_token_pos, int end_pos)
 
V8_INLINE void DeclareClassVariable (ClassScope *scope, const PreParserIdentifier &name, ClassInfo *class_info, int class_token_pos)
 
V8_INLINE void DeclarePublicClassMethod (const PreParserIdentifier &class_name, const PreParserExpression &property, bool is_constructor, ClassInfo *class_info)
 
V8_INLINE void AddInstanceFieldOrStaticElement (const PreParserExpression &property, ClassInfo *class_info, bool is_static)
 
V8_INLINE void DeclarePublicClassField (ClassScope *scope, const PreParserExpression &property, bool is_static, bool is_computed_name, ClassInfo *class_info)
 
V8_INLINE void DeclarePrivateClassMember (ClassScope *scope, const PreParserIdentifier &property_name, const PreParserExpression &property, ClassLiteralProperty::Kind kind, bool is_static, ClassInfo *class_info)
 
V8_INLINE void AddClassStaticBlock (PreParserBlock block, ClassInfo *class_info)
 
V8_INLINE void AddSyntheticFunctionDeclaration (FunctionKind kind, int pos)
 
V8_INLINE PreParserExpression RewriteClassLiteral (ClassScope *scope, const PreParserIdentifier &name, ClassInfo *class_info, int pos)
 
V8_INLINE PreParserStatement DeclareNative (const PreParserIdentifier &name, int pos)
 
V8_INLINE bool IsEval (const PreParserIdentifier &identifier) const
 
V8_INLINE bool IsAsync (const PreParserIdentifier &identifier) const
 
V8_INLINE bool IsArguments (const PreParserIdentifier &identifier) const
 
V8_INLINE bool IsEvalOrArguments (const PreParserIdentifier &identifier) const
 
V8_INLINE bool IsConstructor (const PreParserIdentifier &identifier) const
 
V8_INLINE bool ParsingExtension () const
 
V8_INLINE bool IsNative (const PreParserExpression &expr) const
 
V8_INLINE bool IsStringLiteral (PreParserStatement statement) const
 
V8_INLINE void PushPropertyName (const PreParserExpression &expression)
 
V8_INLINE void PushEnclosingName (const PreParserIdentifier &name)
 
V8_INLINE bool ShortcutLiteralBinaryExpression (PreParserExpression *x, const PreParserExpression &y, Token::Value op, int pos)
 
V8_INLINE bool CollapseConditionalChain (PreParserExpression *x, PreParserExpression cond, PreParserExpression then_expression, PreParserExpression else_expression, int pos, const SourceRange &then_range)
 
V8_INLINE void AppendConditionalChainElse (PreParserExpression *x, const SourceRange &else_range)
 
V8_INLINE bool CollapseNaryExpression (PreParserExpression *x, PreParserExpression y, Token::Value op, int pos, const SourceRange &range)
 
V8_INLINE PreParserExpression BuildUnaryExpression (const PreParserExpression &expression, Token::Value op, int pos)
 
V8_INLINE PreParserStatement BuildInitializationBlock (DeclarationParsingResult *parsing_result)
 
V8_INLINE PreParserBlock RewriteForVarInLegacy (const ForInfo &for_info)
 
V8_INLINE void DesugarBindingInForEachStatement (ForInfo *for_info, PreParserStatement *body_block, PreParserExpression *each_variable)
 
V8_INLINE PreParserBlock CreateForEachStatementTDZ (PreParserBlock init_block, const ForInfo &for_info)
 
V8_INLINE StatementT DesugarLexicalBindingsInForStatement (PreParserStatement loop, PreParserStatement init, const PreParserExpression &cond, PreParserStatement next, PreParserStatement body, Scope *inner_scope, const ForInfo &for_info)
 
PreParserBlock BuildParameterInitializationBlock (const PreParserFormalParameters &parameters)
 
V8_INLINE void InsertSloppyBlockFunctionVarBindings (DeclarationScope *scope)
 
V8_INLINE void InsertShadowingVarBindingInitializers (PreParserStatement block)
 
V8_INLINE PreParserExpression NewThrowReferenceError (MessageTemplate message, int pos)
 
V8_INLINE const AstRawStringPreParserIdentifierToAstRawString (const PreParserIdentifier &x)
 
V8_INLINE void ReportUnidentifiableError ()
 
const AstRawStringGetRawNameFromIdentifier (const PreParserIdentifier &arg)
 
PreParserStatement AsIterationStatement (PreParserStatement s)
 
V8_INLINE PreParserIdentifier EmptyIdentifierString () const
 
V8_INLINE bool IsEmptyIdentifier (PreParserIdentifier subject)
 
PreParserIdentifier GetSymbol () const
 
PreParserIdentifier GetIdentifier () const
 
V8_INLINE PreParserIdentifier GetNextSymbol () const
 
V8_INLINE PreParserIdentifier GetNumberAsSymbol () const
 
V8_INLINE PreParserIdentifier GetBigIntAsSymbol () const
 
V8_INLINE PreParserExpression ThisExpression ()
 
V8_INLINE PreParserExpression NewThisExpression (int pos)
 
V8_INLINE PreParserExpression NewSuperPropertyReference (int pos)
 
V8_INLINE PreParserExpression NewSuperCallReference (int pos)
 
V8_INLINE PreParserExpression NewTargetExpression (int pos)
 
V8_INLINE PreParserExpression ImportMetaExpression (int pos)
 
V8_INLINE PreParserExpression ExpressionFromLiteral (Token::Value token, int pos)
 
V8_INLINE PreParserExpression ExpressionFromPrivateName (PrivateNameScopeIterator *private_name_scope, const PreParserIdentifier &name, int start_position)
 
PreParserExpression ExpressionFromIdentifier (const PreParserIdentifier &name, int start_position, InferName infer=InferName::kYes)
 
V8_INLINE void DeclareIdentifier (const PreParserIdentifier &name, int start_position)
 
V8_INLINE VariableDeclareCatchVariableName (Scope *scope, const PreParserIdentifier &identifier)
 
V8_INLINE PreParserPropertyList NewClassPropertyList (int size) const
 
V8_INLINE PreParserPropertyList NewClassStaticElementList (int size) const
 
V8_INLINE PreParserStatementList NewStatementList (int size) const
 
V8_INLINE PreParserExpression NewClassLiteralPropertyWithAccessorInfo (ClassScope *scope, ClassInfo *class_info, const PreParserIdentifier &name, const PreParserExpression &key, const PreParserExpression &value, bool is_static, bool is_computed_name, bool is_private, int pos)
 
V8_INLINE PreParserExpression NewV8Intrinsic (const PreParserIdentifier &name, const PreParserExpressionList &arguments, int pos)
 
V8_INLINE PreParserStatement NewThrowStatement (const PreParserExpression &exception, int pos)
 
V8_INLINE void AddFormalParameter (PreParserFormalParameters *parameters, const PreParserExpression &pattern, const PreParserExpression &initializer, int initializer_end_position, bool is_rest)
 
V8_INLINE void ReindexArrowFunctionFormalParameters (PreParserFormalParameters *parameters)
 
V8_INLINE void ReindexComputedMemberName (const PreParserExpression &expression)
 
V8_INLINE void DeclareFormalParameters (const PreParserFormalParameters *parameters)
 
V8_INLINE void DeclareArrowFunctionFormalParameters (PreParserFormalParameters *parameters, const PreParserExpression &params, const Scanner::Location &params_loc)
 
V8_INLINE PreParserExpression ExpressionListToExpression (const PreParserExpressionList &args)
 
V8_INLINE void SetFunctionNameFromPropertyName (const PreParserExpression &property, const PreParserIdentifier &name, const AstRawString *prefix=nullptr)
 
V8_INLINE void SetFunctionNameFromIdentifierRef (const PreParserExpression &value, const PreParserExpression &identifier)
 
V8_INLINE void CountUsage (v8::Isolate::UseCounterFeature feature)
 
V8_INLINE bool ParsingDynamicFunctionDeclaration () const
 
V8_INLINE FunctionLiteral::EagerCompileHint GetEmbedderCompileHint (FunctionLiteral::EagerCompileHint current_compile_hint, int position)
 

Static Private Member Functions

static V8_INLINE bool IsThisProperty (const PreParserExpression &expression)
 
static V8_INLINE bool IsIdentifier (const PreParserExpression &expression)
 
static V8_INLINE PreParserIdentifier AsIdentifier (const PreParserExpression &expression)
 
static V8_INLINE PreParserExpression AsIdentifierExpression (const PreParserExpression &expression)
 
static V8_INLINE bool IsBoilerplateProperty (const PreParserExpression &property)
 
static V8_INLINE bool IsArrayIndex (const PreParserIdentifier &string, uint32_t *index)
 
static V8_INLINE void GetDefaultStrings (PreParserIdentifier *default_string, PreParserIdentifier *dot_default_string)
 
static V8_INLINE void PushLiteralName (const PreParserIdentifier &id)
 
static V8_INLINE void PushVariableName (const PreParserIdentifier &id)
 
static V8_INLINE void AddFunctionForNameInference (const PreParserExpression &expression)
 
static V8_INLINE void InferFunctionName ()
 
static V8_INLINE void CheckAssigningFunctionLiteralToProperty (const PreParserExpression &left, const PreParserExpression &right)
 
static V8_INLINE PreParserIdentifier NullIdentifier ()
 
static V8_INLINE PreParserExpression NullExpression ()
 
static V8_INLINE PreParserExpression FailureExpression ()
 
static V8_INLINE PreParserExpression NullLiteralProperty ()
 
static V8_INLINE PreParserStatementList NullStatementList ()
 
static V8_INLINE PreParserStatement NullStatement ()
 
static V8_INLINE PreParserBlock NullBlock ()
 
template<typename T >
static V8_INLINE bool IsNull (T subject)
 
static V8_INLINE bool IsIterationStatement (PreParserStatement subject)
 

Private Attributes

int * use_counts_
 
PreParserLogger log_
 
PreparseDataBuilderpreparse_data_builder_
 
std::vector< void * > preparse_data_builder_buffer_
 

Friends

class ParserBase< PreParser >
 
class i::ExpressionScope< ParserTypes< PreParser > >
 
class i::VariableDeclarationParsingScope< ParserTypes< PreParser > >
 
class i::ParameterDeclarationParsingScope< ParserTypes< PreParser > >
 
class i::ArrowHeadParsingScope< ParserTypes< PreParser > >
 
class PreParserFormalParameters
 

Additional Inherited Members

- Protected Types inherited from v8::internal::ParserBase< PreParser >
enum  VariableDeclarationContext
 
enum  PropertyPosition
 
enum  FunctionBodyType
 
enum  SubFunctionKind
 
- Protected Member Functions inherited from v8::internal::ParserBase< PreParser >
Target * target_stack ()
 
BreakableStatementT LookupBreakTarget (IdentifierT label)
 
IterationStatementT LookupContinueTarget (IdentifierT label)
 
void DeclareLabel (ZonePtrList< const AstRawString > **labels, ZonePtrList< const AstRawString > **own_labels, const AstRawString *label)
 
bool ContainsLabel (const ZonePtrList< const AstRawString > *labels, const AstRawString *label)
 
bool TargetStackContainsLabel (const AstRawString *label)
 
ClassLiteralProperty::Kind ClassPropertyKindFor (ParsePropertyKind kind)
 
VariableMode GetVariableMode (ClassLiteralProperty::Kind kind)
 
const AstRawStringClassFieldVariableName (AstValueFactory *ast_value_factory, int index)
 
const AstRawStringAutoAccessorVariableName (AstValueFactory *ast_value_factory, int index)
 
DeclarationScopeNewScriptScope (REPLMode repl_mode) const
 
DeclarationScopeNewVarblockScope () const
 
ModuleScopeNewModuleScope (DeclarationScope *parent) const
 
DeclarationScopeNewEvalScope (Scope *parent) const
 
ClassScopeNewClassScope (Scope *parent, bool is_anonymous) const
 
ScopeNewBlockScopeForObjectLiteral ()
 
ScopeNewScope (ScopeType scope_type) const
 
ScopeNewScopeWithParent (Scope *parent, ScopeType scope_type) const
 
DeclarationScopeNewFunctionScope (FunctionKind kind, Zone *parse_zone=nullptr) const
 
V8_INLINE DeclarationScopeGetDeclarationScope () const
 
V8_INLINE DeclarationScopeGetClosureScope () const
 
VariableProxyNewRawVariable (const AstRawString *name, int pos)
 
VariableProxyNewUnresolved (const AstRawString *name)
 
VariableProxyNewUnresolved (const AstRawString *name, int begin_pos, VariableKind kind=NORMAL_VARIABLE)
 
Scannerscanner () const
 
AstValueFactoryast_value_factory () const
 
int position () const
 
int peek_position () const
 
int end_position () const
 
int peek_end_position () const
 
bool stack_overflow () const
 
void set_stack_overflow ()
 
void CheckStackOverflow ()
 
V8_INLINE Token::Value peek ()
 
int PositionAfterSemicolon ()
 
V8_INLINE Token::Value PeekAheadAhead ()
 
V8_INLINE Token::Value PeekAhead ()
 
V8_INLINE Token::Value Next ()
 
V8_INLINE void Consume (Token::Value token)
 
V8_INLINE bool Check (Token::Value token)
 
void Expect (Token::Value token)
 
void ExpectSemicolon ()
 
bool peek_any_identifier ()
 
bool PeekContextualKeyword (const AstRawString *name)
 
bool PeekContextualKeyword (Token::Value token)
 
bool CheckContextualKeyword (const AstRawString *name)
 
bool CheckContextualKeyword (Token::Value token)
 
void ExpectContextualKeyword (const AstRawString *name, const char *fullname=nullptr, int pos=-1)
 
void ExpectContextualKeyword (Token::Value token)
 
bool CheckInOrOf (ForEachStatement::VisitMode *visit_mode)
 
bool PeekInOrOf ()
 
void CheckStrictOctalLiteral (int beg_pos, int end_pos)
 
bool CheckTemplateEscapes (bool should_throw)
 
ExpressionT ParsePossibleDestructuringSubPattern (AccumulationScope *scope)
 
void ClassifyParameter (IdentifierT parameter, int beg_pos, int end_pos)
 
void ClassifyArrowParameter (AccumulationScope *accumulation_scope, int position, ExpressionT parameter)
 
void CheckFunctionName (LanguageMode language_mode, IdentifierT function_name, FunctionNameValidity function_name_validity, const Scanner::Location &function_name_loc)
 
Types::Factoryfactory ()
 
DeclarationScopeGetReceiverScope () const
 
LanguageMode language_mode ()
 
void RaiseLanguageMode (LanguageMode mode)
 
bool is_generator () const
 
bool is_async_function () const
 
bool is_async_generator () const
 
bool is_resumable () const
 
bool is_await_allowed () const
 
bool is_await_as_identifier_disallowed () const
 
bool IsAwaitAsIdentifierDisallowed (FunctionKind kind) const
 
bool is_using_allowed () const
 
bool IsNextUsingKeyword (Token::Value token_after_using, bool is_await_using)
 
bool IfStartsWithUsingOrAwaitUsingKeyword ()
 
const PendingCompilationErrorHandlerpending_error_handler () const
 
PendingCompilationErrorHandlerpending_error_handler ()
 
V8_NOINLINE void ReportMessage (MessageTemplate message, const Ts &... args)
 
V8_NOINLINE void ReportMessageAt (Scanner::Location source_location, MessageTemplate message, const Ts &... args)
 
V8_NOINLINE void ReportMessageAt (Scanner::Location source_location, MessageTemplate message, const PreParserIdentifier &arg0)
 
V8_NOINLINE void ReportUnexpectedToken (Token::Value token)
 
void ValidateFormalParameters (LanguageMode language_mode, const FormalParametersT &parameters, bool allow_duplicates)
 
V8_INLINE void UseThis ()
 
V8_INLINE IdentifierT ParseAndClassifyIdentifier (Token::Value token)
 
V8_INLINE bool ClassifyPropertyIdentifier (Token::Value token, ParsePropertyInfo *prop_info)
 
V8_INLINE IdentifierT ParseIdentifier (FunctionKind function_kind)
 
V8_INLINE IdentifierT ParseIdentifier ()
 
IdentifierT ParseNonRestrictedIdentifier ()
 
V8_INLINE IdentifierT ParsePropertyName ()
 
ExpressionT ParsePropertyOrPrivatePropertyName ()
 
const AstRawStringGetNextSymbolForRegExpLiteral () const
 
bool ValidateRegExpFlags (RegExpFlags flags)
 
bool ValidateRegExpLiteral (const AstRawString *pattern, RegExpFlags flags, RegExpError *regexp_error)
 
ExpressionT ParseRegExpLiteral ()
 
ExpressionT ParseBindingPattern ()
 
ExpressionT ParsePrimaryExpression ()
 
V8_INLINE ExpressionT ParseExpression ()
 
V8_INLINE ExpressionT ParseAssignmentExpression ()
 
V8_INLINE ExpressionT ParseConditionalChainAssignmentExpression ()
 
ExpressionT ParseExpressionCoverGrammar ()
 
ExpressionT ParseAssignmentExpressionCoverGrammar ()
 
ExpressionT ParseAssignmentExpressionCoverGrammarContinuation (int lhs_beg_pos, ExpressionT expression)
 
ExpressionT ParseConditionalChainAssignmentExpressionCoverGrammar ()
 
ExpressionT ParseArrowParametersWithRest (ExpressionListT *list, AccumulationScope *scope, int seen_variables)
 
ExpressionT ParseArrayLiteral ()
 
ExpressionT ParseProperty (ParsePropertyInfo *prop_info)
 
ExpressionT ParseObjectLiteral ()
 
V8_INLINE bool VerifyCanHaveAutoAccessorOrThrow (ParsePropertyInfo *prop_info, ExpressionT name_expression, int name_token_position)
 
V8_INLINE bool ParseCurrentSymbolAsClassFieldOrMethod (ParsePropertyInfo *prop_info, ExpressionT *name_expression)
 
V8_INLINE bool ParseAccessorPropertyOrAutoAccessors (ParsePropertyInfo *prop_info, ExpressionT *name_expression, int *name_token_position)
 
ClassLiteralPropertyT ParseClassPropertyDefinition (ClassInfo *class_info, ParsePropertyInfo *prop_info, bool has_extends)
 
void CheckClassFieldName (IdentifierT name, bool is_static)
 
void CheckClassMethodName (IdentifierT name, ParsePropertyKind type, ParseFunctionFlags flags, bool is_static, bool *has_seen_constructor)
 
ExpressionT ParseMemberInitializer (ClassInfo *class_info, int beg_pos, int info_id, bool is_static)
 
BlockT ParseClassStaticBlock (ClassInfo *class_info)
 
ObjectLiteralPropertyT ParseObjectPropertyDefinition (ParsePropertyInfo *prop_info, bool *has_seen_proto)
 
void ParseArguments (ExpressionListT *args, bool *has_spread, ParsingArrowHeadFlag maybe_arrow=kCertainlyNotArrowHead)
 
ExpressionT ParseYieldExpression ()
 
V8_INLINE ExpressionT ParseConditionalExpression ()
 
ExpressionT ParseConditionalChainExpression (ExpressionT condition, int condition_pos)
 
ExpressionT ParseConditionalContinuation (ExpressionT expression, int pos)
 
ExpressionT ParseLogicalExpression ()
 
ExpressionT ParseCoalesceExpression (ExpressionT expression)
 
ExpressionT ParseBinaryContinuation (ExpressionT x, int prec, int prec1)
 
V8_INLINE ExpressionT ParseBinaryExpression (int prec)
 
ExpressionT ParseUnaryOrPrefixExpression ()
 
ExpressionT ParseAwaitExpression ()
 
V8_INLINE ExpressionT ParseUnaryExpression ()
 
V8_INLINE ExpressionT ParsePostfixExpression ()
 
V8_NOINLINE ExpressionT ParsePostfixContinuation (ExpressionT expression, int lhs_beg_pos)
 
V8_INLINE ExpressionT ParseLeftHandSideExpression ()
 
ExpressionT ParseLeftHandSideContinuation (ExpressionT expression)
 
ExpressionT ParseMemberWithPresentNewPrefixesExpression ()
 
ExpressionT ParseFunctionExpression ()
 
V8_INLINE ExpressionT ParseMemberExpression ()
 
V8_INLINE ExpressionT ParseMemberExpressionContinuation (ExpressionT expression)
 
ExpressionT DoParseMemberExpressionContinuation (ExpressionT expression)
 
ExpressionT ParseArrowFunctionLiteral (const FormalParametersT &parameters, int function_literal_id, bool could_be_immediately_invoked)
 
ExpressionT ParseAsyncFunctionLiteral ()
 
ExpressionT ParseClassExpression (Scope *outer_scope)
 
ExpressionT ParseClassLiteral (Scope *outer_scope, IdentifierT name, Scanner::Location class_name_location, bool name_is_strict_reserved, int class_token_pos)
 
void ParseClassLiteralBody (ClassInfo &class_info, IdentifierT name, int class_token_pos, Token::Value end_token)
 
ExpressionT ParseTemplateLiteral (ExpressionT tag, int start, bool tagged)
 
ExpressionT ParseSuperExpression ()
 
ExpressionT ParseImportExpressions ()
 
ExpressionT ParseNewTargetExpression ()
 
V8_INLINE void ParseFormalParameter (FormalParametersT *parameters)
 
void ParseFormalParameterList (FormalParametersT *parameters)
 
void CheckArityRestrictions (int param_count, FunctionKind function_type, bool has_rest, int formals_start_pos, int formals_end_pos)
 
void ParseVariableDeclarations (VariableDeclarationContext var_context, DeclarationParsingResult *parsing_result, ZonePtrList< const AstRawString > *names)
 
StatementT ParseAsyncFunctionDeclaration (ZonePtrList< const AstRawString > *names, bool default_export)
 
StatementT ParseFunctionDeclaration ()
 
StatementT ParseHoistableDeclaration (ZonePtrList< const AstRawString > *names, bool default_export)
 
StatementT ParseHoistableDeclaration (int pos, ParseFunctionFlags flags, ZonePtrList< const AstRawString > *names, bool default_export)
 
StatementT ParseClassDeclaration (ZonePtrList< const AstRawString > *names, bool default_export)
 
StatementT ParseNativeDeclaration ()
 
void ParseFunctionBody (StatementListT *body, IdentifierT function_name, int pos, const FormalParametersT &parameters, FunctionKind kind, FunctionSyntaxKind function_syntax_kind, FunctionBodyType body_type)
 
void CheckConflictingVarDeclarations (DeclarationScope *scope)
 
V8_INLINE void ParseStatementList (StatementListT *body, Token::Value end_token)
 
StatementT ParseStatementListItem ()
 
StatementT ParseStatement (ZonePtrList< const AstRawString > *labels, ZonePtrList< const AstRawString > *own_labels)
 
StatementT ParseStatement (ZonePtrList< const AstRawString > *labels, ZonePtrList< const AstRawString > *own_labels, AllowLabelledFunctionStatement allow_function)
 
BlockT ParseBlock (ZonePtrList< const AstRawString > *labels, Scope *block_scope)
 
BlockT ParseBlock (ZonePtrList< const AstRawString > *labels)
 
StatementT ParseScopedStatement (ZonePtrList< const AstRawString > *labels)
 
StatementT ParseVariableStatement (VariableDeclarationContext var_context, ZonePtrList< const AstRawString > *names)
 
ExpressionT ParseV8Intrinsic ()
 
StatementT ParseDebuggerStatement ()
 
StatementT ParseExpressionOrLabelledStatement (ZonePtrList< const AstRawString > *labels, ZonePtrList< const AstRawString > *own_labels, AllowLabelledFunctionStatement allow_function)
 
StatementT ParseIfStatement (ZonePtrList< const AstRawString > *labels)
 
StatementT ParseContinueStatement ()
 
StatementT ParseBreakStatement (ZonePtrList< const AstRawString > *labels)
 
StatementT ParseReturnStatement ()
 
StatementT ParseWithStatement (ZonePtrList< const AstRawString > *labels)
 
StatementT ParseDoWhileStatement (ZonePtrList< const AstRawString > *labels, ZonePtrList< const AstRawString > *own_labels)
 
StatementT ParseWhileStatement (ZonePtrList< const AstRawString > *labels, ZonePtrList< const AstRawString > *own_labels)
 
StatementT ParseThrowStatement ()
 
StatementT ParseSwitchStatement (ZonePtrList< const AstRawString > *labels)
 
V8_INLINE StatementT ParseTryStatement ()
 
StatementT ParseForStatement (ZonePtrList< const AstRawString > *labels, ZonePtrList< const AstRawString > *own_labels)
 
StatementT ParseForEachStatementWithDeclarations (int stmt_pos, ForInfo *for_info, ZonePtrList< const AstRawString > *labels, ZonePtrList< const AstRawString > *own_labels, Scope *inner_block_scope)
 
StatementT ParseForEachStatementWithoutDeclarations (int stmt_pos, ExpressionT expression, int lhs_beg_pos, int lhs_end_pos, ForInfo *for_info, ZonePtrList< const AstRawString > *labels, ZonePtrList< const AstRawString > *own_labels)
 
ForStatementT ParseStandardForLoop (int stmt_pos, ZonePtrList< const AstRawString > *labels, ZonePtrList< const AstRawString > *own_labels, ExpressionT *cond, StatementT *next, StatementT *body)
 
StatementT ParseStandardForLoopWithLexicalDeclarations (int stmt_pos, StatementT init, ForInfo *for_info, ZonePtrList< const AstRawString > *labels, ZonePtrList< const AstRawString > *own_labels)
 
StatementT ParseForAwaitStatement (ZonePtrList< const AstRawString > *labels, ZonePtrList< const AstRawString > *own_labels)
 
V8_INLINE bool IsLet (const AstRawString *identifier) const
 
bool IsNextLetKeyword ()
 
ExpressionT RewriteInvalidReferenceExpression (ExpressionT expression, int beg_pos, int end_pos, MessageTemplate message, bool early_error)
 
bool IsValidReferenceExpression (ExpressionT expression)
 
bool IsAssignableIdentifier (ExpressionT expression)
 
FunctionKind FunctionKindForImpl (SubFunctionKind sub_function_kind, ParseFunctionFlags flags)
 
FunctionKind FunctionKindFor (ParseFunctionFlags flags)
 
FunctionKind MethodKindFor (bool is_static, ParseFunctionFlags flags)
 
bool CheckPossibleEvalCall (ExpressionT expression, bool is_optional_call, Scope *scope)
 
StatementT BuildReturnStatement (ExpressionT expr, int pos, int end_pos=ReturnStatement::kFunctionLiteralReturnPosition)
 
SourceTextModuleDescriptormodule () const
 
Scopescope () const
 
V8_INLINE ExpressionScopeexpression_scope () const
 
bool MaybeParsingArrowhead () const
 
std::vector< void * > * pointer_buffer ()
 
std::vector< std::pair< VariableProxy *, int > > * variable_buffer ()
 
void set_has_module_in_scope_chain ()
 
- Static Protected Member Functions inherited from v8::internal::ParserBase< PreParser >
static bool IsAccessor (ParsePropertyKind kind)
 
- Protected Attributes inherited from v8::internal::ParserBase< PreParser >
Scopescope_
 
Scopeobject_literal_scope_
 
Scopeoriginal_scope_
 
FunctionState * function_state_
 
FuncNameInferrer fni_
 
AstValueFactoryast_value_factory_
 
Types::Factory ast_node_factory_
 
RuntimeCallStatsruntime_call_stats_
 
internal::V8FileLoggerv8_file_logger_
 
bool parsing_on_main_thread_
 
uintptr_t stack_limit_
 
PendingCompilationErrorHandlerpending_error_handler_
 

Detailed Description

Definition at line 855 of file preparser.h.

Member Typedef Documentation

◆ Expression

◆ Identifier

◆ Statement

Member Enumeration Documentation

◆ PreParseResult

Enumerator
kPreParseStackOverflow 
kPreParseNotIdentifiableError 
kPreParseSuccess 

Definition at line 863 of file preparser.h.

Constructor & Destructor Documentation

◆ PreParser()

v8::internal::PreParser::PreParser ( Zone * zone,
Scanner * scanner,
uintptr_t stack_limit,
AstValueFactory * ast_value_factory,
PendingCompilationErrorHandler * pending_error_handler,
RuntimeCallStats * runtime_call_stats,
V8FileLogger * v8_file_logger,
UnoptimizedCompileFlags flags,
bool parsing_on_main_thread = true )
inline

Definition at line 869 of file preparser.h.

Member Function Documentation

◆ AddClassStaticBlock()

V8_INLINE void v8::internal::PreParser::AddClassStaticBlock ( PreParserBlock block,
ClassInfo * class_info )
inlineprivate

Definition at line 1173 of file preparser.h.

◆ AddFormalParameter()

V8_INLINE void v8::internal::PreParser::AddFormalParameter ( PreParserFormalParameters * parameters,
const PreParserExpression & pattern,
const PreParserExpression & initializer,
int initializer_end_position,
bool is_rest )
inlineprivate

Definition at line 1568 of file preparser.h.

Here is the call graph for this function:

◆ AddFunctionForNameInference()

static V8_INLINE void v8::internal::PreParser::AddFunctionForNameInference ( const PreParserExpression & expression)
inlinestaticprivate

Definition at line 1293 of file preparser.h.

◆ AddInstanceFieldOrStaticElement()

V8_INLINE void v8::internal::PreParser::AddInstanceFieldOrStaticElement ( const PreParserExpression & property,
ClassInfo * class_info,
bool is_static )
inlineprivate

Definition at line 1140 of file preparser.h.

◆ AddSyntheticFunctionDeclaration()

V8_INLINE void v8::internal::PreParser::AddSyntheticFunctionDeclaration ( FunctionKind kind,
int pos )
inlineprivate

Definition at line 1178 of file preparser.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddTemplateExpression()

V8_INLINE void v8::internal::PreParser::AddTemplateExpression ( TemplateLiteralState * state,
const PreParserExpression & expression )
inlineprivate

Definition at line 977 of file preparser.h.

◆ AddTemplateSpan()

V8_INLINE void v8::internal::PreParser::AddTemplateSpan ( TemplateLiteralState * state,
bool should_cook,
bool tail )
inlineprivate

Definition at line 979 of file preparser.h.

◆ AllowsLazyParsingWithoutUnresolvedVariables()

bool v8::internal::PreParser::AllowsLazyParsingWithoutUnresolvedVariables ( ) const
inlineprivate

Definition at line 942 of file preparser.h.

◆ AppendConditionalChainElse()

V8_INLINE void v8::internal::PreParser::AppendConditionalChainElse ( PreParserExpression * x,
const SourceRange & else_range )
inlineprivate

Definition at line 1315 of file preparser.h.

◆ AsIdentifier()

static V8_INLINE PreParserIdentifier v8::internal::PreParser::AsIdentifier ( const PreParserExpression & expression)
inlinestaticprivate

Definition at line 1238 of file preparser.h.

◆ AsIdentifierExpression()

static V8_INLINE PreParserExpression v8::internal::PreParser::AsIdentifierExpression ( const PreParserExpression & expression)
inlinestaticprivate

Definition at line 1243 of file preparser.h.

◆ AsIterationStatement()

PreParserStatement v8::internal::PreParser::AsIterationStatement ( PreParserStatement s)
inlineprivate

Definition at line 1398 of file preparser.h.

◆ BuildInitializationBlock()

V8_INLINE PreParserStatement v8::internal::PreParser::BuildInitializationBlock ( DeclarationParsingResult * parsing_result)
inlineprivate

Definition at line 1331 of file preparser.h.

Here is the call graph for this function:

◆ BuildParameterInitializationBlock()

PreParserBlock v8::internal::PreParser::BuildParameterInitializationBlock ( const PreParserFormalParameters & parameters)
private

Definition at line 372 of file preparser.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BuildUnaryExpression()

V8_INLINE PreParserExpression v8::internal::PreParser::BuildUnaryExpression ( const PreParserExpression & expression,
Token::Value op,
int pos )
inlineprivate

Definition at line 1325 of file preparser.h.

Here is the call graph for this function:

◆ CheckAssigningFunctionLiteralToProperty()

static V8_INLINE void v8::internal::PreParser::CheckAssigningFunctionLiteralToProperty ( const PreParserExpression & left,
const PreParserExpression & right )
inlinestaticprivate

Definition at line 1297 of file preparser.h.

◆ CloseTemplateLiteral()

V8_INLINE PreParserExpression v8::internal::PreParser::CloseTemplateLiteral ( TemplateLiteralState * state,
int start,
const PreParserExpression & tag )
inlineprivate

Definition at line 981 of file preparser.h.

Here is the call graph for this function:

◆ CollapseConditionalChain()

V8_INLINE bool v8::internal::PreParser::CollapseConditionalChain ( PreParserExpression * x,
PreParserExpression cond,
PreParserExpression then_expression,
PreParserExpression else_expression,
int pos,
const SourceRange & then_range )
inlineprivate

Definition at line 1306 of file preparser.h.

◆ CollapseNaryExpression()

V8_INLINE bool v8::internal::PreParser::CollapseNaryExpression ( PreParserExpression * x,
PreParserExpression y,
Token::Value op,
int pos,
const SourceRange & range )
inlineprivate

Definition at line 1318 of file preparser.h.

◆ CountUsage()

V8_INLINE void v8::internal::PreParser::CountUsage ( v8::Isolate::UseCounterFeature feature)
inlineprivate

Definition at line 1604 of file preparser.h.

◆ CreateForEachStatementTDZ()

V8_INLINE PreParserBlock v8::internal::PreParser::CreateForEachStatementTDZ ( PreParserBlock init_block,
const ForInfo & for_info )
inlineprivate

Definition at line 1344 of file preparser.h.

Here is the call graph for this function:

◆ DeclareAndBindVariable()

void v8::internal::PreParser::DeclareAndBindVariable ( const VariableProxy * proxy,
VariableKind kind,
VariableMode mode,
Scope * scope,
bool * was_added,
int initializer_position )
inlineprivate

Definition at line 1006 of file preparser.h.

Here is the call graph for this function:

◆ DeclareArrowFunctionFormalParameters()

V8_INLINE void v8::internal::PreParser::DeclareArrowFunctionFormalParameters ( PreParserFormalParameters * parameters,
const PreParserExpression & params,
const Scanner::Location & params_loc )
inlineprivate

Definition at line 1587 of file preparser.h.

◆ DeclareCatchVariableName()

V8_INLINE Variable * v8::internal::PreParser::DeclareCatchVariableName ( Scope * scope,
const PreParserIdentifier & identifier )
inlineprivate

Definition at line 1517 of file preparser.h.

Here is the call graph for this function:

◆ DeclareClass()

V8_INLINE PreParserStatement v8::internal::PreParser::DeclareClass ( const PreParserIdentifier & variable_name,
const PreParserExpression & value,
ZonePtrList< const AstRawString > * names,
int class_token_pos,
int end_pos )
inlineprivate

Definition at line 1114 of file preparser.h.

Here is the call graph for this function:

◆ DeclareClassVariable()

V8_INLINE void v8::internal::PreParser::DeclareClassVariable ( ClassScope * scope,
const PreParserIdentifier & name,
ClassInfo * class_info,
int class_token_pos )
inlineprivate

Definition at line 1125 of file preparser.h.

Here is the call graph for this function:

◆ DeclareFormalParameters()

V8_INLINE void v8::internal::PreParser::DeclareFormalParameters ( const PreParserFormalParameters * parameters)
inlineprivate

Definition at line 1582 of file preparser.h.

Here is the call graph for this function:

◆ DeclareFunction()

V8_INLINE PreParserStatement v8::internal::PreParser::DeclareFunction ( const PreParserIdentifier & variable_name,
const PreParserExpression & function,
VariableMode mode,
VariableKind kind,
int beg_pos,
int end_pos,
ZonePtrList< const AstRawString > * names )
inlineprivate

Definition at line 1095 of file preparser.h.

Here is the call graph for this function:

◆ DeclareFunctionNameVar() [1/2]

V8_INLINE void v8::internal::PreParser::DeclareFunctionNameVar ( const AstRawString * function_name,
FunctionSyntaxKind function_syntax_kind,
DeclarationScope * function_scope )
inlineprivate

Definition at line 1074 of file preparser.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeclareFunctionNameVar() [2/2]

V8_INLINE void v8::internal::PreParser::DeclareFunctionNameVar ( const PreParserIdentifier & function_name,
FunctionSyntaxKind function_syntax_kind,
DeclarationScope * function_scope )
inlineprivate

Definition at line 1084 of file preparser.h.

Here is the call graph for this function:

◆ DeclareIdentifier()

V8_INLINE void v8::internal::PreParser::DeclareIdentifier ( const PreParserIdentifier & name,
int start_position )
inlineprivate

Definition at line 1512 of file preparser.h.

Here is the call graph for this function:

◆ DeclareNative()

V8_INLINE PreParserStatement v8::internal::PreParser::DeclareNative ( const PreParserIdentifier & name,
int pos )
inlineprivate

Definition at line 1206 of file preparser.h.

Here is the call graph for this function:

◆ DeclarePrivateClassMember()

V8_INLINE void v8::internal::PreParser::DeclarePrivateClassMember ( ClassScope * scope,
const PreParserIdentifier & property_name,
const PreParserExpression & property,
ClassLiteralProperty::Kind kind,
bool is_static,
ClassInfo * class_info )
inlineprivate

Definition at line 1156 of file preparser.h.

Here is the call graph for this function:

◆ DeclarePrivateVariableName()

Variable * v8::internal::PreParser::DeclarePrivateVariableName ( const AstRawString * name,
ClassScope * scope,
VariableMode mode,
IsStaticFlag is_static_flag,
bool * was_added )
inlineprivate

Definition at line 1015 of file preparser.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeclarePublicClassField()

V8_INLINE void v8::internal::PreParser::DeclarePublicClassField ( ClassScope * scope,
const PreParserExpression & property,
bool is_static,
bool is_computed_name,
ClassInfo * class_info )
inlineprivate

Definition at line 1143 of file preparser.h.

Here is the call graph for this function:

◆ DeclarePublicClassMethod()

V8_INLINE void v8::internal::PreParser::DeclarePublicClassMethod ( const PreParserIdentifier & class_name,
const PreParserExpression & property,
bool is_constructor,
ClassInfo * class_info )
inlineprivate

Definition at line 1135 of file preparser.h.

◆ DeclareVariable()

Variable * v8::internal::PreParser::DeclareVariable ( const AstRawString * name,
VariableKind kind,
VariableMode mode,
InitializationFlag init,
Scope * scope,
bool * was_added,
int position )
inlineprivate

Definition at line 1000 of file preparser.h.

Here is the call graph for this function:

◆ DeclareVariableName()

Variable * v8::internal::PreParser::DeclareVariableName ( const AstRawString * name,
VariableMode mode,
Scope * scope,
bool * was_added,
int position = kNoSourcePosition,
VariableKind kind = NORMAL_VARIABLE )
inlineprivate

Definition at line 1023 of file preparser.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DesugarBindingInForEachStatement()

V8_INLINE void v8::internal::PreParser::DesugarBindingInForEachStatement ( ForInfo * for_info,
PreParserStatement * body_block,
PreParserExpression * each_variable )
inlineprivate

Definition at line 1339 of file preparser.h.

◆ DesugarLexicalBindingsInForStatement()

V8_INLINE StatementT v8::internal::PreParser::DesugarLexicalBindingsInForStatement ( PreParserStatement loop,
PreParserStatement init,
const PreParserExpression & cond,
PreParserStatement next,
PreParserStatement body,
Scope * inner_scope,
const ForInfo & for_info )
inlineprivate

Definition at line 1356 of file preparser.h.

Here is the call graph for this function:

◆ EmptyIdentifierString()

V8_INLINE PreParserIdentifier v8::internal::PreParser::EmptyIdentifierString ( ) const
inlineprivate

Definition at line 1430 of file preparser.h.

Here is the call graph for this function:

◆ ExpressionFromIdentifier()

PreParserExpression v8::internal::PreParser::ExpressionFromIdentifier ( const PreParserIdentifier & name,
int start_position,
InferName infer = InferName::kYes )
inlineprivate

Definition at line 1505 of file preparser.h.

Here is the call graph for this function:

◆ ExpressionFromLiteral()

V8_INLINE PreParserExpression v8::internal::PreParser::ExpressionFromLiteral ( Token::Value token,
int pos )
inlineprivate

Definition at line 1490 of file preparser.h.

Here is the call graph for this function:

◆ ExpressionFromPrivateName()

V8_INLINE PreParserExpression v8::internal::PreParser::ExpressionFromPrivateName ( PrivateNameScopeIterator * private_name_scope,
const PreParserIdentifier & name,
int start_position )
inlineprivate

Definition at line 1496 of file preparser.h.

Here is the call graph for this function:

◆ ExpressionListToExpression()

V8_INLINE PreParserExpression v8::internal::PreParser::ExpressionListToExpression ( const PreParserExpressionList & args)
inlineprivate

Definition at line 1593 of file preparser.h.

Here is the call graph for this function:

◆ FailureExpression()

static V8_INLINE PreParserExpression v8::internal::PreParser::FailureExpression ( )
inlinestaticprivate

Definition at line 1407 of file preparser.h.

Here is the call graph for this function:

◆ GetBigIntAsSymbol()

V8_INLINE PreParserIdentifier v8::internal::PreParser::GetBigIntAsSymbol ( ) const
inlineprivate

Definition at line 1454 of file preparser.h.

Here is the call graph for this function:

◆ GetDefaultStrings()

static V8_INLINE void v8::internal::PreParser::GetDefaultStrings ( PreParserIdentifier * default_string,
PreParserIdentifier * dot_default_string )
inlinestaticprivate

Definition at line 1283 of file preparser.h.

◆ GetEmbedderCompileHint()

V8_INLINE FunctionLiteral::EagerCompileHint v8::internal::PreParser::GetEmbedderCompileHint ( FunctionLiteral::EagerCompileHint current_compile_hint,
int position )
inlineprivate

Definition at line 1610 of file preparser.h.

◆ GetIdentifier()

PreParserIdentifier v8::internal::PreParser::GetIdentifier ( ) const
private

Definition at line 58 of file preparser.cc.

Here is the call graph for this function:

◆ GetNextSymbol()

V8_INLINE PreParserIdentifier v8::internal::PreParser::GetNextSymbol ( ) const
inlineprivate

Definition at line 1446 of file preparser.h.

Here is the call graph for this function:

◆ GetNumberAsSymbol()

V8_INLINE PreParserIdentifier v8::internal::PreParser::GetNumberAsSymbol ( ) const
inlineprivate

Definition at line 1450 of file preparser.h.

Here is the call graph for this function:

◆ GetRawNameFromIdentifier()

const AstRawString * v8::internal::PreParser::GetRawNameFromIdentifier ( const PreParserIdentifier & arg)
inlineprivate

Definition at line 1394 of file preparser.h.

◆ GetSymbol()

PreParserIdentifier v8::internal::PreParser::GetSymbol ( ) const
inlineprivate

Definition at line 1440 of file preparser.h.

Here is the call graph for this function:

◆ HasCheckedSyntax()

bool v8::internal::PreParser::HasCheckedSyntax ( )
inlineprivate

Definition at line 968 of file preparser.h.

◆ IdentifierEquals()

bool v8::internal::PreParser::IdentifierEquals ( const PreParserIdentifier & identifier,
const AstRawString * other )
private

Definition at line 396 of file preparser.cc.

◆ ImportMetaExpression()

V8_INLINE PreParserExpression v8::internal::PreParser::ImportMetaExpression ( int pos)
inlineprivate

Definition at line 1486 of file preparser.h.

Here is the call graph for this function:

◆ InferFunctionName()

static V8_INLINE void v8::internal::PreParser::InferFunctionName ( )
inlinestaticprivate

Definition at line 1295 of file preparser.h.

◆ InitializeObjectLiteral()

PreParserExpression v8::internal::PreParser::InitializeObjectLiteral ( PreParserExpression literal)
inlineprivate

Definition at line 964 of file preparser.h.

◆ InsertShadowingVarBindingInitializers()

V8_INLINE void v8::internal::PreParser::InsertShadowingVarBindingInitializers ( PreParserStatement block)
inlineprivate

Definition at line 1376 of file preparser.h.

◆ InsertSloppyBlockFunctionVarBindings()

V8_INLINE void v8::internal::PreParser::InsertSloppyBlockFunctionVarBindings ( DeclarationScope * scope)
inlineprivate

Definition at line 1372 of file preparser.h.

Here is the call graph for this function:

◆ IsArguments()

V8_INLINE bool v8::internal::PreParser::IsArguments ( const PreParserIdentifier & identifier) const
inlineprivate

Definition at line 1220 of file preparser.h.

◆ IsArrayIndex()

static V8_INLINE bool v8::internal::PreParser::IsArrayIndex ( const PreParserIdentifier & string,
uint32_t * index )
inlinestaticprivate

Definition at line 1274 of file preparser.h.

◆ IsAsync()

V8_INLINE bool v8::internal::PreParser::IsAsync ( const PreParserIdentifier & identifier) const
inlineprivate

Definition at line 1216 of file preparser.h.

◆ IsBoilerplateProperty()

static V8_INLINE bool v8::internal::PreParser::IsBoilerplateProperty ( const PreParserExpression & property)
inlinestaticprivate

Definition at line 1252 of file preparser.h.

◆ IsConstructor()

V8_INLINE bool v8::internal::PreParser::IsConstructor ( const PreParserIdentifier & identifier) const
inlineprivate

Definition at line 1248 of file preparser.h.

◆ IsEmptyIdentifier()

V8_INLINE bool v8::internal::PreParser::IsEmptyIdentifier ( PreParserIdentifier subject)
inlineprivate

Definition at line 1435 of file preparser.h.

Here is the caller graph for this function:

◆ IsEval()

V8_INLINE bool v8::internal::PreParser::IsEval ( const PreParserIdentifier & identifier) const
inlineprivate

Definition at line 1212 of file preparser.h.

◆ IsEvalOrArguments()

V8_INLINE bool v8::internal::PreParser::IsEvalOrArguments ( const PreParserIdentifier & identifier) const
inlineprivate

Definition at line 1224 of file preparser.h.

◆ IsIdentifier()

static V8_INLINE bool v8::internal::PreParser::IsIdentifier ( const PreParserExpression & expression)
inlinestaticprivate

Definition at line 1234 of file preparser.h.

◆ IsIterationStatement()

static V8_INLINE bool v8::internal::PreParser::IsIterationStatement ( PreParserStatement subject)
inlinestaticprivate

Definition at line 1426 of file preparser.h.

Here is the call graph for this function:

◆ IsNative()

V8_INLINE bool v8::internal::PreParser::IsNative ( const PreParserExpression & expr) const
inlineprivate

Definition at line 1266 of file preparser.h.

◆ IsNull()

template<typename T >
static V8_INLINE bool v8::internal::PreParser::IsNull ( T subject)
inlinestaticprivate

Definition at line 1422 of file preparser.h.

◆ IsPreParser()

static bool v8::internal::PreParser::IsPreParser ( )
inlinestatic

Definition at line 889 of file preparser.h.

◆ IsPrivateReference()

V8_INLINE bool v8::internal::PreParser::IsPrivateReference ( const PreParserExpression & expression)
inlineprivate

Definition at line 985 of file preparser.h.

◆ IsStringLiteral()

V8_INLINE bool v8::internal::PreParser::IsStringLiteral ( PreParserStatement statement) const
inlineprivate

Definition at line 1279 of file preparser.h.

◆ IsThisProperty()

static V8_INLINE bool v8::internal::PreParser::IsThisProperty ( const PreParserExpression & expression)
inlinestaticprivate

Definition at line 1230 of file preparser.h.

◆ logger()

PreParserLogger * v8::internal::PreParser::logger ( )
inline

Definition at line 891 of file preparser.h.

Here is the caller graph for this function:

◆ NewClassLiteralPropertyWithAccessorInfo()

V8_INLINE PreParserExpression v8::internal::PreParser::NewClassLiteralPropertyWithAccessorInfo ( ClassScope * scope,
ClassInfo * class_info,
const PreParserIdentifier & name,
const PreParserExpression & key,
const PreParserExpression & value,
bool is_static,
bool is_computed_name,
bool is_private,
int pos )
inlineprivate

Definition at line 1534 of file preparser.h.

Here is the call graph for this function:

◆ NewClassPropertyList()

V8_INLINE PreParserPropertyList v8::internal::PreParser::NewClassPropertyList ( int size) const
inlineprivate

Definition at line 1522 of file preparser.h.

◆ NewClassStaticElementList()

V8_INLINE PreParserPropertyList v8::internal::PreParser::NewClassStaticElementList ( int size) const
inlineprivate

Definition at line 1526 of file preparser.h.

◆ NewStatementList()

V8_INLINE PreParserStatementList v8::internal::PreParser::NewStatementList ( int size) const
inlineprivate

Definition at line 1530 of file preparser.h.

◆ NewSuperCallReference()

V8_INLINE PreParserExpression v8::internal::PreParser::NewSuperCallReference ( int pos)
inlineprivate

Definition at line 1472 of file preparser.h.

Here is the call graph for this function:

◆ NewSuperPropertyReference()

V8_INLINE PreParserExpression v8::internal::PreParser::NewSuperPropertyReference ( int pos)
inlineprivate

Definition at line 1468 of file preparser.h.

Here is the call graph for this function:

◆ NewTargetExpression()

V8_INLINE PreParserExpression v8::internal::PreParser::NewTargetExpression ( int pos)
inlineprivate

Definition at line 1482 of file preparser.h.

Here is the call graph for this function:

◆ NewThisExpression()

V8_INLINE PreParserExpression v8::internal::PreParser::NewThisExpression ( int pos)
inlineprivate

Definition at line 1463 of file preparser.h.

Here is the call graph for this function:

◆ NewThrowReferenceError()

V8_INLINE PreParserExpression v8::internal::PreParser::NewThrowReferenceError ( MessageTemplate message,
int pos )
inlineprivate

Definition at line 1379 of file preparser.h.

Here is the call graph for this function:

◆ NewThrowStatement()

V8_INLINE PreParserStatement v8::internal::PreParser::NewThrowStatement ( const PreParserExpression & exception,
int pos )
inlineprivate

Definition at line 1564 of file preparser.h.

Here is the call graph for this function:

◆ NewV8Intrinsic()

V8_INLINE PreParserExpression v8::internal::PreParser::NewV8Intrinsic ( const PreParserIdentifier & name,
const PreParserExpressionList & arguments,
int pos )
inlineprivate

Definition at line 1558 of file preparser.h.

Here is the call graph for this function:

◆ NullBlock()

static V8_INLINE PreParserBlock v8::internal::PreParser::NullBlock ( )
inlinestaticprivate

Definition at line 1419 of file preparser.h.

Here is the call graph for this function:

◆ NullExpression()

static V8_INLINE PreParserExpression v8::internal::PreParser::NullExpression ( )
inlinestaticprivate

Definition at line 1404 of file preparser.h.

Here is the call graph for this function:

◆ NullIdentifier()

static V8_INLINE PreParserIdentifier v8::internal::PreParser::NullIdentifier ( )
inlinestaticprivate

Definition at line 1401 of file preparser.h.

Here is the call graph for this function:

◆ NullLiteralProperty()

static V8_INLINE PreParserExpression v8::internal::PreParser::NullLiteralProperty ( )
inlinestaticprivate

Definition at line 1410 of file preparser.h.

Here is the call graph for this function:

◆ NullStatement()

static V8_INLINE PreParserStatement v8::internal::PreParser::NullStatement ( )
inlinestaticprivate

Definition at line 1416 of file preparser.h.

Here is the call graph for this function:

◆ NullStatementList()

static V8_INLINE PreParserStatementList v8::internal::PreParser::NullStatementList ( )
inlinestaticprivate

Definition at line 1413 of file preparser.h.

Here is the call graph for this function:

◆ OpenTemplateLiteral()

V8_INLINE TemplateLiteralState v8::internal::PreParser::OpenTemplateLiteral ( int pos)
inlineprivate

Definition at line 974 of file preparser.h.

◆ parse_lazily()

bool v8::internal::PreParser::parse_lazily ( ) const
inlineprivate

Definition at line 943 of file preparser.h.

◆ ParseAsyncGeneratorFunctionBody()

V8_INLINE void v8::internal::PreParser::ParseAsyncGeneratorFunctionBody ( int pos,
FunctionKind kind,
PreParserScopedStatementList * body )
inlineprivate

Definition at line 1070 of file preparser.h.

Here is the call graph for this function:

◆ ParseFunctionLiteral()

PreParser::Expression v8::internal::PreParser::ParseFunctionLiteral ( Identifier name,
Scanner::Location function_name_location,
FunctionNameValidity function_name_validity,
FunctionKind kind,
int function_token_pos,
FunctionSyntaxKind function_syntax_kind,
LanguageMode language_mode,
ZonePtrList< const AstRawString > * arguments_for_wrapped_function )
private

Definition at line 259 of file preparser.cc.

Here is the call graph for this function:

◆ ParseGeneratorFunctionBody()

V8_INLINE void v8::internal::PreParser::ParseGeneratorFunctionBody ( int pos,
FunctionKind kind,
PreParserScopedStatementList * body )
inlineprivate

Definition at line 1066 of file preparser.h.

Here is the call graph for this function:

◆ ParseStatementListAndLogFunction()

void v8::internal::PreParser::ParseStatementListAndLogFunction ( PreParserFormalParameters * formals)
private

Definition at line 359 of file preparser.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ParsingDynamicFunctionDeclaration()

V8_INLINE bool v8::internal::PreParser::ParsingDynamicFunctionDeclaration ( ) const
inlineprivate

Definition at line 1608 of file preparser.h.

◆ ParsingExtension()

V8_INLINE bool v8::internal::PreParser::ParsingExtension ( ) const
inlineprivate

Definition at line 1258 of file preparser.h.

◆ pending_error_handler()

PendingCompilationErrorHandler * v8::internal::PreParser::pending_error_handler ( )
inlineprivate

Definition at line 945 of file preparser.h.

Here is the caller graph for this function:

◆ PrepareGeneratorVariables()

V8_INLINE void v8::internal::PreParser::PrepareGeneratorVariables ( )
inlineprivate

Definition at line 993 of file preparser.h.

◆ preparse_data_builder()

PreparseDataBuilder * v8::internal::PreParser::preparse_data_builder ( ) const
inline

Definition at line 912 of file preparser.h.

Here is the caller graph for this function:

◆ preparse_data_builder_buffer()

std::vector< void * > * v8::internal::PreParser::preparse_data_builder_buffer ( )
inline

Definition at line 920 of file preparser.h.

Here is the caller graph for this function:

◆ PreParseFunction()

PreParser::PreParseResult v8::internal::PreParser::PreParseFunction ( const AstRawString * function_name,
FunctionKind kind,
FunctionSyntaxKind function_syntax_kind,
DeclarationScope * function_scope,
int * use_counts,
ProducedPreparseData ** produced_preparser_scope_data )

Definition at line 101 of file preparser.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PreParseProgram()

PreParser::PreParseResult v8::internal::PreParser::PreParseProgram ( )

Definition at line 67 of file preparser.cc.

Here is the call graph for this function:

◆ PreParserIdentifierToAstRawString()

V8_INLINE const AstRawString * v8::internal::PreParser::PreParserIdentifierToAstRawString ( const PreParserIdentifier & x)
inlineprivate

Definition at line 1384 of file preparser.h.

◆ PushEnclosingName()

V8_INLINE void v8::internal::PreParser::PushEnclosingName ( const PreParserIdentifier & name)
inlineprivate

Definition at line 1292 of file preparser.h.

◆ PushLiteralName()

static V8_INLINE void v8::internal::PreParser::PushLiteralName ( const PreParserIdentifier & id)
inlinestaticprivate

Definition at line 1289 of file preparser.h.

◆ PushPropertyName()

V8_INLINE void v8::internal::PreParser::PushPropertyName ( const PreParserExpression & expression)
inlineprivate

Definition at line 1291 of file preparser.h.

◆ PushVariableName()

static V8_INLINE void v8::internal::PreParser::PushVariableName ( const PreParserIdentifier & id)
inlinestaticprivate

Definition at line 1290 of file preparser.h.

◆ ReindexArrowFunctionFormalParameters()

V8_INLINE void v8::internal::PreParser::ReindexArrowFunctionFormalParameters ( PreParserFormalParameters * parameters)
inlineprivate

Definition at line 1578 of file preparser.h.

◆ ReindexComputedMemberName()

V8_INLINE void v8::internal::PreParser::ReindexComputedMemberName ( const PreParserExpression & expression)
inlineprivate

Definition at line 1580 of file preparser.h.

◆ ReportUnexpectedTokenAt()

V8_INLINE void v8::internal::PreParser::ReportUnexpectedTokenAt ( Scanner::Location location,
Token::Value token,
MessageTemplate message = MessageTemplate::kUnexpectedToken )
inlineprivate

Definition at line 1061 of file preparser.h.

Here is the call graph for this function:

◆ ReportUnidentifiableError()

V8_INLINE void v8::internal::PreParser::ReportUnidentifiableError ( )
inlineprivate

Definition at line 1389 of file preparser.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReportVarRedeclarationIn()

V8_INLINE void v8::internal::PreParser::ReportVarRedeclarationIn ( const AstRawString * name,
Scope * scope )
inlineprivate

Definition at line 1049 of file preparser.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RewriteCatchPattern()

V8_INLINE PreParserBlock v8::internal::PreParser::RewriteCatchPattern ( CatchInfo * catch_info)
inlineprivate

Definition at line 1045 of file preparser.h.

Here is the call graph for this function:

◆ RewriteClassLiteral()

V8_INLINE PreParserExpression v8::internal::PreParser::RewriteClassLiteral ( ClassScope * scope,
const PreParserIdentifier & name,
ClassInfo * class_info,
int pos )
inlineprivate

Definition at line 1193 of file preparser.h.

Here is the call graph for this function:

◆ RewriteForVarInLegacy()

V8_INLINE PreParserBlock v8::internal::PreParser::RewriteForVarInLegacy ( const ForInfo & for_info)
inlineprivate

Definition at line 1335 of file preparser.h.

Here is the call graph for this function:

◆ RewriteSwitchStatement()

V8_INLINE PreParserStatement v8::internal::PreParser::RewriteSwitchStatement ( PreParserStatement switch_statement,
Scope * scope )
inlineprivate

Definition at line 996 of file preparser.h.

Here is the call graph for this function:

◆ RewriteTryStatement()

V8_INLINE PreParserStatement v8::internal::PreParser::RewriteTryStatement ( PreParserStatement try_block,
PreParserStatement catch_block,
const SourceRange & catch_range,
PreParserStatement finally_block,
const SourceRange & finally_range,
const CatchInfo & catch_info,
int pos )
inlineprivate

Definition at line 1054 of file preparser.h.

Here is the call graph for this function:

◆ set_preparse_data_builder()

void v8::internal::PreParser::set_preparse_data_builder ( PreparseDataBuilder * preparse_data_builder)
inline

Definition at line 916 of file preparser.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetAsmModule()

V8_INLINE void v8::internal::PreParser::SetAsmModule ( )
inlineprivate

Definition at line 991 of file preparser.h.

◆ SetFunctionNameFromIdentifierRef()

V8_INLINE void v8::internal::PreParser::SetFunctionNameFromIdentifierRef ( const PreParserExpression & value,
const PreParserExpression & identifier )
inlineprivate

Definition at line 1600 of file preparser.h.

◆ SetFunctionNameFromPropertyName()

V8_INLINE void v8::internal::PreParser::SetFunctionNameFromPropertyName ( const PreParserExpression & property,
const PreParserIdentifier & name,
const AstRawString * prefix = nullptr )
inlineprivate

Definition at line 1597 of file preparser.h.

◆ SetLanguageMode()

V8_INLINE void v8::internal::PreParser::SetLanguageMode ( Scope * scope,
LanguageMode mode )
inlineprivate

Definition at line 988 of file preparser.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShortcutLiteralBinaryExpression()

V8_INLINE bool v8::internal::PreParser::ShortcutLiteralBinaryExpression ( PreParserExpression * x,
const PreParserExpression & y,
Token::Value op,
int pos )
inlineprivate

Definition at line 1300 of file preparser.h.

◆ SkipFunction()

V8_INLINE bool v8::internal::PreParser::SkipFunction ( const AstRawString * name,
FunctionKind kind,
FunctionSyntaxKind function_syntax_kind,
DeclarationScope * function_scope,
int * num_parameters,
int * function_length,
ProducedPreparseData ** produced_preparse_data )
inlineprivate

Definition at line 949 of file preparser.h.

Here is the call graph for this function:

◆ ThisExpression()

V8_INLINE PreParserExpression v8::internal::PreParser::ThisExpression ( )
inlineprivate

Definition at line 1458 of file preparser.h.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ i::ArrowHeadParsingScope< ParserTypes< PreParser > >

friend class i::ArrowHeadParsingScope< ParserTypes< PreParser > >
friend

Definition at line 920 of file preparser.h.

◆ i::ExpressionScope< ParserTypes< PreParser > >

friend class i::ExpressionScope< ParserTypes< PreParser > >
friend

Definition at line 920 of file preparser.h.

◆ i::ParameterDeclarationParsingScope< ParserTypes< PreParser > >

Definition at line 920 of file preparser.h.

◆ i::VariableDeclarationParsingScope< ParserTypes< PreParser > >

Definition at line 920 of file preparser.h.

◆ ParserBase< PreParser >

friend class ParserBase< PreParser >
friend

Definition at line 803 of file preparser.h.

◆ PreParserFormalParameters

friend class PreParserFormalParameters
friend

Definition at line 929 of file preparser.h.

Member Data Documentation

◆ log_

PreParserLogger v8::internal::PreParser::log_
private

Definition at line 1626 of file preparser.h.

◆ preparse_data_builder_

PreparseDataBuilder* v8::internal::PreParser::preparse_data_builder_
private

Definition at line 1628 of file preparser.h.

◆ preparse_data_builder_buffer_

std::vector<void*> v8::internal::PreParser::preparse_data_builder_buffer_
private

Definition at line 1629 of file preparser.h.

◆ use_counts_

int* v8::internal::PreParser::use_counts_
private

Definition at line 1625 of file preparser.h.


The documentation for this class was generated from the following files: