C# 클래스 JSIL.JavascriptAssemblyEmitter

상속: IAssemblyEmitter
파일 보기 프로젝트 열기: sq/JSIL

공개 프로퍼티들

프로퍼티 타입 설명
Formatter JavascriptFormatter
Translator JSIL.AssemblyTranslator

Private Properties

프로퍼티 타입 설명
EmitFieldOrConstant void
EmitMarshalInfo void
EmitPInvokeInfo void
EmitParameterAttributes void
PickGenericParameterName string

공개 메소드들

메소드 설명
BeginEmitTypeDeclaration ( Mono.Cecil.TypeDefinition typedef ) : void
BeginEmitTypeDefinition ( IAstEmitter astEmitter, Mono.Cecil.TypeDefinition typedef, TypeInfo typeInfo, TypeReference baseClass ) : void
EmitAssemblyEntryPoint ( AssemblyDefinition assembly, Mono.Cecil.MethodDefinition entryMethod, MethodSignature signature ) : void
EmitAssemblyReferences ( string assemblyDeclarationReplacement, string>.Dictionary assemblies ) : void
EmitCachedValues ( IAstEmitter astEmitter, JSIL.Transforms.TypeExpressionCacher typeCacher, SignatureCacher signatureCacher, JSIL.Transforms.BaseMethodCacher baseMethodCacher ) : void
EmitConstant ( ICSharpCode.Decompiler.DecompilerContext context, IAstEmitter astEmitter, FieldDefinition field, JSRawOutputIdentifier dollar, JSExpression value ) : void
EmitCustomAttributes ( ICSharpCode.Decompiler.DecompilerContext context, TypeReference declaringType, ICustomAttributeProvider member, IAstEmitter astEmitter, bool standalone = true ) : void
EmitEvent ( ICSharpCode.Decompiler.DecompilerContext context, IAstEmitter astEmitter, Mono.Cecil.EventDefinition @event, JSRawOutputIdentifier dollar ) : void
EmitField ( ICSharpCode.Decompiler.DecompilerContext context, IAstEmitter astEmitter, FieldDefinition field, JSRawOutputIdentifier dollar, JSExpression defaultValue ) : void
EmitFooter ( bool iife ) : void
EmitFunctionBody ( IAstEmitter astEmitter, Mono.Cecil.MethodDefinition method, JSFunctionExpression function ) : void
EmitHeader ( bool stubbed, bool iife ) : void
EmitInterfaceDefinition ( ICSharpCode.Decompiler.DecompilerContext context, IAstEmitter astEmitter, Mono.Cecil.TypeDefinition iface ) : void
EmitInterfaceList ( TypeInfo typeInfo, IAstEmitter astEmitter, JSRawOutputIdentifier dollar ) : void
EmitMethodDefinition ( ICSharpCode.Decompiler.DecompilerContext context, MethodReference methodRef, Mono.Cecil.MethodDefinition method, IAstEmitter astEmitter, bool stubbed, JSRawOutputIdentifier dollar, MethodInfo methodInfo = null ) : void
EmitPrimitiveDefinition ( ICSharpCode.Decompiler.DecompilerContext context, Mono.Cecil.TypeDefinition typedef, bool stubbed, JSRawOutputIdentifier dollar ) : void
EmitProperty ( ICSharpCode.Decompiler.DecompilerContext context, IAstEmitter astEmitter, Mono.Cecil.PropertyDefinition property, JSRawOutputIdentifier dollar ) : void
EmitProxyComment ( string name ) : void
EmitSemicolon ( ) : void
EmitSpacer ( ) : void
EmitTypeAlias ( Mono.Cecil.TypeDefinition typedef ) : void
EmitTypeDeclarationHeader ( ICSharpCode.Decompiler.DecompilerContext context, IAstEmitter astEmitter, Mono.Cecil.TypeDefinition typedef, TypeInfo typeInfo ) : bool
EndEmitTypeDefinition ( IAstEmitter astEmitter, ICSharpCode.Decompiler.DecompilerContext context, Mono.Cecil.TypeDefinition typedef ) : void
JavascriptAssemblyEmitter ( JSIL.AssemblyTranslator assemblyTranslator, JavascriptFormatter formatter ) : System
MakeAstEmitter ( JSIL.JSILIdentifier jsil, Mono.Cecil.TypeSystem typeSystem, TypeInfoProvider typeInfoProvider, Configuration configuration ) : IAstEmitter
TranslateAttributeConstructorArgument ( Mono.Cecil.TypeSystem typeSystem, TypeReference context, CustomAttributeArgument ca ) : JSExpression
WriteGenericParameterNames ( IEnumerable parameters ) : void

보호된 메소드들

메소드 설명
EmitDelegate ( ICSharpCode.Decompiler.DecompilerContext context, Mono.Cecil.TypeDefinition del, TypeInfo typeInfo, IAstEmitter astEmitter ) : void
EmitEnum ( ICSharpCode.Decompiler.DecompilerContext context, Mono.Cecil.TypeDefinition enm, IAstEmitter astEmitter ) : void
EmitOverrides ( ICSharpCode.Decompiler.DecompilerContext context, TypeInfo typeInfo, Mono.Cecil.MethodDefinition method, MethodInfo methodInfo, IAstEmitter astEmitter ) : void

비공개 메소드들

메소드 설명
EmitFieldOrConstant ( ICSharpCode.Decompiler.DecompilerContext context, IAstEmitter astEmitter, FieldDefinition field, JSRawOutputIdentifier dollar, JSExpression defaultValue, bool isConstant ) : void
EmitMarshalInfo ( MethodReference methodRef, Mono.Cecil.MethodDefinition method, Mono attributes, Mono.Cecil.MarshalInfo mi, IAstEmitter astEmitter ) : void
EmitPInvokeInfo ( MethodReference methodRef, Mono.Cecil.MethodDefinition method, IAstEmitter astEmitter ) : void
EmitParameterAttributes ( ICSharpCode.Decompiler.DecompilerContext context, TypeReference declaringType, Mono.Cecil.MethodDefinition method, IAstEmitter astEmitter ) : void
PickGenericParameterName ( Mono.Cecil.GenericParameter gp ) : string

메소드 상세

BeginEmitTypeDeclaration() 공개 메소드

public BeginEmitTypeDeclaration ( Mono.Cecil.TypeDefinition typedef ) : void
typedef Mono.Cecil.TypeDefinition
리턴 void

BeginEmitTypeDefinition() 공개 메소드

public BeginEmitTypeDefinition ( IAstEmitter astEmitter, Mono.Cecil.TypeDefinition typedef, TypeInfo typeInfo, TypeReference baseClass ) : void
astEmitter IAstEmitter
typedef Mono.Cecil.TypeDefinition
typeInfo TypeInfo
baseClass Mono.Cecil.TypeReference
리턴 void

EmitAssemblyEntryPoint() 공개 메소드

public EmitAssemblyEntryPoint ( AssemblyDefinition assembly, Mono.Cecil.MethodDefinition entryMethod, MethodSignature signature ) : void
assembly Mono.Cecil.AssemblyDefinition
entryMethod Mono.Cecil.MethodDefinition
signature MethodSignature
리턴 void

EmitAssemblyReferences() 공개 메소드

public EmitAssemblyReferences ( string assemblyDeclarationReplacement, string>.Dictionary assemblies ) : void
assemblyDeclarationReplacement string
assemblies string>.Dictionary
리턴 void

EmitCachedValues() 공개 메소드

public EmitCachedValues ( IAstEmitter astEmitter, JSIL.Transforms.TypeExpressionCacher typeCacher, SignatureCacher signatureCacher, JSIL.Transforms.BaseMethodCacher baseMethodCacher ) : void
astEmitter IAstEmitter
typeCacher JSIL.Transforms.TypeExpressionCacher
signatureCacher SignatureCacher
baseMethodCacher JSIL.Transforms.BaseMethodCacher
리턴 void

EmitConstant() 공개 메소드

public EmitConstant ( ICSharpCode.Decompiler.DecompilerContext context, IAstEmitter astEmitter, FieldDefinition field, JSRawOutputIdentifier dollar, JSExpression value ) : void
context ICSharpCode.Decompiler.DecompilerContext
astEmitter IAstEmitter
field Mono.Cecil.FieldDefinition
dollar JSIL.Ast.JSRawOutputIdentifier
value JSExpression
리턴 void

EmitCustomAttributes() 공개 메소드

public EmitCustomAttributes ( ICSharpCode.Decompiler.DecompilerContext context, TypeReference declaringType, ICustomAttributeProvider member, IAstEmitter astEmitter, bool standalone = true ) : void
context ICSharpCode.Decompiler.DecompilerContext
declaringType Mono.Cecil.TypeReference
member ICustomAttributeProvider
astEmitter IAstEmitter
standalone bool
리턴 void

EmitDelegate() 보호된 메소드

protected EmitDelegate ( ICSharpCode.Decompiler.DecompilerContext context, Mono.Cecil.TypeDefinition del, TypeInfo typeInfo, IAstEmitter astEmitter ) : void
context ICSharpCode.Decompiler.DecompilerContext
del Mono.Cecil.TypeDefinition
typeInfo TypeInfo
astEmitter IAstEmitter
리턴 void

EmitEnum() 보호된 메소드

protected EmitEnum ( ICSharpCode.Decompiler.DecompilerContext context, Mono.Cecil.TypeDefinition enm, IAstEmitter astEmitter ) : void
context ICSharpCode.Decompiler.DecompilerContext
enm Mono.Cecil.TypeDefinition
astEmitter IAstEmitter
리턴 void

EmitEvent() 공개 메소드

public EmitEvent ( ICSharpCode.Decompiler.DecompilerContext context, IAstEmitter astEmitter, Mono.Cecil.EventDefinition @event, JSRawOutputIdentifier dollar ) : void
context ICSharpCode.Decompiler.DecompilerContext
astEmitter IAstEmitter
@event Mono.Cecil.EventDefinition
dollar JSIL.Ast.JSRawOutputIdentifier
리턴 void

EmitField() 공개 메소드

public EmitField ( ICSharpCode.Decompiler.DecompilerContext context, IAstEmitter astEmitter, FieldDefinition field, JSRawOutputIdentifier dollar, JSExpression defaultValue ) : void
context ICSharpCode.Decompiler.DecompilerContext
astEmitter IAstEmitter
field Mono.Cecil.FieldDefinition
dollar JSIL.Ast.JSRawOutputIdentifier
defaultValue JSExpression
리턴 void

EmitFooter() 공개 메소드

public EmitFooter ( bool iife ) : void
iife bool
리턴 void

EmitFunctionBody() 공개 메소드

public EmitFunctionBody ( IAstEmitter astEmitter, Mono.Cecil.MethodDefinition method, JSFunctionExpression function ) : void
astEmitter IAstEmitter
method Mono.Cecil.MethodDefinition
function JSFunctionExpression
리턴 void

EmitHeader() 공개 메소드

public EmitHeader ( bool stubbed, bool iife ) : void
stubbed bool
iife bool
리턴 void

EmitInterfaceDefinition() 공개 메소드

public EmitInterfaceDefinition ( ICSharpCode.Decompiler.DecompilerContext context, IAstEmitter astEmitter, Mono.Cecil.TypeDefinition iface ) : void
context ICSharpCode.Decompiler.DecompilerContext
astEmitter IAstEmitter
iface Mono.Cecil.TypeDefinition
리턴 void

EmitInterfaceList() 공개 메소드

public EmitInterfaceList ( TypeInfo typeInfo, IAstEmitter astEmitter, JSRawOutputIdentifier dollar ) : void
typeInfo TypeInfo
astEmitter IAstEmitter
dollar JSIL.Ast.JSRawOutputIdentifier
리턴 void

EmitMethodDefinition() 공개 메소드

public EmitMethodDefinition ( ICSharpCode.Decompiler.DecompilerContext context, MethodReference methodRef, Mono.Cecil.MethodDefinition method, IAstEmitter astEmitter, bool stubbed, JSRawOutputIdentifier dollar, MethodInfo methodInfo = null ) : void
context ICSharpCode.Decompiler.DecompilerContext
methodRef Mono.Cecil.MethodReference
method Mono.Cecil.MethodDefinition
astEmitter IAstEmitter
stubbed bool
dollar JSIL.Ast.JSRawOutputIdentifier
methodInfo MethodInfo
리턴 void

EmitOverrides() 보호된 메소드

protected EmitOverrides ( ICSharpCode.Decompiler.DecompilerContext context, TypeInfo typeInfo, Mono.Cecil.MethodDefinition method, MethodInfo methodInfo, IAstEmitter astEmitter ) : void
context ICSharpCode.Decompiler.DecompilerContext
typeInfo TypeInfo
method Mono.Cecil.MethodDefinition
methodInfo MethodInfo
astEmitter IAstEmitter
리턴 void

EmitPrimitiveDefinition() 공개 메소드

public EmitPrimitiveDefinition ( ICSharpCode.Decompiler.DecompilerContext context, Mono.Cecil.TypeDefinition typedef, bool stubbed, JSRawOutputIdentifier dollar ) : void
context ICSharpCode.Decompiler.DecompilerContext
typedef Mono.Cecil.TypeDefinition
stubbed bool
dollar JSIL.Ast.JSRawOutputIdentifier
리턴 void

EmitProperty() 공개 메소드

public EmitProperty ( ICSharpCode.Decompiler.DecompilerContext context, IAstEmitter astEmitter, Mono.Cecil.PropertyDefinition property, JSRawOutputIdentifier dollar ) : void
context ICSharpCode.Decompiler.DecompilerContext
astEmitter IAstEmitter
property Mono.Cecil.PropertyDefinition
dollar JSIL.Ast.JSRawOutputIdentifier
리턴 void

EmitProxyComment() 공개 메소드

public EmitProxyComment ( string name ) : void
name string
리턴 void

EmitSemicolon() 공개 메소드

public EmitSemicolon ( ) : void
리턴 void

EmitSpacer() 공개 메소드

public EmitSpacer ( ) : void
리턴 void

EmitTypeAlias() 공개 메소드

public EmitTypeAlias ( Mono.Cecil.TypeDefinition typedef ) : void
typedef Mono.Cecil.TypeDefinition
리턴 void

EmitTypeDeclarationHeader() 공개 메소드

public EmitTypeDeclarationHeader ( ICSharpCode.Decompiler.DecompilerContext context, IAstEmitter astEmitter, Mono.Cecil.TypeDefinition typedef, TypeInfo typeInfo ) : bool
context ICSharpCode.Decompiler.DecompilerContext
astEmitter IAstEmitter
typedef Mono.Cecil.TypeDefinition
typeInfo TypeInfo
리턴 bool

EndEmitTypeDefinition() 공개 메소드

public EndEmitTypeDefinition ( IAstEmitter astEmitter, ICSharpCode.Decompiler.DecompilerContext context, Mono.Cecil.TypeDefinition typedef ) : void
astEmitter IAstEmitter
context ICSharpCode.Decompiler.DecompilerContext
typedef Mono.Cecil.TypeDefinition
리턴 void

JavascriptAssemblyEmitter() 공개 메소드

public JavascriptAssemblyEmitter ( JSIL.AssemblyTranslator assemblyTranslator, JavascriptFormatter formatter ) : System
assemblyTranslator JSIL.AssemblyTranslator
formatter JavascriptFormatter
리턴 System

MakeAstEmitter() 공개 메소드

public MakeAstEmitter ( JSIL.JSILIdentifier jsil, Mono.Cecil.TypeSystem typeSystem, TypeInfoProvider typeInfoProvider, Configuration configuration ) : IAstEmitter
jsil JSIL.JSILIdentifier
typeSystem Mono.Cecil.TypeSystem
typeInfoProvider TypeInfoProvider
configuration JSIL.Translator.Configuration
리턴 IAstEmitter

TranslateAttributeConstructorArgument() 공개 메소드

public TranslateAttributeConstructorArgument ( Mono.Cecil.TypeSystem typeSystem, TypeReference context, CustomAttributeArgument ca ) : JSExpression
typeSystem Mono.Cecil.TypeSystem
context Mono.Cecil.TypeReference
ca Mono.Cecil.CustomAttributeArgument
리턴 JSExpression

WriteGenericParameterNames() 공개 메소드

public WriteGenericParameterNames ( IEnumerable parameters ) : void
parameters IEnumerable
리턴 void

프로퍼티 상세

Formatter 공개적으로 프로퍼티

public JavascriptFormatter Formatter
리턴 JavascriptFormatter

Translator 공개적으로 프로퍼티

public AssemblyTranslator,JSIL Translator
리턴 JSIL.AssemblyTranslator