casid / jte

Secure and speedy templates for Java and Kotlin.
https://jte.gg
Apache License 2.0
804 stars 59 forks source link

${"\\"} Causes "Unexpected end of template expression" #328

Closed mhdeeb closed 8 months ago

mhdeeb commented 8 months ago

As stated in the title, the existence of ${"\\"} in a .jte causes this exception

gg.jte.TemplateException: Failed to compile test.jte, error at line 1: Unexpected end of template expression
        at gg.jte.compiler.java.JavaCodeGenerator.onError(JavaCodeGenerator.java:227)
        at gg.jte.compiler.TemplateParser.extractTextPart(TemplateParser.java:448)
        at gg.jte.compiler.TemplateParser.doParse(TemplateParser.java:358)
        at gg.jte.compiler.TemplateParser.parse(TemplateParser.java:85)
        at gg.jte.compiler.TemplateParser.parse(TemplateParser.java:80)
        at gg.jte.compiler.TemplateCompiler.generateTemplateCall(TemplateCompiler.java:265)
        at gg.jte.compiler.TemplateCompiler.generate(TemplateCompiler.java:169)
        at gg.jte.compiler.TemplateCompiler.precompile(TemplateCompiler.java:93)
        at gg.jte.compiler.TemplateCompiler.load(TemplateCompiler.java:50)
        at gg.jte.TemplateEngine.lambda$resolveTemplateOnDemand$0(TemplateEngine.java:354)
        at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1916)
        at gg.jte.TemplateEngine.resolveTemplateOnDemand(TemplateEngine.java:347)
        at gg.jte.TemplateEngine.resolveTemplate(TemplateEngine.java:337)
        at gg.jte.TemplateEngine.render(TemplateEngine.java:228)
casid commented 8 months ago

Thanks for reporting @mhdeeb, I've just pushed a fix for this.