Xtext Trace and TemplateNode [message #1779354] |
Fri, 05 January 2018 12:20  |
Eclipse User |
|
|
|
Hello,
while generalizing the @Traced annotation to all my generators I encountered the following phenomenon:
if ((java.util.Arrays.asList("foo", "bar").contains((TraceNode {
TemplateNode {
TextNode "value"
}
The code is generated with these "TemplateNode" which seems to be the result of a toString on a GeneratedNode. The problem is that I did triple check my code and do not see a single method returning a String.
Any clue on how to debug this (I am using Xtext 2.12.0)
thanks
|
|
|
|
|
|
|
Re: Xtext Trace and TemplateNode [message #1779384 is a reply to message #1779370] |
Fri, 05 January 2018 14:52   |
Eclipse User |
|
|
|
Hey Cristian,
let me try to describe the problem
def generate(Activity activity, IFileSystemAccess2 fsa, GeneratorContext context) {
fsa.generateTracedFile(activity.toClassFileName, activity, activity.generateBody(context))
}
def StringConcatenationClient generateBody(Activity activity, GeneratorContext context) {
...
'''«statement.generate(context)»'''
....
}
@Traced def dispatch generate(Statement statement, GeneratorContext context) {
'''«statementGenerator.generate(statement, context)»'''
}
@Traced def dispatch generate(AddStatement statement, GeneratorContext context) {
'''«faulty_method_generate(statement, context)»'''
}
def String faulty_method_generate(AddStatement statement, GeneratorContext context) {
'''«statementGenerator.generate(statement, context)»'''
}
The problem was that faulty_method_generate called in turn a @Traced method inducing a toString
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.06193 seconds