C# Класс 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
Наследование: Type
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
m_doc string

Открытые методы

Метод Описание
@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

Приватные методы

Метод Описание
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

Описание методов

@base() публичный Метод

public @base ( ) : Type
Результат Type

@is() публичный Метод

public @is ( Type type ) : bool
type Type
Результат bool

ClassType() публичный Метод

public ClassType ( Pod pod, string name, int flags, Facets facets ) : System
pod Pod
name string
flags int
facets Facets
Результат System

doc() публичный Метод

public doc ( ) : string
Результат string

dotnetRepr() публичный Метод

public dotnetRepr ( ) : bool
Результат bool

facet() публичный Метод

public facet ( Type t, bool c ) : Facet
t Type
c bool
Результат Facet

facets() публичный Метод

public facets ( ) : List
Результат List

fields() публичный закрытый Метод

public final fields ( ) : List
Результат List

inheritance() публичный Метод

public inheritance ( ) : List
Результат List

make() публичный закрытый Метод

public final make ( List args ) : object
args List
Результат object

methods() публичный закрытый Метод

public final methods ( ) : List
Результат List

mixins() публичный Метод

public mixins ( ) : List
Результат List

name() публичный Метод

public name ( ) : string
Результат string

pod() публичный Метод

public pod ( ) : Pod
Результат Pod

qname() публичный Метод

public qname ( ) : string
Результат string

signature() публичный Метод

public signature ( ) : string
Результат string

slot() публичный закрытый Метод

public final slot ( string name, bool check ) : Slot
name string
check bool
Результат Slot

slots() публичный закрытый Метод

public final slots ( ) : List
Результат List

toNullable() публичный закрытый Метод

public final toNullable ( ) : Type
Результат Type

trap() публичный Метод

public trap ( string name, List args ) : object
name string
args List
Результат object

Описание свойств

m_doc публичное свойство

public string m_doc
Результат string