V8 Project
v8::internal::TypeImpl< Config >::FunctionType Class Reference

#include <types.h>

+ Inheritance diagram for v8::internal::TypeImpl< Config >::FunctionType:
+ Collaboration diagram for v8::internal::TypeImpl< Config >::FunctionType:

Public Member Functions

int Arity ()
 
TypeHandle Result ()
 
TypeHandle Receiver ()
 
TypeHandle Parameter (int i)
 
void InitParameter (int i, TypeHandle type)
 
- Public Member Functions inherited from v8::internal::TypeImpl< Config >
bool IsInhabited ()
 
bool Is (TypeImpl *that)
 
template<class TypeHandle >
bool Is (TypeHandle that)
 
bool Maybe (TypeImpl *that)
 
template<class TypeHandle >
bool Maybe (TypeHandle that)
 
bool Equals (TypeImpl *that)
 
template<class TypeHandle >
bool Equals (TypeHandle that)
 
bool Contains (i::Object *val)
 
bool Contains (i::Handle< i::Object > val)
 
bool NowIs (TypeImpl *that)
 
template<class TypeHandle >
bool NowIs (TypeHandle that)
 
bool NowContains (i::Object *val)
 
bool NowContains (i::Handle< i::Object > val)
 
bool NowStable ()
 
bool IsClass ()
 
bool IsConstant ()
 
bool IsRange ()
 
bool IsContext ()
 
bool IsArray ()
 
bool IsFunction ()
 
ClassTypeAsClass ()
 
ConstantTypeAsConstant ()
 
RangeTypeAsRange ()
 
ContextTypeAsContext ()
 
ArrayTypeAsArray ()
 
FunctionTypeAsFunction ()
 
double Min ()
 
double Max ()
 
int NumClasses ()
 
int NumConstants ()
 
Iterator< i::MapClasses ()
 
Iterator< i::ObjectConstants ()
 
void PrintTo (OStream &os, PrintDimension dim=BOTH_DIMS)
 
template<class OtherType >
TypeImpl< Config >::TypeHandle Convert (typename OtherType::TypeHandle type, Region *region)
 

Static Public Member Functions

static FunctionHandle New (TypeHandle result, TypeHandle receiver, int arity, Region *region)
 
static FunctionTypecast (TypeImpl *type)
 
- Static Public Member Functions inherited from v8::internal::TypeImpl< Config >
static TypeHandle Class (i::Handle< i::Map > map, Region *region)
 
static TypeHandle Constant (i::Handle< i::Object > value, Region *region)
 
static TypeHandle Range (i::Handle< i::Object > min, i::Handle< i::Object > max, Region *region)
 
static TypeHandle Context (TypeHandle outer, Region *region)
 
static TypeHandle Array (TypeHandle element, Region *region)
 
static FunctionHandle Function (TypeHandle result, TypeHandle receiver, int arity, Region *region)
 
static TypeHandle Function (TypeHandle result, Region *region)
 
static TypeHandle Function (TypeHandle result, TypeHandle param0, Region *region)
 
static TypeHandle Function (TypeHandle result, TypeHandle param0, TypeHandle param1, Region *region)
 
static TypeHandle Function (TypeHandle result, TypeHandle param0, TypeHandle param1, TypeHandle param2, Region *region)
 
static TypeHandle Union (TypeHandle type1, TypeHandle type2, Region *reg)
 
static TypeHandle Intersect (TypeHandle type1, TypeHandle type2, Region *reg)
 
static TypeHandle Of (double value, Region *region)
 
static TypeHandle Of (i::Object *value, Region *region)
 
static TypeHandle Of (i::Handle< i::Object > value, Region *region)
 
static TypeHandle NowOf (i::Object *value, Region *region)
 
static TypeHandle NowOf (i::Handle< i::Object > value, Region *region)
 
static TypeImplcast (typename Config::Base *object)
 
template<class OtherTypeImpl >
static TypeHandle Convert (typename OtherTypeImpl::TypeHandle type, Region *region)
 

Additional Inherited Members

- Public Types inherited from v8::internal::TypeImpl< Config >
enum  PrintDimension { BOTH_DIMS , SEMANTIC_DIM , REPRESENTATION_DIM }
 
typedef uint32_t bitset
 
typedef Config::template Handle< TypeImpl >::type TypeHandle
 
typedef Config::template Handle< ClassType >::type ClassHandle
 
typedef Config::template Handle< ConstantType >::type ConstantHandle
 
typedef Config::template Handle< RangeType >::type RangeHandle
 
typedef Config::template Handle< ContextType >::type ContextHandle
 
typedef Config::template Handle< ArrayType >::type ArrayHandle
 
typedef Config::template Handle< FunctionType >::type FunctionHandle
 
typedef Config::template Handle< UnionType >::type UnionHandle
 
typedef Config::Region Region
 
- Protected Member Functions inherited from v8::internal::TypeImpl< Config >::StructuralType
int Length ()
 
TypeHandle Get (int i)
 
void Set (int i, TypeHandle type)
 
void Shrink (int length)
 
template<class V >
i::Handle< VGetValue (int i)
 
template<class V >
void SetValue (int i, i::Handle< V > x)
 
- Protected Member Functions inherited from v8::internal::TypeImpl< Config >
TypeImplunhandle ()
 
bool IsNone ()
 
bool IsAny ()
 
bool IsBitset ()
 
bool IsUnion ()
 
bitset AsBitset ()
 
UnionTypeAsUnion ()
 
bitset BitsetGlb ()
 
bitset BitsetLub ()
 
bool SlowIs (TypeImpl *that)
 
RangeTypeGetRange ()
 
bool SimplyEquals (TypeImpl *that)
 
template<class TypeHandle >
bool SimplyEquals (TypeHandle that)
 
- Static Protected Member Functions inherited from v8::internal::TypeImpl< Config >::StructuralType
static TypeHandle New (Tag tag, int length, Region *region)
 
- Static Protected Member Functions inherited from v8::internal::TypeImpl< Config >
template<class T >
static Config::template Handle< T >::type handle (T *type)
 
static bool IsInteger (double x)
 
static bool IsInteger (i::Object *x)
 
static Limits Intersect (Limits lhs, Limits rhs)
 
static Limits Union (Limits lhs, Limits rhs)
 
static bool Overlap (RangeType *lhs, RangeType *rhs)
 
static bool Contains (RangeType *lhs, RangeType *rhs)
 
static bool Contains (RangeType *range, i::Object *val)
 
static int UpdateRange (RangeHandle type, UnionHandle result, int size, Region *region)
 
static int AddToUnion (TypeHandle type, UnionHandle result, int size, Region *region)
 
static int IntersectAux (TypeHandle type, TypeHandle other, UnionHandle result, int size, Region *region)
 
static TypeHandle NormalizeUnion (UnionHandle unioned, int size)
 

Detailed Description

template<class Config>
class v8::internal::TypeImpl< Config >::FunctionType

Definition at line 851 of file types.h.

Member Function Documentation

◆ Arity()

template<class Config >
int v8::internal::TypeImpl< Config >::FunctionType::Arity ( )
inline

Definition at line 853 of file types.h.

853 { return this->Length() - 2; }

Referenced by v8::internal::TypeImpl< Config >::PrintTo().

+ Here is the caller graph for this function:

◆ cast()

template<class Config >
static FunctionType* v8::internal::TypeImpl< Config >::FunctionType::cast ( TypeImpl type)
inlinestatic

Definition at line 869 of file types.h.

869  {
870  DCHECK(type->IsFunction());
871  return static_cast<FunctionType*>(type);
872  }
#define DCHECK(condition)
Definition: logging.h:205

References DCHECK, and v8::internal::TypeImpl< Config >::IsFunction().

Referenced by v8::internal::TypeImpl< Config >::AsFunction().

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

◆ InitParameter()

template<class Config >
void v8::internal::TypeImpl< Config >::FunctionType::InitParameter ( int  i,
TypeHandle  type 
)
inline

Definition at line 858 of file types.h.

858 { this->Set(2 + i, type); }
void Set(int i, TypeHandle type)
Definition: types.h:660

◆ New()

template<class Config >
static FunctionHandle v8::internal::TypeImpl< Config >::FunctionType::New ( TypeHandle  result,
TypeHandle  receiver,
int  arity,
Region region 
)
inlinestatic

Definition at line 860 of file types.h.

861  {
862  FunctionHandle type = Config::template cast<FunctionType>(
864  type->Set(0, result);
865  type->Set(1, receiver);
866  return type;
867  }
static TypeHandle New(Tag tag, int length, Region *region)
Definition: types.h:677
Config::template Handle< FunctionType >::type FunctionHandle
Definition: types.h:311

Referenced by v8::internal::TypeImpl< Config >::Convert(), and v8::internal::TypeImpl< Config >::Function().

+ Here is the caller graph for this function:

◆ Parameter()

template<class Config >
TypeHandle v8::internal::TypeImpl< Config >::FunctionType::Parameter ( int  i)
inline

Definition at line 856 of file types.h.

856 { return this->Get(2 + i); }

Referenced by v8::internal::TypeImpl< Config >::PrintTo().

+ Here is the caller graph for this function:

◆ Receiver()

template<class Config >
TypeHandle v8::internal::TypeImpl< Config >::FunctionType::Receiver ( )
inline

Definition at line 855 of file types.h.

855 { return this->Get(1); }

Referenced by v8::internal::TypeImpl< Config >::PrintTo().

+ Here is the caller graph for this function:

◆ Result()

template<class Config >
TypeHandle v8::internal::TypeImpl< Config >::FunctionType::Result ( )
inline

Definition at line 854 of file types.h.

854 { return this->Get(0); }

Referenced by v8::internal::TypeImpl< Config >::PrintTo().

+ Here is the caller graph for this function:

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