C# Class WasmSExprEmitter.WasmSExprAssemblyEmitter

Inheritance: IAssemblyEmitter
Show file 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 property

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

Formatter public property

public JavascriptFormatter Formatter
return JavascriptFormatter

MethodTable public property

public List MethodTable
return List

Translator public property

public AssemblyTranslator,JSIL Translator
return JSIL.AssemblyTranslator