C# Class Jurassic.Compiler.MemberAccessExpression

Represents a variable or member access.
Inheritance: Jurassic.Compiler.OperatorExpression, IReferenceExpression
Show file Open project: paulbartrum/jurassic Class Usage Examples

Public Methods

Method Description
DuplicateReference ( ILGenerator generator, OptimizationInfo optimizationInfo ) : void

Outputs the values needed to get or set this reference.

GenerateCode ( ILGenerator generator, OptimizationInfo optimizationInfo ) : void

Generates CIL for the expression.

GenerateDelete ( ILGenerator generator, OptimizationInfo optimizationInfo ) : void

Deletes the reference and pushes true if the delete succeeded, or false if the delete failed.

GenerateGet ( ILGenerator generator, OptimizationInfo optimizationInfo, bool throwIfUnresolvable ) : void

Pushes the value of the reference onto the stack.

GenerateReference ( ILGenerator generator, OptimizationInfo optimizationInfo ) : void

Outputs the values needed to get or set this reference.

GenerateSet ( ILGenerator generator, OptimizationInfo optimizationInfo, PrimitiveType valueType, bool throwIfUnresolvable ) : void

Stores the value on the top of the stack in the reference.

MemberAccessExpression ( Jurassic.Compiler.Operator @operator )

Creates a new instance of MemberAccessExpression.

ToString ( ) : string

Converts the expression to a string.

Private Methods

Method Description
DetermineTypeOfMemberAccess ( OptimizationInfo optimizationInfo, string &propertyName ) : TypeOfMemberAccess

Determines the type of member access.

Method Details

DuplicateReference() public method

Outputs the values needed to get or set this reference.
public DuplicateReference ( ILGenerator generator, OptimizationInfo optimizationInfo ) : void
generator ILGenerator The generator to output the CIL to.
optimizationInfo OptimizationInfo Information about any optimizations that should be performed.
return void

GenerateCode() public method

Generates CIL for the expression.
public GenerateCode ( ILGenerator generator, OptimizationInfo optimizationInfo ) : void
generator ILGenerator The generator to output the CIL to.
optimizationInfo OptimizationInfo Information about any optimizations that should be performed.
return void

GenerateDelete() public method

Deletes the reference and pushes true if the delete succeeded, or false if the delete failed.
public GenerateDelete ( ILGenerator generator, OptimizationInfo optimizationInfo ) : void
generator ILGenerator The generator to output the CIL to.
optimizationInfo OptimizationInfo Information about any optimizations that should be performed.
return void

GenerateGet() public method

Pushes the value of the reference onto the stack.
public GenerateGet ( ILGenerator generator, OptimizationInfo optimizationInfo, bool throwIfUnresolvable ) : void
generator ILGenerator The generator to output the CIL to.
optimizationInfo OptimizationInfo Information about any optimizations that should be performed.
throwIfUnresolvable bool true to throw a ReferenceError exception if /// the name is unresolvable; false to output null instead.
return void

GenerateReference() public method

Outputs the values needed to get or set this reference.
public GenerateReference ( ILGenerator generator, OptimizationInfo optimizationInfo ) : void
generator ILGenerator The generator to output the CIL to.
optimizationInfo OptimizationInfo Information about any optimizations that should be performed.
return void

GenerateSet() public method

Stores the value on the top of the stack in the reference.
public GenerateSet ( ILGenerator generator, OptimizationInfo optimizationInfo, PrimitiveType valueType, bool throwIfUnresolvable ) : void
generator ILGenerator The generator to output the CIL to.
optimizationInfo OptimizationInfo Information about any optimizations that should be performed.
valueType PrimitiveType The primitive type of the value that is on the top of the stack.
throwIfUnresolvable bool true to throw a ReferenceError exception if /// the name is unresolvable; false to create a new property instead.
return void

MemberAccessExpression() public method

Creates a new instance of MemberAccessExpression.
public MemberAccessExpression ( Jurassic.Compiler.Operator @operator )
@operator Jurassic.Compiler.Operator

ToString() public method

Converts the expression to a string.
public ToString ( ) : string
return string