@@ -23,7 +23,7 @@ class TwirlWorker {
23
23
case Some ((sig, instance)) if sig == classloaderSig => instance
24
24
case _ =>
25
25
val cl = new URLClassLoader (twirlClasspath.map(_.toIO.toURI.toURL).toArray)
26
- val twirlCompilerClass = cl.loadClass(" play.japi. twirl.compiler.TwirlCompiler" )
26
+ val twirlCompilerClass = cl.loadClass(" play.twirl.compiler.TwirlCompiler" )
27
27
// Use the Java API (available in Twirl 1.3+)
28
28
// Using reflection on a method with "Seq[String] = Nil" parameter type does not seem to work.
29
29
@@ -34,8 +34,16 @@ class TwirlWorker {
34
34
classOf [java.io.File ],
35
35
classOf [java.io.File ],
36
36
classOf [java.lang.String ],
37
- classOf [util.Collection [java.lang.String ]],
38
- classOf [util.List [java.lang.String ]])
37
+ cl.loadClass(" scala.collection.Seq" ),
38
+ cl.loadClass(" scala.collection.Seq" ),
39
+ cl.loadClass(" scala.io.Codec" ),
40
+ classOf [Boolean ]
41
+ )
42
+
43
+ val defaultAdditionalImportsMethod = twirlCompilerClass.getMethod(" compile$default$5" )
44
+ val defaultConstructorAnnotationsMethod = twirlCompilerClass.getMethod(" compile$default$6" )
45
+ val defaultCodecMethod = twirlCompilerClass.getMethod(" compile$default$7" )
46
+ val defaultFlagMethod = twirlCompilerClass.getMethod(" compile$default$8" )
39
47
40
48
val instance = new TwirlWorkerApi {
41
49
override def compileTwirl (source : File ,
@@ -48,8 +56,11 @@ class TwirlWorker {
48
56
sourceDirectory,
49
57
generatedDirectory,
50
58
formatterType,
51
- additionalImports.asJava,
52
- constructorAnnotations.asJava)
59
+ defaultAdditionalImportsMethod.invoke(null ),
60
+ defaultConstructorAnnotationsMethod.invoke(null ),
61
+ defaultCodecMethod.invoke(null ),
62
+ defaultFlagMethod.invoke(null )
63
+ )
53
64
}
54
65
}
55
66
twirlInstanceCache = Some ((classloaderSig, instance))
0 commit comments