V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::AstNodeFactory Class Referencefinal

Public Member Functions

 AstNodeFactory (AstValueFactory *ast_value_factory, Zone *zone)
 
AstValueFactory * ast_value_factory () const
 
VariableDeclaration * NewVariableDeclaration (VariableProxy *proxy, int pos)
 
NestedVariableDeclaration * NewNestedVariableDeclaration (VariableProxy *proxy, Scope *scope, int pos)
 
FunctionDeclaration * NewFunctionDeclaration (VariableProxy *proxy, FunctionLiteral *fun, bool is_sloppy_block_function, int pos)
 
Block * NewBlock (int capacity, bool ignore_completion_value)
 
Block * NewBlock (bool ignore_completion_value, ZonePtrList< const AstRawString > *labels)
 
Block * NewBlock (bool ignore_completion_value, const ScopedPtrList< Statement > &statements)
 
SwitchStatement * NewSwitchStatement (ZonePtrList< const AstRawString > *labels, Expression *tag, int pos)
 
ForEachStatement * NewForEachStatement (ForEachStatement::VisitMode visit_mode, ZonePtrList< const AstRawString > *labels, ZonePtrList< const AstRawString > *own_labels, int pos)
 
ForOfStatement * NewForOfStatement (ZonePtrList< const AstRawString > *labels, ZonePtrList< const AstRawString > *own_labels, int pos)
 
ExpressionStatement * NewExpressionStatement (Expression *expression, int pos)
 
ContinueStatement * NewContinueStatement (IterationStatement *target, int pos)
 
BreakStatement * NewBreakStatement (BreakableStatement *target, int pos)
 
ReturnStatement * NewReturnStatement (Expression *expression, int pos, int end_position=kNoSourcePosition)
 
ReturnStatement * NewAsyncReturnStatement (Expression *expression, int pos, int end_position=kNoSourcePosition)
 
WithStatement * NewWithStatement (Scope *scope, Expression *expression, Statement *statement, int pos)
 
IfStatement * NewIfStatement (Expression *condition, Statement *then_statement, Statement *else_statement, int pos)
 
TryCatchStatement * NewTryCatchStatement (Block *try_block, Scope *scope, Block *catch_block, int pos)
 
TryCatchStatement * NewTryCatchStatementForReThrow (Block *try_block, Scope *scope, Block *catch_block, int pos)
 
TryCatchStatement * NewTryCatchStatementForDesugaring (Block *try_block, Scope *scope, Block *catch_block, int pos)
 
TryCatchStatement * NewTryCatchStatementForAsyncAwait (Block *try_block, Scope *scope, Block *catch_block, int pos)
 
TryFinallyStatement * NewTryFinallyStatement (Block *try_block, Block *finally_block, int pos)
 
DebuggerStatement * NewDebuggerStatement (int pos)
 
class EmptyStatement * EmptyStatement ()
 
class FailureExpression * FailureExpression ()
 
SloppyBlockFunctionStatement * NewSloppyBlockFunctionStatement ()
 
CaseClause * NewCaseClause (Expression *label, const ScopedPtrList< Statement > &statements)
 
Literal * NewStringLiteral (const AstRawString *string, int pos)
 
Literal * NewSymbolLiteral (AstSymbol symbol, int pos)
 
Literal * NewNumberLiteral (double number, int pos)
 
Literal * NewSmiLiteral (int number, int pos)
 
Literal * NewBigIntLiteral (AstBigInt bigint, int pos)
 
Literal * NewBooleanLiteral (bool b, int pos)
 
Literal * NewNullLiteral (int pos)
 
Literal * NewUndefinedLiteral (int pos)
 
Literal * NewTheHoleLiteral ()
 
ObjectLiteral * NewObjectLiteral (const ScopedPtrList< ObjectLiteral::Property > &properties, uint32_t boilerplate_properties, int pos, bool has_rest_property)
 
ObjectLiteral::Property * NewObjectLiteralProperty (Expression *key, Expression *value, ObjectLiteralProperty::Kind kind, bool is_computed_name)
 
ObjectLiteral::Property * NewObjectLiteralProperty (Expression *key, Expression *value, bool is_computed_name)
 
RegExpLiteral * NewRegExpLiteral (const AstRawString *pattern, int flags, int pos)
 
ArrayLiteral * NewArrayLiteral (const ScopedPtrList< Expression > &values, int pos)
 
ArrayLiteral * NewArrayLiteral (const ScopedPtrList< Expression > &values, int first_spread_index, int pos)
 
VariableProxy * NewVariableProxy (Variable *var, int start_position=kNoSourcePosition)
 
VariableProxy * NewVariableProxy (const AstRawString *name, VariableKind variable_kind, int start_position=kNoSourcePosition)
 
VariableProxy * CopyVariableProxy (VariableProxy *proxy)
 
Variable * CopyVariable (Variable *variable)
 
Property * NewProperty (Expression *obj, Expression *key, int pos)
 
ResolvedProperty * NewResolvedProperty (VariableProxy *obj, VariableProxy *property, int pos=kNoSourcePosition)
 
Call * NewCall (Expression *expression, const ScopedPtrList< Expression > &arguments, int pos, Call::PossiblyEval possibly_eval=Call::NOT_EVAL)
 
Call * NewTaggedTemplate (Expression *expression, const ScopedPtrList< Expression > &arguments, int pos)
 
CallNew * NewCallNew (Expression *expression, const ScopedPtrList< Expression > &arguments, int pos)
 
CallRuntime * NewCallRuntime (Runtime::FunctionId id, const ScopedPtrList< Expression > &arguments, int pos)
 
CallRuntime * NewCallRuntime (const Runtime::Function *function, const ScopedPtrList< Expression > &arguments, int pos)
 
CallRuntime * NewCallRuntime (int context_index, const ScopedPtrList< Expression > &arguments, int pos)
 
UnaryOperation * NewUnaryOperation (Token::Value op, Expression *expression, int pos)
 
BinaryOperation * NewBinaryOperation (Token::Value op, Expression *left, Expression *right, int pos)
 
NaryOperation * NewNaryOperation (Token::Value op, Expression *first, size_t initial_subsequent_size)
 
CountOperation * NewCountOperation (Token::Value op, bool is_prefix, Expression *expr, int pos)
 
CompareOperation * NewCompareOperation (Token::Value op, Expression *left, Expression *right, int pos)
 
Spread * NewSpread (Expression *expression, int pos, int expr_pos)
 
StoreInArrayLiteral * NewStoreInArrayLiteral (Expression *array, Expression *index, Expression *value, int pos)
 
Conditional * NewConditional (Expression *condition, Expression *then_expression, Expression *else_expression, int position)
 
RewritableExpression * NewRewritableExpression (Expression *expression, Scope *scope)
 
Assignment * NewAssignment (Token::Value op, Expression *target, Expression *value, int pos)
 
Suspend * NewYield (Expression *expression, int pos, Suspend::OnAbruptResume on_abrupt_resume)
 
YieldStar * NewYieldStar (Expression *expression, int pos)
 
Await * NewAwait (Expression *expression, int pos)
 
Throw * NewThrow (Expression *exception, int pos)
 
FunctionLiteral * NewFunctionLiteral (const AstRawString *name, DeclarationScope *scope, const ScopedPtrList< Statement > &body, int expected_property_count, int parameter_count, int function_length, FunctionLiteral::ParameterFlag has_duplicate_parameters, FunctionLiteral::FunctionType function_type, FunctionLiteral::EagerCompileHint eager_compile_hint, int position, bool has_braces, int function_literal_id, ProducedPreParsedScopeData *produced_preparsed_scope_data=nullptr)
 
FunctionLiteral * NewScriptOrEvalFunctionLiteral (DeclarationScope *scope, const ScopedPtrList< Statement > &body, int expected_property_count, int parameter_count)
 
ClassLiteral::Property * NewClassLiteralProperty (Expression *key, Expression *value, ClassLiteralProperty::Kind kind, bool is_static, bool is_computed_name, bool is_private)
 
ClassLiteral * NewClassLiteral (Scope *scope, Variable *variable, Expression *extends, FunctionLiteral *constructor, ZonePtrList< ClassLiteral::Property > *properties, FunctionLiteral *static_fields_initializer, FunctionLiteral *instance_members_initializer_function, int start_position, int end_position, bool has_name_static_property, bool has_static_computed_names, bool is_anonymous)
 
NativeFunctionLiteral * NewNativeFunctionLiteral (const AstRawString *name, v8::Extension *extension, int pos)
 
DoExpression * NewDoExpression (Block *block, Variable *result_var, int pos)
 
ThisFunction * NewThisFunction (int pos)
 
SuperPropertyReference * NewSuperPropertyReference (VariableProxy *this_var, Expression *home_object, int pos)
 
SuperCallReference * NewSuperCallReference (VariableProxy *this_var, VariableProxy *new_target_var, VariableProxy *this_function_var, int pos)
 
EmptyParentheses * NewEmptyParentheses (int pos)
 
GetIterator * NewGetIterator (Expression *iterable, Expression *destructured_iterable, IteratorType hint, int pos)
 
GetIterator * NewGetIterator (Expression *iterable, IteratorType hint, int pos)
 
GetTemplateObject * NewGetTemplateObject (const ZonePtrList< const AstRawString > *cooked_strings, const ZonePtrList< const AstRawString > *raw_strings, int pos)
 
TemplateLiteral * NewTemplateLiteral (const ZonePtrList< const AstRawString > *string_parts, const ZonePtrList< Expression > *substitutions, int pos)
 
ImportCallExpression * NewImportCallExpression (Expression *args, int pos)
 
InitializeClassMembersStatement * NewInitializeClassMembersStatement (ZonePtrList< ClassLiteral::Property > *args, int pos)
 
Zone * zone () const
 

Detailed Description

Definition at line 2963 of file ast.h.


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