C# 클래스 Pchp.CodeAnalysis.CodeGen.BoundFieldPlace

A direct field access.
상속: IBoundReference
파일 보기 프로젝트 열기: iolevel/peachpie

Private Properties

프로퍼티 타입 설명

공개 메소드들

메소드 설명
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

보호된 메소드들

메소드 설명
EmitLoadFieldInstance ( CodeGenerator cg, InstanceCacheHolder instanceOpt ) : void

Emits instance of the field containing class.

메소드 상세

BoundFieldPlace() 공개 메소드

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
리턴 Devsense.PHP.Syntax

EmitLoad() 공개 메소드

public EmitLoad ( CodeGenerator cg ) : TypeSymbol
cg CodeGenerator
리턴 TypeSymbol

EmitLoadFieldInstance() 보호된 메소드

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

EmitLoadPrepare() 공개 메소드

public EmitLoadPrepare ( CodeGenerator cg, InstanceCacheHolder instanceOpt ) : void
cg CodeGenerator
instanceOpt InstanceCacheHolder
리턴 void

EmitOpCode() 공개 메소드

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

EmitOpCode_Load() 공개 메소드

public EmitOpCode_Load ( CodeGenerator cg ) : void
cg CodeGenerator
리턴 void

EmitOpCode_LoadAddress() 공개 메소드

public EmitOpCode_LoadAddress ( CodeGenerator cg ) : void
cg CodeGenerator
리턴 void

EmitOpCode_Store() 공개 메소드

public EmitOpCode_Store ( CodeGenerator cg ) : void
cg CodeGenerator
리턴 void

EmitStore() 공개 메소드

public EmitStore ( CodeGenerator cg, TypeSymbol valueType ) : void
cg CodeGenerator
valueType TypeSymbol
리턴 void

EmitStorePrepare() 공개 메소드

public EmitStorePrepare ( CodeGenerator cg, InstanceCacheHolder instanceOpt ) : void
cg CodeGenerator
instanceOpt InstanceCacheHolder
리턴 void