C# Class Fanx.Emit.FTypeEmit

FTypeEmit translates FType fcode to IL.
ファイルを表示 Open project: xored/f4 Class Usage Examples

Public Properties

Property Type Description
baseClassName string
className string
interfaces string[]

Public Methods

Method Description
emit ( ) : void

Emit to IL assembly.

emitAndLoad ( FType ftype ) : System.Type[]
emitPod ( FPod pod, bool load, string path ) : Assembly
init ( string thisClass, string baseClass, string interfaces, int flags ) : void
isEmitted ( string podName ) : bool

Return true if this pod has already been emitted.

Protected Methods

Method Description
@base ( ) : string

Return the base type for this type.

FTypeEmit ( Emitter emitter, Type parent, FType type ) : System.Collections
emit ( FField f ) : void

Emit a field.

emit ( FMethod m ) : void

Emit a method.

emitInstanceInit ( FMethod m ) : void
emitType ( ) : void

Emit the type information for this type.

mixins ( ) : string[]

Private Methods

Method Description
emitAttributes ( FAttrs attrs ) : void

Emit a attribute.

emitMixinRouters ( ) : void
emitMixinRouters ( Type type ) : void
emitStaticInit ( FMethod m ) : void
emitTypeConstFields ( ) : void
fieldFlags ( int fflags ) : PERWAPI.FieldAttr

Map Fantom flags to .NET field flags. Note we emit protected as public and internal/private as package-private so that we don't need to deal with scope issues for accessors like closures and helper classes.

findMixins ( Type t, Hashtable acc ) : void
name ( int index ) : string

Map a simple name index to it's string value

nname ( int index ) : string

Given a Fantom qname index, map to a .NET type name: sys/Bool

preview ( ) : void
unzipToTemp ( FPod pod, string filename ) : void

Unzip the file if it exists into the lib/tmp dir

Method Details

@base() protected abstract method

Return the base type for this type.
protected abstract @base ( ) : string
return string

FTypeEmit() protected method

protected FTypeEmit ( Emitter emitter, Type parent, FType type ) : System.Collections
emitter Emitter
parent Fan.Sys.Type
type Fanx.Fcode.FType
return System.Collections

emit() public method

Emit to IL assembly.
public emit ( ) : void
return void

emit() protected method

Emit a field.
protected emit ( FField f ) : void
f Fanx.Fcode.FField
return void

emit() protected method

Emit a method.
protected emit ( FMethod m ) : void
m Fanx.Fcode.FMethod
return void

emitAndLoad() public static method

public static emitAndLoad ( FType ftype ) : System.Type[]
ftype Fanx.Fcode.FType
return System.Type[]

emitInstanceInit() protected method

protected emitInstanceInit ( FMethod m ) : void
m Fanx.Fcode.FMethod
return void

emitPod() public static method

public static emitPod ( FPod pod, bool load, string path ) : Assembly
pod Fanx.Fcode.FPod
load bool
path string
return System.Reflection.Assembly

emitType() protected abstract method

Emit the type information for this type.
protected abstract emitType ( ) : void
return void

init() public method

public init ( string thisClass, string baseClass, string interfaces, int flags ) : void
thisClass string
baseClass string
interfaces string
flags int
return void

isEmitted() public static method

Return true if this pod has already been emitted.
public static isEmitted ( string podName ) : bool
podName string
return bool

mixins() protected method

protected mixins ( ) : string[]
return string[]

Property Details

baseClassName public_oe property

public string baseClassName
return string

className public_oe property

public string className
return string

interfaces public_oe property

public string[] interfaces
return string[]