import java.io.*;
class X {
void processorMissing() {
System.out.println("""
\{1}
""");
"\{}";
System.out.println(NOPE."\{false}");
System.out.println(RAW."\{false}");
}
void correct(int i) {
System.out.println(STR."the value is \{i}");
String s = STR."";
StringTemplate st = StringTemplate.RAW."""
""";
}
void wrongType(String foo) {
String s = StringTemplate.RAW."""
this: \{foo}
""";
var x = (java.io.Serializable & StringTemplate.Processor)null;
java.util.ArrayList v = x."asdf";
String t = x."reticulation";
}
String unresolvedValues() {
return STR."\{logic} \{proportion}";
}
interface MyProcessor extends StringTemplate.Processor {}
String raw(StringTemplate.Processor processor, MyProcessor myProcessor) {
System.out.println(myProcessor."");
return processor."\{}\{}\{}\{}\{}\{}";
var z = (java.io.Serializable & StringTemplate.Processor)myProcessor;
System.out.println(z."");
}
void nested() {
System.out.println(STR."\{STR."\{STR."\{STR."\{STR."\{STR."\{STR.""}"}"}"}"}"}");
}
String badEscape() {
System.out.println(STR."b\ad \{} esc\ape 1");
System.out.println(STR. """
b\ad \{} esc\ape 2
""");
System.out.println(STR."\{}unclosed);
return STR."\{} \uX";
}
static class Covariant implements StringTemplate.Processor