Placeholders
$L - literal value with no escaping.$L$N emits a name, using name collision avoidance where necessaryaddStatement("$N.toString()", fieldName)
// output
name.toString();$S escapes the value as a stringaddStatement("String initialValue = $S", initialValue)
// output
String initialValue = "EXCHANGE_RATE";$T emits a type referenceaddStatement("$T a = $S", String.class, "")
// output
String a = "";$$ emits a dollar ($) sign