TypeCheckExpr is an expression which is composed of an arbitrary expression and a type - is, as, coerce
Slots
- checkSource
-
CType check - coerceSource
- fromSource
-
CType? fromFrom type if coerce
- 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
-
new make(Location location, ExprId id, Expr target, CType check) - 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 := falseOverrides 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