Fan

 

class

compiler::FieldExpr

sys::Obj
  compiler::Node
    compiler::Expr
      compiler::NameExpr
        compiler::FieldExpr

FieldExpr is used for a field variable access.

Slots

asTableSwitchCaseSource

override Int? asTableSwitchCase()

Overrides compiler::Expr.asTableSwitchCase

Doc inherited from compiler::Expr.asTableSwitchCase

Return this expression as an Int literal usable in a tableswitch, or null if this Expr doesn't represent a constant Int. Expressions which work as table switch cases: int literals and enum constants

assignRequiresTempVarSource

override Bool assignRequiresTempVar()

Overrides compiler::Expr.assignRequiresTempVar

Doc inherited from compiler::Expr.assignRequiresTempVar

Assignments to instance fields require a temporary local variable.

fieldSource

CField field

isAssignableSource

override Bool isAssignable()

Overrides compiler::Expr.isAssignable

Doc inherited from compiler::Expr.isAssignable

Return if this expression can be used as the left hand side of an assignment expression.

makeSource

new make(Location location, Expr? target := null, CField? field := null, Bool useAccessor := true)

serializeSource

override Str serialize()

Overrides compiler::Expr.serialize

Doc inherited from compiler::Expr.serialize

Return this expression as serialization text or throw exception if not serializable.

toStrSource

override Str toStr()

Overrides compiler::NameExpr.toStr

Doc inherited from sys::Obj.toStr

Return a string representation of this object.

useAccessorSource

Bool useAccessor