class compiler::ShortcutExpr
sys::Obj compiler::Node compiler::Expr compiler::NameExpr compiler::CallExpr compiler::ShortcutExpr
ShortcutExpr is used for operator expressions which are a shortcut to a method call:
a + b => a.plus(b)
a - b => a.minus(b)
a * b => a.mult(b)
a / b => a.div(b)
a % b => a.mod(b)
a[b] => a.get(b)
a[b] = c => a.set(b, c)
-a => a.negate()
++a, a++ => a.increment()
--a, a-- => a.decrement()
a == b => a.equals(b)
a != b => ! a.equals(b)
a <=> => a.compare(b)
a > b => a.compare(b) > 0
a >= b => a.compare(b) >= 0
a < b => a.compare(b) < 0
a <= b => a.compare(b) <= 0
- assignRequiresTempVar
-
virtual override Bool assignRequiresTempVar() - assignTarget
-
virtual override Obj? assignTarget() - isAssign
-
Bool isAssign() - isAssignable
-
virtual override Bool isAssignable() - isCompare
-
virtual override Bool isCompare() - isPostfixLeave
-
Bool isPostfixLeave := false - isStmt
-
virtual override Bool isStmt() - isStrConcat
-
Bool isStrConcat() - makeBinary
- makeFrom
-
new makeFrom(ShortcutExpr from) - makeGet
- makeUnary
- op
-
ShortcutOp op - opToken
-
Token opToken - tempVar
-
MethodVar? tempVar - toStr
-
virtual override Str toStr()