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

#include <ast.h>

Inheritance diagram for v8::internal::ObjectLiteral:
Collaboration diagram for v8::internal::ObjectLiteral:

Public Types

enum  Flags { kFastElements = 1 << 3 , kHasNullPrototype = 1 << 4 }
 
using Property = ObjectLiteralProperty
 
- Public Types inherited from v8::internal::AggregateLiteral
enum  Flags {
  kNoFlags = 0 , kIsShallow = 1 , kDisableMementos = 1 << 1 , kNeedsInitialAllocationSite = 1 << 2 ,
  kIsShallowAndDisableMementos = kIsShallow | kDisableMementos
}
 
- Public Types inherited from v8::internal::Expression
enum  Context { kUninitialized , kEffect , kValue , kTest }
 
- Public Types inherited from v8::internal::AstNode
enum  NodeType : uint8_t
 

Public Member Functions

void CalculateEmitStore (Zone *zone)
 
ZoneList< Property * > * properties ()
 
const ObjectLiteralBoilerplateBuilderbuilder () const
 
ObjectLiteralBoilerplateBuilderbuilder ()
 
Variablehome_object () const
 
- Public Member Functions inherited from v8::internal::MaterializedLiteral
bool IsSimple () const
 
- Public Member Functions inherited from v8::internal::Expression
bool IsValidReferenceExpression () const
 
bool IsPrivateName () const
 
bool ToBooleanIsTrue () const
 
bool ToBooleanIsFalse () const
 
bool IsPropertyName () const
 
bool IsAnonymousFunctionDefinition () const
 
bool IsConciseMethodDefinition () const
 
bool IsAccessorFunctionDefinition () const
 
bool IsSmiLiteral () const
 
V8_EXPORT_PRIVATE bool IsNumberLiteral () const
 
bool IsStringLiteral () const
 
bool IsConsStringLiteral () const
 
bool IsNullLiteral () const
 
bool IsBooleanLiteral () const
 
bool IsTheHoleLiteral () const
 
bool IsUndefinedLiteral () const
 
bool IsNullOrUndefinedLiteral () const
 
bool IsLiteralButNotNullOrUndefined () const
 
bool IsCompileTimeValue ()
 
bool IsPattern ()
 
bool is_parenthesized () const
 
void mark_parenthesized ()
 
void clear_parenthesized ()
 
- Public Member Functions inherited from v8::internal::AstNode
NodeType node_type () const
 
int position () const
 
IterationStatementAsIterationStatement ()
 
MaterializedLiteralAsMaterializedLiteral ()
 
- Public Member Functions inherited from v8::internal::ZoneObject
void * operator new (size_t, Zone *)=delete
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)=delete
 

Private Member Functions

 ObjectLiteral (Zone *zone, const ScopedPtrList< Property > &properties, uint32_t boilerplate_properties, int pos, bool has_rest_property, Variable *home_object)
 

Private Attributes

friend Zone
 
ZoneList< Property * > properties_
 
Variablehome_object_
 
ObjectLiteralBoilerplateBuilder builder_
 

Friends

class AstNodeFactory
 

Additional Inherited Members

- Protected Types inherited from v8::internal::Expression
template<class T , int size>
using NextBitField = IsParenthesizedField::Next<T, size>
 
- Protected Types inherited from v8::internal::AstNode
template<class T , int size>
using NextBitField = NodeTypeField::Next<T, size>
 
- Protected Member Functions inherited from v8::internal::AggregateLiteral
 AggregateLiteral (int pos, NodeType type)
 
- Protected Member Functions inherited from v8::internal::MaterializedLiteral
 MaterializedLiteral (int pos, NodeType type)
 
bool NeedsInitialAllocationSite ()
 
- Protected Member Functions inherited from v8::internal::Expression
 Expression (int pos, NodeType type)
 
- Protected Member Functions inherited from v8::internal::AstNode
 AstNode (int position, NodeType type)
 
- Protected Attributes inherited from v8::internal::AstNode
uint32_t bit_field_
 

Detailed Description

Definition at line 1391 of file ast.h.

Member Typedef Documentation

◆ Property

Member Enumeration Documentation

◆ Flags

Enumerator
kFastElements 
kHasNullPrototype 

Definition at line 1395 of file ast.h.

Constructor & Destructor Documentation

◆ ObjectLiteral()

v8::internal::ObjectLiteral::ObjectLiteral ( Zone * zone,
const ScopedPtrList< Property > & properties,
uint32_t boilerplate_properties,
int pos,
bool has_rest_property,
Variable * home_object )
inlineprivate

Definition at line 1420 of file ast.h.

Member Function Documentation

◆ builder() [1/2]

ObjectLiteralBoilerplateBuilder * v8::internal::ObjectLiteral::builder ( )
inline

Definition at line 1412 of file ast.h.

◆ builder() [2/2]

const ObjectLiteralBoilerplateBuilder * v8::internal::ObjectLiteral::builder ( ) const
inline

Definition at line 1410 of file ast.h.

Here is the caller graph for this function:

◆ CalculateEmitStore()

void v8::internal::ObjectLiteral::CalculateEmitStore ( Zone * zone)

Definition at line 338 of file ast.cc.

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

◆ home_object()

Variable * v8::internal::ObjectLiteral::home_object ( ) const
inline

Definition at line 1414 of file ast.h.

◆ properties()

ZoneList< Property * > * v8::internal::ObjectLiteral::properties ( )
inline

Definition at line 1408 of file ast.h.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ AstNodeFactory

friend class AstNodeFactory
friend

Definition at line 1417 of file ast.h.

Member Data Documentation

◆ builder_

ObjectLiteralBoilerplateBuilder v8::internal::ObjectLiteral::builder_
private

Definition at line 1430 of file ast.h.

◆ home_object_

Variable* v8::internal::ObjectLiteral::home_object_
private

Definition at line 1429 of file ast.h.

◆ properties_

ZoneList<Property*> v8::internal::ObjectLiteral::properties_
private

Definition at line 1428 of file ast.h.

◆ Zone

friend v8::internal::ObjectLiteral::Zone
private

Definition at line 1418 of file ast.h.


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