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()

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()

Assignments to instance fields require a temporary local variable.

fieldSource

CField field

isAssignableSource

override Bool 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