C# Class Pchp.CodeAnalysis.CodeGen.BoundFieldPlace

A direct field access.
Inheritance: IBoundReference
Show file Open project: iolevel/peachpie

Private Properties

Property Type Description

Public Methods

Method Description
BoundFieldPlace ( BoundExpression instance, FieldSymbol field, BoundExpression boundref ) : Devsense.PHP.Syntax
EmitLoad ( CodeGenerator cg ) : TypeSymbol
EmitLoadPrepare ( CodeGenerator cg, InstanceCacheHolder instanceOpt ) : void
EmitOpCode ( CodeGenerator cg, ILOpCode code ) : void

Emits ldfld, stfld, ldflda, ldsfld, stsfld.

EmitOpCode_Load ( CodeGenerator cg ) : void
EmitOpCode_LoadAddress ( CodeGenerator cg ) : void
EmitOpCode_Store ( CodeGenerator cg ) : void
EmitStore ( CodeGenerator cg, TypeSymbol valueType ) : void
EmitStorePrepare ( CodeGenerator cg, InstanceCacheHolder instanceOpt ) : void

Protected Methods

Method Description
EmitLoadFieldInstance ( CodeGenerator cg, InstanceCacheHolder instanceOpt ) : void

Emits instance of the field containing class.

Method Details

BoundFieldPlace() public method

public BoundFieldPlace ( BoundExpression instance, FieldSymbol field, BoundExpression boundref ) : Devsense.PHP.Syntax
instance Pchp.CodeAnalysis.Semantics.BoundExpression
field Pchp.CodeAnalysis.Symbols.FieldSymbol
boundref Pchp.CodeAnalysis.Semantics.BoundExpression
return Devsense.PHP.Syntax

EmitLoad() public method

public EmitLoad ( CodeGenerator cg ) : TypeSymbol
cg CodeGenerator
return TypeSymbol

EmitLoadFieldInstance() protected method

Emits instance of the field containing class.
protected EmitLoadFieldInstance ( CodeGenerator cg, InstanceCacheHolder instanceOpt ) : void
cg CodeGenerator
instanceOpt InstanceCacheHolder
return void

EmitLoadPrepare() public method

public EmitLoadPrepare ( CodeGenerator cg, InstanceCacheHolder instanceOpt ) : void
cg CodeGenerator
instanceOpt InstanceCacheHolder
return void

EmitOpCode() public method

Emits ldfld, stfld, ldflda, ldsfld, stsfld.
public EmitOpCode ( CodeGenerator cg, ILOpCode code ) : void
cg CodeGenerator
code ILOpCode ld* or st* OP code.
return void

EmitOpCode_Load() public method

public EmitOpCode_Load ( CodeGenerator cg ) : void
cg CodeGenerator
return void

EmitOpCode_LoadAddress() public method

public EmitOpCode_LoadAddress ( CodeGenerator cg ) : void
cg CodeGenerator
return void

EmitOpCode_Store() public method

public EmitOpCode_Store ( CodeGenerator cg ) : void
cg CodeGenerator
return void

EmitStore() public method

public EmitStore ( CodeGenerator cg, TypeSymbol valueType ) : void
cg CodeGenerator
valueType TypeSymbol
return void

EmitStorePrepare() public method

public EmitStorePrepare ( CodeGenerator cg, InstanceCacheHolder instanceOpt ) : void
cg CodeGenerator
instanceOpt InstanceCacheHolder
return void