C# Class WasmSExprEmitter.WasmSExprAssemblyEmitter

Inheritance: IAssemblyEmitter
Mostrar archivo Open project: WebAssembly/ilwasm Class Usage Examples

Public Properties

Property Type Description
Assembly Mono.Cecil.AssemblyDefinition
Formatter JavascriptFormatter
MethodTable List
Translator JSIL.AssemblyTranslator

Public Methods

Method Description
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

Private Methods

Method Description
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

Method Details

BeginEmitTypeDeclaration() public method

public BeginEmitTypeDeclaration ( Mono.Cecil.TypeDefinition typedef ) : void
typedef Mono.Cecil.TypeDefinition
return void

BeginEmitTypeDefinition() public method

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
return void

EmitAssemblyEntryPoint() public method

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

EmitCachedValues() public method

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
return void

EmitConstant() public method

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
return void

EmitCustomAttributes() public method

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
return void

EmitEvent() public method

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
return void

EmitField() public method

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
return void

EmitFooter() public method

public EmitFooter ( ) : void
return void

EmitFunctionBody() public method

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

EmitHeader() public method

public EmitHeader ( bool stubbed ) : void
stubbed bool
return void

EmitInterfaceList() public method

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

EmitMain() public method

public EmitMain ( ) : void
return void

EmitMethodDefinition() public method

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
return void

EmitPrimitiveDefinition() public method

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
return void

EmitProperty() public method

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
return void

EmitProxyComment() public method

public EmitProxyComment ( string fullName ) : void
fullName string
return void

EmitSemicolon() public method

public EmitSemicolon ( ) : void
return void

EmitSpacer() public method

public EmitSpacer ( ) : void
return void

EmitStringLiteralContents() public static method

public static EmitStringLiteralContents ( System tw, IEnumerable text ) : void
tw System
text IEnumerable
return void

EmitTypeAlias() public method

public EmitTypeAlias ( Mono.Cecil.TypeDefinition typedef ) : void
typedef Mono.Cecil.TypeDefinition
return void

EmitTypeDeclarationHeader() public method

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
return bool

EndEmitTypeDefinition() public method

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

GetFieldOffset() public method

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

GetFunctionIndex() public method

public GetFunctionIndex ( Mono.Cecil.MethodDefinition md ) : int
md Mono.Cecil.MethodDefinition
return int

GetStringOffset() public method

public GetStringOffset ( string str ) : int
str string
return int

MakeAstEmitter() public method

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
return IAstEmitter

WasmSExprAssemblyEmitter() public method

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

Property Details

Assembly public_oe property

public AssemblyDefinition,Mono.Cecil Assembly
return Mono.Cecil.AssemblyDefinition

Formatter public_oe property

public JavascriptFormatter Formatter
return JavascriptFormatter

MethodTable public_oe property

public List MethodTable
return List

Translator public_oe property

public AssemblyTranslator,JSIL Translator
return JSIL.AssemblyTranslator