TypeCheckExpr is an expression which is composed of an arbitrary expression and a type - is, as, coerce
Slots
- checkSource
-
CType check
- coerceSource
- fromSource
-
CType? from
From type if coerce
- isAlwaysNullableSource
-
override Bool isAlwaysNullable()
Overrides compiler::Expr.isAlwaysNullable
Doc inherited from compiler::Expr.isAlwaysNullable
Return if this expression is guaranteed to sometimes return a null result (safe invoke, as, etc)
- isStmtSource
-
override Bool isStmt()
Overrides compiler::Expr.isStmt
Doc inherited from compiler::Expr.isStmt
Does this expression make up a complete statement. If you override this to true, then you must make sure the expr is popped in CodeAsm.
- makeSource
- opStrSource
-
Str opStr()
- 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.
- syntheticSource
-
override Bool synthetic := false
Overrides compiler::Expr.synthetic
Doc inherited from compiler::Expr.synthetic
Was this expression generated by the compiler (not necessarily everything auto-generated has this flag true, but we set in cases where error checking needs to be handled special)
- targetSource
-
Expr target
- toStrSource
-
override Str toStr()
Overrides compiler::Expr.toStr
Doc inherited from sys::Obj.toStr
Return a string representation of this object.
- walkChildrenSource
-
override Void walkChildren(Visitor v)
Overrides compiler::Expr.walkChildren