logo

class

compiler::BinaryExpr

sys::Obj
  compiler::Node
    compiler::Expr
      compiler::BinaryExpr

BinaryExpr is used for binary expressions with a left hand side and a right hand side including assignment. Note that many common binary operations are actually modeled as ShortcutExpr to enable method based operator overloading.

Slots

isStmt

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

Source

lhs

Expr lhs

Source

make

new make(Expr lhs, Token opToken, Expr rhs)

Source

makeAssign

new makeAssign(Expr lhs, Expr rhs, Bool leave := false)

Source

opToken

Token opToken

Source

rhs

Expr rhs

Source

serialize

override Str serialize()

Return this expression as serialization text or throw exception if not serializable.

Source

tempVar

MethodVar tempVar

Source

toStr

override Str toStr()

Return a string representation of this object.

Source

walkChildren

override Void walkChildren(Visitor v)

Source