C# 클래스 Fanx.Emit.Emitter

Emitter.
파일 보기 프로젝트 열기: xored/f4 1 사용 예제들

공개 메소드들

메소드 설명
Emitter ( ) : System

Uninitialized Emitter - must call init().

Emitter ( string assemblyName ) : System

Convenience for init().

Emitter ( string assemblyName, string stubFileName ) : System
addToMethodMap ( string className, string name, string paramTypes, MethodDef def ) : void

Add a MethodDef into the lookup table.

commit ( ) : byte[]

Commit the current definition to the PE file.

emitClass ( string baseQName, string qname, string interfaces, TypeAttr attr ) : void

Define a new class to emit for this assembly. This class becomes the 'current' class, where subsequent EmitMethod and EmitField calls will popuate this class.

emitField ( string name, string type, FieldAttr attr ) : void

Define a new field to emit for the current class.

emitMethod ( string name, string retType, string paramNames, string paramTypes, MethAttr attr, string localNames, string localTypes ) : CILInstructions

Define a new method to emit for the current class.

init ( string assemblyName ) : void

Initialize an Emitter to generate types for an assembly with the given name.

init ( string assemblyName, string stubName ) : void

비공개 메소드들

메소드 설명
findField ( string qname, string fieldName, string fieldType ) : Field

Find the Field for this field on the given type.

findMethod ( string qname, string methodName, string paramTypes, string returnType ) : Method

Find the Method for this method on the given type.

findType ( string qname ) : Type

Find the Type instance for this fully qualified type name.

getMethodKey ( string qname, string methodName, string paramTypes ) : string

Return the key for this method in the method lookup table.

메소드 상세

Emitter() 공개 메소드

Uninitialized Emitter - must call init().
public Emitter ( ) : System
리턴 System

Emitter() 공개 메소드

Convenience for init().
public Emitter ( string assemblyName ) : System
assemblyName string
리턴 System

Emitter() 공개 메소드

public Emitter ( string assemblyName, string stubFileName ) : System
assemblyName string
stubFileName string
리턴 System

addToMethodMap() 공개 메소드

Add a MethodDef into the lookup table.
public addToMethodMap ( string className, string name, string paramTypes, MethodDef def ) : void
className string
name string
paramTypes string
def PERWAPI.MethodDef
리턴 void

commit() 공개 메소드

Commit the current definition to the PE file.
public commit ( ) : byte[]
리턴 byte[]

emitClass() 공개 메소드

Define a new class to emit for this assembly. This class becomes the 'current' class, where subsequent EmitMethod and EmitField calls will popuate this class.
public emitClass ( string baseQName, string qname, string interfaces, TypeAttr attr ) : void
baseQName string
qname string
interfaces string
attr TypeAttr
리턴 void

emitField() 공개 메소드

Define a new field to emit for the current class.
public emitField ( string name, string type, FieldAttr attr ) : void
name string
type string
attr FieldAttr
리턴 void

emitMethod() 공개 메소드

Define a new method to emit for the current class.
public emitMethod ( string name, string retType, string paramNames, string paramTypes, MethAttr attr, string localNames, string localTypes ) : CILInstructions
name string
retType string
paramNames string
paramTypes string
attr MethAttr
localNames string
localTypes string
리턴 PERWAPI.CILInstructions

init() 공개 메소드

Initialize an Emitter to generate types for an assembly with the given name.
public init ( string assemblyName ) : void
assemblyName string
리턴 void

init() 공개 메소드

public init ( string assemblyName, string stubName ) : void
assemblyName string
stubName string
리턴 void