C# Class DCPUB.Ast.CompilableNode

Inheritance: AstNode
Show file Open project: Blecki/DCPUB Class Usage Examples

Public Properties

Property Type Description
ResultType string

Public Methods

Method Description
Child ( int n ) : CompilableNode
Constant ( ushort value ) : Intermediate.Operand
Dereference ( String r ) : Intermediate.Operand
DereferenceLabel ( Intermediate l ) : Intermediate.Operand
DereferenceOffset ( String s, ushort offset ) : Intermediate.Operand
DereferenceVariableOffset ( ushort offset ) : Intermediate.Operand
Emit ( CompileContext context, Model scope, Target target ) : Intermediate.IRNode
GatherSymbols ( CompileContext context, Model enclosingScope ) : void
GetFetchToken ( ) : Intermediate.Operand

Returns an operand to fetch the value of a node. Returns null if the value cannot be fetched by a single operand. If this does not return null, the emission of this nodes op-codes can be skipped.

Label ( Intermediate value ) : Intermediate.Operand
Operand ( Model r ) : Intermediate.Operand
Operand ( String r, Intermediate semantics = Intermediate.OperandSemantics.None, ushort offset ) : Intermediate.Operand
ResolveTypes ( CompileContext context, Model enclosingScope ) : void
VariableOffset ( ushort offset ) : Intermediate.Operand
Virtual ( int id, Intermediate semantics = Intermediate.OperandSemantics.None, ushort offset ) : Intermediate.Operand

Method Details

Child() public method

public Child ( int n ) : CompilableNode
n int
return CompilableNode

Constant() public static method

public static Constant ( ushort value ) : Intermediate.Operand
value ushort
return Intermediate.Operand

Dereference() public static method

public static Dereference ( String r ) : Intermediate.Operand
r String
return Intermediate.Operand

DereferenceLabel() public static method

public static DereferenceLabel ( Intermediate l ) : Intermediate.Operand
l Intermediate
return Intermediate.Operand

DereferenceOffset() public static method

public static DereferenceOffset ( String s, ushort offset ) : Intermediate.Operand
s String
offset ushort
return Intermediate.Operand

DereferenceVariableOffset() public static method

public static DereferenceVariableOffset ( ushort offset ) : Intermediate.Operand
offset ushort
return Intermediate.Operand

Emit() public method

public Emit ( CompileContext context, Model scope, Target target ) : Intermediate.IRNode
context CompileContext
scope Model
target Target
return Intermediate.IRNode

GatherSymbols() public method

public GatherSymbols ( CompileContext context, Model enclosingScope ) : void
context CompileContext
enclosingScope Model
return void

GetFetchToken() public method

Returns an operand to fetch the value of a node. Returns null if the value cannot be fetched by a single operand. If this does not return null, the emission of this nodes op-codes can be skipped.
public GetFetchToken ( ) : Intermediate.Operand
return Intermediate.Operand

Label() public static method

public static Label ( Intermediate value ) : Intermediate.Operand
value Intermediate
return Intermediate.Operand

Operand() public static method

public static Operand ( Model r ) : Intermediate.Operand
r Model
return Intermediate.Operand

Operand() public static method

public static Operand ( String r, Intermediate semantics = Intermediate.OperandSemantics.None, ushort offset ) : Intermediate.Operand
r String
semantics Intermediate
offset ushort
return Intermediate.Operand

ResolveTypes() public method

public ResolveTypes ( CompileContext context, Model enclosingScope ) : void
context CompileContext
enclosingScope Model
return void

VariableOffset() public static method

public static VariableOffset ( ushort offset ) : Intermediate.Operand
offset ushort
return Intermediate.Operand

Virtual() public static method

public static Virtual ( int id, Intermediate semantics = Intermediate.OperandSemantics.None, ushort offset ) : Intermediate.Operand
id int
semantics Intermediate
offset ushort
return Intermediate.Operand

Property Details

ResultType public property

public string ResultType
return string