C# 클래스 clojure.lang.GenClass

파일 보기 프로젝트 열기: richhickey/clojure-clr 1 사용 예제들

공개 메소드들

메소드 설명
GenerateClass ( string className, Type superClass, ISeq interfaces, ISeq ctors, ISeq ctorTypes, ISeq methods, IPersistentMap exposesFields, IPersistentMap exposesMethods, string prefix, bool hasMain, string factoryName, string stateName, string initName, string postInitName, string implCname, string implNamespace, bool loadImplNamespace ) : Type
SaveContext ( ) : void

비공개 메소드들

메소드 설명
ComputeOverloadNames ( Dictionary overloads ) : HashSet
ComputeOverloads ( List sigs ) : List>.Dictionary
CreateSuperCall ( TypeBuilder proxyTB, Symbol p, MethodInfo mi ) : void
CreateTypeArray ( ISeq seq ) : System.Type[]
CreateTypeArray ( ParameterInfo ps ) : System.Type[]
DefineCtors ( TypeBuilder proxyTB, Type superClass, string initName, string postInitName, ISeq ctorsTypes, FieldBuilder initFB, FieldBuilder postInitFB, FieldBuilder stateFB, string factoryName ) : void
DefineStateField ( TypeBuilder proxyTB, string stateName ) : FieldBuilder
DefineStaticCtor ( TypeBuilder proxyTB, string prefix, FieldBuilder>.Dictionary varMap, bool loadImplNameSpace, string implNamespace, string implCname ) : void

Set up Var fields and (maybe) load assembly for the namespace.

DefineStaticFields ( TypeBuilder proxyTB, HashSet varNames ) : FieldBuilder>.Dictionary
EmitExposers ( TypeBuilder proxyTB, Type superClass, IPersistentMap exposesFields ) : void
EmitForwardingMethod ( TypeBuilder proxyTB, bool isStatic, FieldBuilder regularFB, FieldBuilder overloadFB, MethodSignature sig, ElseGenDelegate elseGen ) : void
EmitGetVar ( ILGen gen, FieldBuilder fb ) : void
EmitMain ( GenContext context, TypeBuilder proxyTB, string mainName, FieldBuilder mainFB ) : void
EmitMethods ( TypeBuilder proxyTB, List sigs, Dictionary overloads, FieldBuilder>.Dictionary varMap, IPersistentMap exposesMethods ) : void
EmitUnsupported ( ILGen gen, string name ) : void
EscapeTypeName ( Type t ) : string
GetAllMethods ( Type type, HashSet considered, List todo, string source ) : void
GetAllSignatures ( Type superClass, List interfaces, ISeq methods ) : List
GetStaticVarName ( string var ) : string
OverloadName ( MethodSignature sig ) : string

메소드 상세

GenerateClass() 공개 정적인 메소드

public static GenerateClass ( string className, Type superClass, ISeq interfaces, ISeq ctors, ISeq ctorTypes, ISeq methods, IPersistentMap exposesFields, IPersistentMap exposesMethods, string prefix, bool hasMain, string factoryName, string stateName, string initName, string postInitName, string implCname, string implNamespace, bool loadImplNamespace ) : Type
className string
superClass System.Type
interfaces ISeq
ctors ISeq
ctorTypes ISeq
methods ISeq
exposesFields IPersistentMap
exposesMethods IPersistentMap
prefix string
hasMain bool
factoryName string
stateName string
initName string
postInitName string
implCname string
implNamespace string
loadImplNamespace bool
리턴 System.Type

SaveContext() 공개 정적인 메소드

public static SaveContext ( ) : void
리턴 void