Generate all-to-java fails
DynSem to Java generation fails in Spoofax Core
Spoofax Core version 2016-01-08
Project: paplj converted to core: (branch: core) https://github.com/MetaBorgCube/declare-your-language/tree/core/languages/paplj
transformation applied to: https://github.com/MetaBorgCube/declare-your-language/blob/core/languages/paplj/paplj.full/trans/semantics/semantics.ds
Submitted by Eelco Visser on 9 January 2016 at 13:21
13:15 | INFO | stderr - [ identity crisis | info ] Import flattening : [user/system] = [0.07s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Desugaring : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Marking variable def sites : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Renaming variables : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing built-in signatures : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing signatures : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Checking signatures : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Memoization efficiency : [hits/misses] = [9037/671]
13:15 | INFO | stderr - [ identity crisis | info ] Storing rules : [user/system] = [0.08s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Post-analysis checks : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Implicit conversion info : [user/system] = [0.02s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Analysis : [user/system] = [0.11s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing all definitions : [user/system] = [0.12s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Desugaring variable schemes : [user/system] = [0.13s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Marking variable def sites : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Renaming variables : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing built-in signatures : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing signatures : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Checking signatures : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Memoization efficiency : [hits/misses] = [3889/270]
13:15 | INFO | stderr - [ identity crisis | info ] Storing rules : [user/system] = [0.04s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Post-analysis checks : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Implicit conversion info : [user/system] = [0.02s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Analysis : [user/system] = [0.08s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing all definitions : [user/system] = [0.08s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Adding extra typeannos : [user/system] = [0.08s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Marking variable def sites : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Renaming variables : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing built-in signatures : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing signatures : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Checking signatures : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Memoization efficiency : [hits/misses] = [3889/270]
13:15 | INFO | stderr - [ identity crisis | info ] Storing rules : [user/system] = [0.04s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Post-analysis checks : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Implicit conversion info : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Analysis : [user/system] = [0.07s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing all definitions : [user/system] = [0.07s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Desugaring aliases : [user/system] = [0.08s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Factorization 1/2 : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Marking variable def sites : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Renaming variables : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing built-in signatures : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing signatures : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Checking signatures : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Memoization efficiency : [hits/misses] = [3461/250]
13:15 | INFO | stderr - [ identity crisis | info ] Storing rules : [user/system] = [0.09s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Post-analysis checks : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Implicit conversion info : [user/system] = [0.02s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Analysis : [user/system] = [0.12s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing all definitions : [user/system] = [0.12s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Implicits expansion : [user/system] = [0.14s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Factorization 2/2 : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Explication : [user/system] = [0.03s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Cons merging : [user/system] = [0.03s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Marking variable def sites : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Renaming variables : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing built-in signatures : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing signatures : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Checking signatures : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Memoization efficiency : [hits/misses] = [5717/399]
13:15 | INFO | stderr - [ identity crisis | info ] Storing rules : [user/system] = [0.28s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Post-analysis checks : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Implicit conversion info : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Analysis : [user/system] = [0.31s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing all definitions : [user/system] = [0.31s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] List merging : [user/system] = [0.32s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Marking variable def sites : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Renaming variables : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing built-in signatures : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing signatures : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Checking signatures : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Memoization efficiency : [hits/misses] = [5692/399]
13:15 | INFO | stderr - [ identity crisis | info ] Storing rules : [user/system] = [0.27s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Post-analysis checks : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Implicit conversion info : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Analysis : [user/system] = [0.30s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing all definitions : [user/system] = [0.30s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Variable merging : [user/system] = [0.32s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Rule merging : [user/system] = [0.67s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Copy propagation : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Constant propagation : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Desugaring : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Escaping variable names : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Marking variable def sites : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Renaming variables : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing built-in signatures : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing signatures : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Checking signatures : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Memoization efficiency : [hits/misses] = [5692/399]
13:15 | INFO | stderr - [ identity crisis | info ] Storing rules : [user/system] = [0.28s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Post-analysis checks : [user/system] = [0.00s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Implicit conversion info : [user/system] = [0.01s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Analysis : [user/system] = [0.30s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Storing all definitions : [user/system] = [0.30s/0.00s]
13:15 | INFO | stderr - [ identity crisis | info ] Java backend extra analysis : [user/system] = [0.00s/0.00s]
13:15 | ERROR | o.m.s.e.t.TransformJob - Transformation failed for eclipse:///paplj.full/trans/semantics/semantics.ds
org.metaborg.core.transform.TransformException: Transformation failed unexpectedly
at org.metaborg.spoofax.core.transform.StrategoTransformer.transform(StrategoTransformer.java:93) ~[org.metaborg.spoofax.core_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
at org.metaborg.spoofax.core.transform.StrategoTransformer.transform(StrategoTransformer.java:54) ~[org.metaborg.spoofax.core_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
at org.metaborg.core.transform.TransformService.transformAction(TransformService.java:70) ~[org.metaborg.core_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
at org.metaborg.core.transform.TransformService.transform(TransformService.java:36) ~[org.metaborg.core_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
at org.metaborg.spoofax.eclipse.transform.TransformJob.transform(TransformJob.java:138) [org.metaborg.spoofax.eclipse_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
at org.metaborg.spoofax.eclipse.transform.TransformJob.transformAll(TransformJob.java:105) [org.metaborg.spoofax.eclipse_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
at org.metaborg.spoofax.eclipse.transform.TransformJob.run(TransformJob.java:68) [org.metaborg.spoofax.eclipse_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [org.eclipse.core.jobs_3.7.0.v20150330-2103.jar:na]
Caused by: org.metaborg.core.MetaborgException: Invoking Stratego strategy failed unexpectedly
at org.metaborg.spoofax.core.stratego.StrategoCommon.handleException(StrategoCommon.java:121) ~[org.metaborg.spoofax.core_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
at org.metaborg.spoofax.core.stratego.StrategoCommon.invoke(StrategoCommon.java:84) ~[org.metaborg.spoofax.core_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
at org.metaborg.spoofax.core.transform.StrategoTransformer.transform(StrategoTransformer.java:91) ~[org.metaborg.spoofax.core_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
… 7 common frames omitted
Caused by: org.spoofax.interpreter.core.InterpreterException: Exception during evaluation
at org.spoofax.interpreter.core.Interpreter.evaluate(Interpreter.java:120) ~[org.spoofax.interpreter.core_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
at org.spoofax.interpreter.core.Interpreter.invoke(Interpreter.java:82) ~[org.spoofax.interpreter.core_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
at org.strategoxt.HybridInterpreter.invoke(HybridInterpreter.java:442) ~[org.strategoxt.strj_1.5.0.20160108-172009-new-spoofax-plugin/:na]
at org.metaborg.spoofax.core.stratego.StrategoCommon.invoke(StrategoCommon.java:78) ~[org.metaborg.spoofax.core_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
… 8 common frames omitted
Caused by: org.strategoxt.lang.StrategoException: trans: Could not find imported term file JavaCompilationUnit-15.tbl
at org.strategoxt.lang.ImportTerm.openStream(ImportTerm.java:70) ~[org.strategoxt.strj_1.5.0.20160108-172009-new-spoofax-plugin/:na]
at org.strategoxt.lang.ImportTerm.init(ImportTerm.java:38) ~[org.strategoxt.strj_1.5.0.20160108-172009-new-spoofax-plugin/:na]
at org.spoofax.terms.LazyTerm.getWrapped(LazyTerm.java:35) ~[org.spoofax.terms_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
at org.spoofax.terms.LazyTerm.getTermType(LazyTerm.java:60) ~[org.spoofax.terms_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
at org.strategoxt.lang.compat.override.jsglr_parser_compat.lifted6943.invoke(lifted6943.java:28) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at org.strategoxt.stratego_lib.try_1_0.invoke(try_1_0.java:28) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at org.strategoxt.lang.compat.override.jsglr_parser_compat.jsglr_parse_string_1_3.invoke(jsglr_parse_string_1_3.java:27) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at org.strategoxt.lang.compat.override.jsglr_parser_compat.lifted6938.invoke(lifted6938.java:53) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at org.strategoxt.stratego_lib.finally_2_0.invoke(finally_2_0.java:28) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at org.strategoxt.lang.compat.override.jsglr_parser_compat.parse_file_2_3_override.invoke(parse_file_2_3_override.java:59) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at org.strategoxt.stratego_sglr.parse_file_2_1.invoke(parse_file_2_1.java:27) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at trans.parse_java_file_0_0.invoke(parse_java_file_0_0.java:33) ~[na:na]
at trans.emit_java_class_2_2.invoke(emit_java_class_2_2.java:106) ~[na:na]
at trans.lifted596.invoke(lifted596.java:30) ~[na:na]
at org.strategoxt.lang.SRTS_all.map(SRTS_all.java:60) ~[org.strategoxt.strj_1.5.0.20160108-172009-new-spoofax-plugin/:na]
at org.strategoxt.lang.SRTS_all.invoke(SRTS_all.java:21) ~[org.strategoxt.strj_1.5.0.20160108-172009-new-spoofax-plugin/:na]
at org.strategoxt.lang.compat.override.performance_tweaks.map_1_0_override.invoke(map_1_0_override.java:29) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at trans.write_classes_0_0.invoke(write_classes_0_0.java:66) ~[na:na]
at trans.lifted714.invoke(lifted714.java:31) ~[na:na]
at trans.log_timed_1_1.invoke(log_timed_1_1.java:47) ~[na:na]
at trans.w_log_timed_1_1.invoke(w_log_timed_1_1.java:31) ~[na:na]
at trans.lifted712.invoke(lifted712.java:42) ~[na:na]
at trans.lifted739.invoke(lifted739.java:31) ~[na:na]
at org.strategoxt.stratego_lib.dr_scope_1_1.invoke(dr_scope_1_1.java:31) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at trans.lifted1007.invoke(lifted1007.java:30) ~[na:na]
at org.strategoxt.stratego_lib.dr_scope_1_1.invoke(dr_scope_1_1.java:31) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at trans.new_type_transitions_scope_1_0.invoke(new_type_transitions_scope_1_0.java:36) ~[na:na]
at trans.lifted738.invoke(lifted738.java:30) ~[na:na]
at org.strategoxt.stratego_lib.dr_scope_1_1.invoke(dr_scope_1_1.java:31) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at trans.lifted727.invoke(lifted727.java:30) ~[na:na]
at org.strategoxt.stratego_lib.dr_scope_1_1.invoke(dr_scope_1_1.java:31) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at trans.lifted726.invoke(lifted726.java:35) ~[na:na]
at org.strategoxt.stratego_lib.dr_scope_1_1.invoke(dr_scope_1_1.java:31) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at trans.lifted725.invoke(lifted725.java:35) ~[na:na]
at org.strategoxt.stratego_lib.dr_scope_1_1.invoke(dr_scope_1_1.java:31) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at trans.lifted724.invoke(lifted724.java:35) ~[na:na]
at org.strategoxt.stratego_lib.dr_scope_1_1.invoke(dr_scope_1_1.java:31) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at trans.new_analysis_scope_1_0.invoke(new_analysis_scope_1_0.java:36) ~[na:na]
at trans.m_in_analysis_1_0.invoke(m_in_analysis_1_0.java:31) ~[na:na]
at trans.ds2java_0_0.invoke(ds2java_0_0.java:39) ~[na:na]
at trans.log_timed_1_1.invoke(log_timed_1_1.java:47) ~[na:na]
at trans.lifted1401.invoke(lifted1401.java:90) ~[na:na]
at trans.log_timed_1_1.invoke(log_timed_1_1.java:47) ~[na:na]
at trans.lifted1400.invoke(lifted1400.java:39) ~[na:na]
at trans.lifted728.invoke(lifted728.java:50) ~[na:na]
at org.strategoxt.stratego_lib.dr_scope_1_1.invoke(dr_scope_1_1.java:31) ~[strategoxt-min-jar-1.5.0-SNAPSHOT.jar:na]
at trans.in_project_path_1_1.invoke(in_project_path_1_1.java:38) ~[na:na]
at trans.all_to_java_editor_0_0.invoke(all_to_java_editor_0_0.java:58) ~[na:na]
at org.strategoxt.lang.Strategy.invokeDynamic(Strategy.java:30) ~[org.strategoxt.strj_1.5.0.20160108-172009-new-spoofax-plugin/:na]
at org.strategoxt.lang.InteropSDefT.evaluate(InteropSDefT.java:192) ~[org.strategoxt.strj_1.5.0.20160108-172009-new-spoofax-plugin/:na]
at org.strategoxt.lang.InteropSDefT.evaluate(InteropSDefT.java:183) ~[org.strategoxt.strj_1.5.0.20160108-172009-new-spoofax-plugin/:na]
at org.strategoxt.lang.InteropSDefT$StrategyBody.evaluate(InteropSDefT.java:245) ~[org.strategoxt.strj_1.5.0.20160108-172009-new-spoofax-plugin/:na]
at org.spoofax.interpreter.core.Interpreter.evaluate(Interpreter.java:109) ~[org.spoofax.interpreter.core_1.5.0.20160108-172009-new-spoofax-plugin.jar:na]
… 11 common frames omitted
Issue Log
Roger. I can recreate the problem. Only happens with the version of DynSem deployed in Spoofax. If the same version of DynSem is open as a project in Eclipse problem does not occur. Going to dig deeper.
Fixed in https://github.com/metaborg/dynsem/commit/c0f3fb23878c96cf2c69e446083d0daf28af7ba2.
Log in to post comments