C# Class Fan.Sys.ClassType

ClassType models a static type definition for an Obj class: 1) Hollow: in this state we know basic identity of the type, and it's inheritance hierarchy. A type is setup to be hollow during Pod.load(). 2) Reflected: in this state we read all the slot definitions from the fcode to populate the slot tables used to for reflection. At this point clients can discover the signatures of the Type. 3) Emitted: the final state of loading a Type is to emit to a .NET class called "Fan.{pod}.{type}". Once emitted we can instantiate the type or call it's methods. 4) Finished: once we have reflected the slots into memory and emitted the .NET class, the last stage is to bind the all the System.Reflection representations to the Slots for dynamic dispatch. We delay this until needed by Method or Field for a reflection invocation
Inheritance: Type
Afficher le fichier Open project: xored/f4 Class Usage Examples

Méthodes publiques

Свойство Type Description
m_doc string

Méthodes publiques

Méthode Description
@base ( ) : Type
@is ( Type type ) : bool
ClassType ( Pod pod, string name, int flags, Facets facets ) : System
doc ( ) : string
dotnetRepr ( ) : bool
facet ( Type t, bool c ) : Facet
facets ( ) : List
fields ( ) : List
inheritance ( ) : List
make ( List args ) : object
methods ( ) : List
mixins ( ) : List
name ( ) : string
pod ( ) : Pod
qname ( ) : string
signature ( ) : string
slot ( string name, bool check ) : Slot
slots ( ) : List
toNullable ( ) : Type
trap ( string name, List args ) : object

Private Methods

Méthode Description
ClassType ( Pod pod, FType ftype ) : System
addInheritance ( Type t, List acc, Hashtable map ) : void
checkAllFan ( ParameterInfo pars ) : bool
doReflect ( ) : void
emit ( ) : Type
finish ( ) : void
finishField ( FieldInfo f ) : void
finishMethod ( MethodInfo m, bool staticOnly ) : void
finishSlots ( System type, bool staticOnly ) : void

Map the Java members of the specified class to my slots for reflection.

flags ( ) : int
map ( FPod fpod, FField f ) : Field

Map fcode field to a sys::Field.

map ( FPod fpod, FMethod m ) : Method

Map fcode method to a sys::Method.

merge ( Slot slot, List slots, Hashtable nameToSlot, Hashtable nameToIndex ) : void

Merge the inherited slot into my slot maps. Assume this slot trumps any previous definition (because we process inheritance and my slots in the right order) slots: Slot[] by order nameToSlot: String name -> Slot nameToIndex: String name -> Long index of slots

merge ( Type inheritedType, List slots, Hashtable nameToSlot, Hashtable nameToIndex ) : void

Merge the inherit's slots into my slot maps. slots: Slot[] by order nameToSlot: String name -> Slot nameToIndex: String name -> Long index of slots

reflect ( ) : Type

Method Details

@base() public méthode

public @base ( ) : Type
Résultat Type

@is() public méthode

public @is ( Type type ) : bool
type Type
Résultat bool

ClassType() public méthode

public ClassType ( Pod pod, string name, int flags, Facets facets ) : System
pod Pod
name string
flags int
facets Facets
Résultat System

doc() public méthode

public doc ( ) : string
Résultat string

dotnetRepr() public méthode

public dotnetRepr ( ) : bool
Résultat bool

facet() public méthode

public facet ( Type t, bool c ) : Facet
t Type
c bool
Résultat Facet

facets() public méthode

public facets ( ) : List
Résultat List

fields() public final méthode

public final fields ( ) : List
Résultat List

inheritance() public méthode

public inheritance ( ) : List
Résultat List

make() public final méthode

public final make ( List args ) : object
args List
Résultat object

methods() public final méthode

public final methods ( ) : List
Résultat List

mixins() public méthode

public mixins ( ) : List
Résultat List

name() public méthode

public name ( ) : string
Résultat string

pod() public méthode

public pod ( ) : Pod
Résultat Pod

qname() public méthode

public qname ( ) : string
Résultat string

signature() public méthode

public signature ( ) : string
Résultat string

slot() public final méthode

public final slot ( string name, bool check ) : Slot
name string
check bool
Résultat Slot

slots() public final méthode

public final slots ( ) : List
Résultat List

toNullable() public final méthode

public final toNullable ( ) : Type
Résultat Type

trap() public méthode

public trap ( string name, List args ) : object
name string
args List
Résultat object

Property Details

m_doc public_oe property

public string m_doc
Résultat string