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)
- sameVarAsSource
-
override Bool sameVarAs(Expr that)
Overrides compiler::Expr.sameVarAs
Doc inherited from compiler::Expr.sameVarAs
Return if this expression represents the same variable or field as that. This is used for self assignment checks.
- 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