potion  0.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PNVtable Struct Reference

the central vtable, see io http://www.piumarta.com/pepsi/objmodel.pdf More...

#include <table.h>

Public Member Functions

 vPN (Table) methods
 methods hash, PNTable: name => closures More...
 
 vPN (Vtable) meta
 
ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS
PN 
potion_callcc (Potion *P, PN cl, PN self)
 
PN potion_object_new (Potion *P, PN cl, PN self)
 
PN potion_get_metaclass (Potion *P, PN cl, vPN(Vtable) self)
 

Data Fields

 PN_OBJECT_HEADER
 PNType vt; PNUniq uniq. More...
 
PNType parent
 parent type, default: for P->lobby: PN_VTABLE(PN_TOBJECT) More...
 
PNType type
 current type More...
 
PN name
 classes/types need to be found by name. More...
 
int ivlen
 PN_TUPLE_LEN(ivars) More...
 
PN ivars
 PNTuple of all our or the parents inherited vars. More...
 
PN ctor
 meta PNVtable More...
 
PN call
 
PN callset
 
PN_MCACHE_FUNC mcache
 (yet unused) method cache More...
 
PN_IVAR_FUNC ivfunc
 

Detailed Description

the central vtable, see io http://www.piumarta.com/pepsi/objmodel.pdf

p2-mop.png
See also
objmodel.c

Definition at line 24 of file table.h.

Member Function Documentation

PNVtable::vPN ( Table  )

methods hash, PNTable: name => closures

PNVtable::vPN ( Vtable  )
ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS PN potion_callcc ( Potion P,
PN  cl,
PN  self 
)

global "here" method

See also
potion_continuation_yield()
Returns
a PNCont continuation object which can be yield'ed to later

Definition at line 102 of file callcc.c.

PN potion_object_new ( Potion P,
PN  cl,
PN  self 
)

PNObject constructor. Fails on metaclass and type.

Returns
PNObject or PN_NIL

Definition at line 516 of file objmodel.c.

PN potion_get_metaclass ( Potion P,
PN  cl,
vPN(Vtable)  self 
)
Returns
metaclass

Definition at line 564 of file objmodel.c.

Field Documentation

PNVtable::PN_OBJECT_HEADER

PNType vt; PNUniq uniq.

Definition at line 25 of file table.h.

PNType PNVtable::parent

parent type, default: for P->lobby: PN_VTABLE(PN_TOBJECT)

Definition at line 26 of file table.h.

PNType PNVtable::type

current type

Definition at line 27 of file table.h.

PN PNVtable::name

classes/types need to be found by name.

See also
potion_class_find

Definition at line 28 of file table.h.

int PNVtable::ivlen

PN_TUPLE_LEN(ivars)

Definition at line 29 of file table.h.

PN PNVtable::ivars

PNTuple of all our or the parents inherited vars.

Definition at line 30 of file table.h.

PN PNVtable::ctor

meta PNVtable

store the bound closure (or its parents)

Definition at line 33 of file table.h.

PN PNVtable::call

Definition at line 34 of file table.h.

PN PNVtable::callset

Definition at line 34 of file table.h.

PN_MCACHE_FUNC PNVtable::mcache

(yet unused) method cache

Definition at line 35 of file table.h.

PN_IVAR_FUNC PNVtable::ivfunc

Definition at line 36 of file table.h.


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