mixin fanc::ExprPrinter
fanc::ExprPrinter : fanc::CodePrinter
CodePrinter routing for Expr nodes
- andExpr
- asExpr
-
abstract This asExpr(TypeCheckExpr x)
- assignExpr
-
abstract This assignExpr(BinaryExpr x)
- binaryExpr
-
virtual This binaryExpr(Expr lhs, Str op, Expr rhs)
Write binary expression with optional grouping parens
- binaryOperator
-
virtual Str? binaryOperator(Str qname)
Return operator if given method qname maps to binary operator or null
- callExpr
-
virtual This callExpr(CallExpr x)
Call expression handling
- callMethodExpr
-
abstract This callMethodExpr(CallExpr x)
Normal call method
- closureExpr
-
abstract This closureExpr(ClosureExpr x)
- coerceExpr
-
abstract This coerceExpr(TypeCheckExpr x)
- compareExpr
- compareNotNullExpr
- compareNullExpr
- condExpr
-
virtual This condExpr(Str op, Expr[] operands)
Write list of cond with operator with optional grouping parens
- cparen
-
This cparen()
Close paren only if not top expr
- ctorExpr
-
abstract This ctorExpr(CallExpr x)
Constructor call expression
- decimalLiteral
-
abstract This decimalLiteral(LiteralExpr x)
- doExpr
- durationLiteral
-
abstract This durationLiteral(LiteralExpr x)
- elvisExpr
-
abstract This elvisExpr(BinaryExpr x)
- expr
- falseLiteral
-
abstract This falseLiteral(LiteralExpr x)
- fieldExpr
- floatLiteral
-
abstract This floatLiteral(LiteralExpr x)
- intLiteral
-
abstract This intLiteral(LiteralExpr x)
- isExpr
-
abstract This isExpr(TypeCheckExpr x)
- isTopExpr
-
Bool isTopExpr()
Top expr - if false might need to wrap some exprs in parens
- isnotExpr
-
abstract This isnotExpr(TypeCheckExpr x)
- itExpr
-
abstract This itExpr(LocalVarExpr x)
- listLiteral
-
abstract This listLiteral(ListLiteralExpr x)
- localExpr
-
abstract This localExpr(LocalVarExpr x)
- mapLiteral
-
abstract This mapLiteral(MapLiteralExpr x)
- notExpr
- notSameExpr
-
abstract This notSameExpr(BinaryExpr x)
- nullLiteral
-
abstract This nullLiteral(LiteralExpr x)
- oparen
-
This oparen()
Open paren only if not top expr
- orExpr
- postfixLeaveExpr
-
abstract This postfixLeaveExpr(ShortcutExpr x)
Handle postfix ++ or --
- rangeLiteral
-
abstract This rangeLiteral(RangeLiteralExpr x)
- safeCallExpr
-
abstract This safeCallExpr(CallExpr x)
Null safe call expression handling
- sameExpr
-
abstract This sameExpr(BinaryExpr x)
- shortcutAssignExpr
-
abstract This shortcutAssignExpr(ShortcutExpr x)
Handle special assign+math operators:
+= -= *= /=
- shortcutExpr
-
virtual This shortcutExpr(ShortcutExpr x)
Shortcut special handling for comparison, otherwise route to callExpr
- slotLiteral
-
abstract This slotLiteral(SlotLiteralExpr x)
- staticTargetExpr
-
abstract This staticTargetExpr(StaticTargetExpr x)
- strLiteral
-
abstract This strLiteral(LiteralExpr x)
- superExpr
-
abstract This superExpr(LocalVarExpr x)
- ternaryExpr
-
abstract This ternaryExpr(TernaryExpr x)
- thisExpr
-
abstract This thisExpr(LocalVarExpr x)
- throwExpr
- trapExpr
-
abstract This trapExpr(CallExpr x)
Trap call expression handling
- trueLiteral
-
abstract This trueLiteral(LiteralExpr x)
- typeLiteral
-
abstract This typeLiteral(LiteralExpr x)
- unaryExpr
-
virtual This unaryExpr(Str op, Expr operand)
Write unary expression with optional grouping parens
- unaryOperator
-
virtual Str? unaryOperator(Str qname)
Return operator if given method qname maps to unary operator or null
- uriLiteral
-
abstract This uriLiteral(LiteralExpr x)