C# 클래스 WasmSExprEmitter.WasmSExprAssemblyEmitter

상속: IAssemblyEmitter
파일 보기 프로젝트 열기: WebAssembly/ilwasm 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
Assembly Mono.Cecil.AssemblyDefinition
Formatter JavascriptFormatter
MethodTable List
Translator JSIL.AssemblyTranslator

공개 메소드들

메소드 설명
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
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 ( ) : void
EmitFunctionBody ( IAstEmitter astEmitter, Mono.Cecil.MethodDefinition method, JSFunctionExpression function ) : void
EmitHeader ( bool stubbed ) : void
EmitInterfaceList ( TypeInfo typeInfo, IAstEmitter astEmitter, JSRawOutputIdentifier dollar ) : void
EmitMain ( ) : 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 fullName ) : void
EmitSemicolon ( ) : void
EmitSpacer ( ) : void
EmitStringLiteralContents ( System tw, IEnumerable text ) : 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
GetFieldOffset ( FieldDefinition fd ) : int?
GetFunctionIndex ( Mono.Cecil.MethodDefinition md ) : int
GetStringOffset ( string str ) : int
MakeAstEmitter ( JSIL.JSILIdentifier jsil, Mono.Cecil.TypeSystem typeSystem, TypeInfoProvider typeInfoProvider, Configuration configuration ) : IAstEmitter
WasmSExprAssemblyEmitter ( JSIL.AssemblyTranslator translator, AssemblyDefinition assembly, JavascriptFormatter formatter ) : System

비공개 메소드들

메소드 설명
EmitCctors ( ) : void
EmitFieldIntrinsics ( int heapSize ) : void
EmitFieldTable ( int heapSize ) : void
EmitFunctionTable ( ) : void
EmitStringIntrinsics ( int heapSize ) : void
EmitStringTable ( int heapSize ) : void
ReserveHeapSpace ( int size ) : int
Switch ( PrecedingType newType, bool neighborSpacing = false ) : void

메소드 상세

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

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

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 ( ) : void
리턴 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 ) : void
stubbed bool
리턴 void

EmitInterfaceList() 공개 메소드

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

EmitMain() 공개 메소드

public EmitMain ( ) : void
리턴 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

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 fullName ) : void
fullName string
리턴 void

EmitSemicolon() 공개 메소드

public EmitSemicolon ( ) : void
리턴 void

EmitSpacer() 공개 메소드

public EmitSpacer ( ) : void
리턴 void

EmitStringLiteralContents() 공개 정적인 메소드

public static EmitStringLiteralContents ( System tw, IEnumerable text ) : void
tw System
text IEnumerable
리턴 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

GetFieldOffset() 공개 메소드

public GetFieldOffset ( FieldDefinition fd ) : int?
fd Mono.Cecil.FieldDefinition
리턴 int?

GetFunctionIndex() 공개 메소드

public GetFunctionIndex ( Mono.Cecil.MethodDefinition md ) : int
md Mono.Cecil.MethodDefinition
리턴 int

GetStringOffset() 공개 메소드

public GetStringOffset ( string str ) : int
str string
리턴 int

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

WasmSExprAssemblyEmitter() 공개 메소드

public WasmSExprAssemblyEmitter ( JSIL.AssemblyTranslator translator, AssemblyDefinition assembly, JavascriptFormatter formatter ) : System
translator JSIL.AssemblyTranslator
assembly Mono.Cecil.AssemblyDefinition
formatter JavascriptFormatter
리턴 System

프로퍼티 상세

Assembly 공개적으로 프로퍼티

public AssemblyDefinition,Mono.Cecil Assembly
리턴 Mono.Cecil.AssemblyDefinition

Formatter 공개적으로 프로퍼티

public JavascriptFormatter Formatter
리턴 JavascriptFormatter

MethodTable 공개적으로 프로퍼티

public List MethodTable
리턴 List

Translator 공개적으로 프로퍼티

public AssemblyTranslator,JSIL Translator
리턴 JSIL.AssemblyTranslator