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

#include <prototype.h>

Public Types

enum  WhereToEnd { END_AT_NULL, END_AT_NON_HIDDEN }
 

Public Member Functions

 PrototypeIterator (Isolate *isolate, Handle< JSReceiver > receiver, WhereToStart where_to_start=kStartAtPrototype, WhereToEnd where_to_end=END_AT_NULL)
 
 PrototypeIterator (Isolate *isolate, JSReceiver *receiver, WhereToStart where_to_start=kStartAtPrototype, WhereToEnd where_to_end=END_AT_NULL)
 
 PrototypeIterator (Isolate *isolate, Map receiver_map, WhereToEnd where_to_end=END_AT_NULL)
 
 PrototypeIterator (Isolate *isolate, Handle< Map > receiver_map, WhereToEnd where_to_end=END_AT_NULL)
 
bool HasAccess () const
 
template<typename T = Object>
TGetCurrent () const
 
void Advance ()
 
void AdvanceIgnoringProxies ()
 
V8_WARN_UNUSED_RESULT bool AdvanceFollowingProxies ()
 
V8_WARN_UNUSED_RESULT bool AdvanceFollowingProxiesIgnoringAccessChecks ()
 
bool IsAtEnd () const
 
Isolateisolate () const
 

Static Public Member Functions

template<typename T = Object>
static Handle< TGetCurrent (const PrototypeIterator &iterator)
 

Detailed Description

A class to uniformly access the prototype of any Object and walk its prototype chain.

The PrototypeIterator can either start at the prototype (default), or include the receiver itself. If a PrototypeIterator is constructed for a Map, it will always start at the prototype.

The PrototypeIterator can either run to the null_value(), the first non-hidden prototype, or a given object.

Definition at line 26 of file prototype.h.


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