eed3si9n / scalaxb

scalaxb is an XML data binding tool for Scala.

Home Page:http://scalaxb.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error while emitting: Method too large

fdietze opened this issue · comments

scalaxb 1.7.3, scala 2.12.11

I'm trying to generate code for:
https://www.bme.de/fileadmin/content/Initativen/BMEcat/Download_BMEcat_205.1/bmecat_2005_1.xsd.zip

But compiling this code seems to hit the jvm bytecode size limit for methods:

generated /home/felix/projects/bmecat/target/scala-2.12/src_managed/main/sbt-scalaxb/bmecat/sample.scala.
generated /home/felix/projects/bmecat/target/scala-2.12/src_managed/main/sbt-scalaxb/bmecat/bmecat_2005_1_type1.scala.
generated /home/felix/projects/bmecat/target/scala-2.12/src_managed/main/sbt-scalaxb/bmecat/xmlprotocol.scala.=> root / Compile / scalaxb / scalaxbGenerate 3s
generated /home/felix/projects/bmecat/target/scala-2.12/src_managed/main/sbt-scalaxb/scalaxb/scalaxb.scala.
generated /home/felix/projects/bmecat/target/scala-2.12/src_managed/main/sbt-scalaxb/scalaxb/httpclients_async.scala.
generated /home/felix/projects/bmecat/target/scala-2.12/src_managed/main/sbt-scalaxb/scalaxb/httpclients_dispatch_async.scala.
generated /home/felix/projects/bmecat/target/scala-2.12/src_managed/main/sbt-scalaxb/scalaxb/soap12_async.scala.
generated /home/felix/projects/bmecat/target/scala-2.12/src_managed/main/sbt-scalaxb/soapenvelope12/soapenvelope12.scala.
generated /home/felix/projects/bmecat/target/scala-2.12/src_managed/main/sbt-scalaxb/soapenvelope12/soapenvelope12_xmlprotocol.scala.
[info] Compiling 11 Scala sources to /home/felix/projects/bmecat/target/scala-2.12/classes ...
[error] [E-1] Error while emitting bmecat/XMLProtocol$DefaultBmecat_DtUNITFormat
[error]       Method too large: bmecat/XMLProtocol$DefaultBmecat_DtUNITFormat.fromString (Ljava/lang/String;Lscala/xml/NamespaceBinding;)Lbmecat/DtUNIT;
[error] [E-1] Error while emitting bmecat/XMLProtocol$DefaultBmecat_DtPUNITFormat
[error]       Method too large: bmecat/XMLProtocol$DefaultBmecat_DtPUNITFormat.fromString (Ljava/lang/String;Lscala/xml/NamespaceBinding;)Lbmecat/DtPUNIT;
[info] Legend: Ln = line n, Cn = column n, En = error n

Any ideas?

Interestingly, the outputs of http://scalaxb.org/online seem to compile. How can that be?

Maybe because I haven't updated scalaxb-heroku since scalaxb 1.4.0.