C# Class Mono.CSharp.ToplevelBlock

Inheritance: ExplicitBlock
Show file Open project: kumpera/mono Class Usage Examples

Public Properties

Property Type Description
HoistedThisVariable HoistedVariable

Public Methods

Method Description
AddLabel ( string name, LabeledStatement label ) : void
AddLocalName ( string name, INamedBlockVariable li ) : void
AddThisVariable ( BlockContext bc, TypeContainer ds, Mono.CSharp.Location l ) : LocalVariable

This is used by non-static `struct' constructors which do not have an initializer - in this case, the constructor must initialize all of the struct's fields. To do this, we add a "this" variable and use the flow analysis code to ensure that it's been fully initialized before control leaves the constructor.

Emit ( EmitContext ec ) : void
GetAllParametersArguments ( ) : Arguments
GetLabel ( string name, Block block ) : LabeledStatement
GetLocalName ( string name, Block block, INamedBlockVariable &variable ) : bool
IsThisAssigned ( BlockContext ec ) : bool
ToplevelBlock ( CompilerContext ctx, Mono.CSharp.Location loc ) : System
ToplevelBlock ( CompilerContext ctx, ParametersCompiled parameters, Mono.CSharp.Location start ) : System
ToplevelBlock ( ParametersBlock source, ParametersCompiled parameters ) : System

Protected Methods

Method Description
EmitSymbolInfo ( EmitContext ec ) : void

Method Details

AddLabel() public method

public AddLabel ( string name, LabeledStatement label ) : void
name string
label LabeledStatement
return void

AddLocalName() public method

public AddLocalName ( string name, INamedBlockVariable li ) : void
name string
li INamedBlockVariable
return void

AddThisVariable() public method

This is used by non-static `struct' constructors which do not have an initializer - in this case, the constructor must initialize all of the struct's fields. To do this, we add a "this" variable and use the flow analysis code to ensure that it's been fully initialized before control leaves the constructor.
public AddThisVariable ( BlockContext bc, TypeContainer ds, Mono.CSharp.Location l ) : LocalVariable
bc BlockContext
ds TypeContainer
l Mono.CSharp.Location
return LocalVariable

Emit() public method

public Emit ( EmitContext ec ) : void
ec EmitContext
return void

EmitSymbolInfo() protected method

protected EmitSymbolInfo ( EmitContext ec ) : void
ec EmitContext
return void

GetAllParametersArguments() public method

public GetAllParametersArguments ( ) : Arguments
return Arguments

GetLabel() public method

public GetLabel ( string name, Block block ) : LabeledStatement
name string
block Block
return LabeledStatement

GetLocalName() public method

public GetLocalName ( string name, Block block, INamedBlockVariable &variable ) : bool
name string
block Block
variable INamedBlockVariable
return bool

IsThisAssigned() public method

public IsThisAssigned ( BlockContext ec ) : bool
ec BlockContext
return bool

ToplevelBlock() public method

public ToplevelBlock ( CompilerContext ctx, Mono.CSharp.Location loc ) : System
ctx CompilerContext
loc Mono.CSharp.Location
return System

ToplevelBlock() public method

public ToplevelBlock ( CompilerContext ctx, ParametersCompiled parameters, Mono.CSharp.Location start ) : System
ctx CompilerContext
parameters ParametersCompiled
start Mono.CSharp.Location
return System

ToplevelBlock() public method

public ToplevelBlock ( ParametersBlock source, ParametersCompiled parameters ) : System
source ParametersBlock
parameters ParametersCompiled
return System

Property Details

HoistedThisVariable public property

public HoistedVariable,Mono.CSharp HoistedThisVariable
return HoistedVariable