V8 Project
v8::NeanderObject Class Reference

#include <api.h>

+ Collaboration diagram for v8::NeanderObject:

Public Member Functions

 NeanderObject (v8::internal::Isolate *isolate, int size)
 
 NeanderObject (v8::internal::Handle< v8::internal::Object > obj)
 
 NeanderObject (v8::internal::Object *obj)
 
v8::internal::Objectget (int index)
 
void set (int index, v8::internal::Object *value)
 
v8::internal::Handle< v8::internal::JSObjectvalue ()
 
int size ()
 

Private Attributes

v8::internal::Handle< v8::internal::JSObjectvalue_
 

Detailed Description

Definition at line 33 of file api.h.

Constructor & Destructor Documentation

◆ NeanderObject() [1/3]

v8::NeanderObject::NeanderObject ( v8::internal::Isolate isolate,
int  size 
)
explicit

Definition at line 718 of file api.cc.

718  {
719  ENTER_V8(isolate);
720  value_ = isolate->factory()->NewNeanderObject();
721  i::Handle<i::FixedArray> elements = isolate->factory()->NewFixedArray(size);
722  value_->set_elements(*elements);
723 }
#define ENTER_V8(isolate)
Definition: api.cc:54
v8::internal::Handle< v8::internal::JSObject > value_
Definition: api.h:43
int size()
Definition: api.cc:726
Factory * factory()
Definition: isolate.h:982

References ENTER_V8, v8::internal::Isolate::factory(), size(), and value_.

+ Here is the call graph for this function:

◆ NeanderObject() [2/3]

v8::NeanderObject::NeanderObject ( v8::internal::Handle< v8::internal::Object obj)
inlineexplicit

Definition at line 70 of file api.h.

◆ NeanderObject() [3/3]

v8::NeanderObject::NeanderObject ( v8::internal::Object obj)
inlineexplicit

Definition at line 74 of file api.h.

76  v8::internal::JSObject::cast(obj))) { }

Member Function Documentation

◆ get()

v8::internal::Object * v8::NeanderObject::get ( int  index)
inline

Definition at line 83 of file api.h.

83  {
84  DCHECK(value()->HasFastObjectElements());
85  return v8::internal::FixedArray::cast(value()->elements())->get(offset);
86 }
v8::internal::Handle< v8::internal::JSObject > value()
Definition: api.h:40
#define DCHECK(condition)
Definition: logging.h:205

References DCHECK, and value().

Referenced by v8::NeanderArray::get(), v8::NeanderArray::length(), v8::V8::RemoveMessageListeners(), and v8::internal::MessageHandler::ReportMessage().

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

◆ set()

void v8::NeanderObject::set ( int  index,
v8::internal::Object value 
)
inline

Definition at line 89 of file api.h.

89  {
90  DCHECK(value_->HasFastObjectElements());
91  v8::internal::FixedArray::cast(value_->elements())->set(offset, value);
92 }

References DCHECK, value(), and value_.

Referenced by v8::NeanderArray::add(), v8::V8::AddMessageListener(), v8::NeanderArray::NeanderArray(), and v8::NeanderArray::set().

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

◆ size()

int v8::NeanderObject::size ( )

Definition at line 726 of file api.cc.

726  {
727  return i::FixedArray::cast(value_->elements())->length();
728 }

References value_.

Referenced by v8::NeanderArray::add(), and NeanderObject().

+ Here is the caller graph for this function:

◆ value()

v8::internal::Handle<v8::internal::JSObject> v8::NeanderObject::value ( )
inline

Definition at line 40 of file api.h.

40 { return value_; }

References value_.

Referenced by v8::NeanderArray::add(), v8::V8::AddMessageListener(), get(), set(), and v8::NeanderArray::value().

+ Here is the caller graph for this function:

Member Data Documentation

◆ value_

v8::internal::Handle<v8::internal::JSObject> v8::NeanderObject::value_
private

Definition at line 43 of file api.h.

Referenced by NeanderObject(), set(), size(), and value().


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