Fantom

 

class

compiler::TypeCheckExpr

sys::Obj
  compiler::Node
    compiler::Expr
      compiler::TypeCheckExpr

TypeCheckExpr is an expression which is composed of an arbitrary expression and a type - is, as, coerce

Slots

checkSource

CType check

coerceSource

new coerce(Expr target, CType to)

fromSource

CType? from

From type if coerce

isAlwaysNullableSource

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

new make(Loc loc, 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 := 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)