Community
Participate
Working Groups
Some thoughts that could be considered. The ITreeAppendable and the GeneratorConfig are passed through all methods of JvmModelGenerator. However, the GeneratorConfig is not passed to the Compiler, so it was put into the SharedAppendableState in order to make it available. Now the TreeAppendable and the SharedAppendableState are responsible for a considerable number of concepts: * Append code * Manage variable scopes * Trace between model and code * Provide the import manager * Provide the generator configuration I would propose to separate these concepts from each other. For example, we could define a GeneratorContext that is passed through the JvmModelGenerator and the Compiler. Each of the concepts above could be defined in its own class and be accessed through the GeneratorContext.