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)