|
Re: formatter2 - problem with nested objects [message #1703641 is a reply to message #1703332] |
Mon, 03 August 2015 18:49 |
|
Which exact xtext version do you use? i asume 2.8.3
format(lvlthree , document); this method is nowhere defined. (as dispatch method)
never the less the formatter is called (besides you a missing a decrease for level3
class MyDslFormatter extends AbstractFormatter2 {
@Inject extension MyDslGrammarAccess
def dispatch void format(LevelOne levelone, extension IFormattableDocument document) {
levelone.regionForKeyword("{").prepend[increaseIndentation].append[newLine]
levelone.regionForKeyword("}").prepend[newLine; decreaseIndentation].append[newLine]
format(levelone.getLeveltwo(), document);
}
def dispatch void format(LevelTwo lvltwo, extension IFormattableDocument document) {
lvltwo.regionForKeyword("{").prepend[increaseIndentation].append[newLine]
for (LevelThree lvlthree : lvltwo.getLevelthree()) {
format(lvlthree, document);
}
for (LevelTwo subLvlTwo : lvltwo.getLeveltwo()) {
format(subLvlTwo, document);
}
lvltwo.regionForKeyword("}").prepend[newLine; decreaseIndentation].append[newLine]
}
def dispatch void format(LevelThree lvlthree, extension IFormattableDocument document) {
lvlthree.prepend[newLine]
lvlthree.regionForKeyword("{").prepend[increaseIndentation].append[newLine]
lvlthree.regionForKeyword("}").prepend[newLine;decreaseIndentation].append[newLine]
}
}
Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.02950 seconds