@@ -98,7 +98,7 @@ class MetaModelGenerator(val outputDir: Path) {
98
98
.initializer(concept.nodeWrapperImplName() + " ::class" )
99
99
.build())
100
100
addProperty(PropertySpec .builder(GeneratedConcept <* , * >::_typed .name, concept.conceptWrapperImplType(), KModifier .OVERRIDE )
101
- .getter(FunSpec .getterBuilder().addStatement(""" return ${concept.conceptWrapperImplType ().simpleName} .INSTANCE """ ).build())
101
+ .getter(FunSpec .getterBuilder().addStatement(""" return ${concept.conceptWrapperInterfaceType ().simpleName} """ ).build())
102
102
.build())
103
103
addProperty(PropertySpec .builder(IConcept ::language.name, ILanguage ::class , KModifier .OVERRIDE )
104
104
.initializer(concept.language.generatedClassName().simpleName)
@@ -155,6 +155,10 @@ class MetaModelGenerator(val outputDir: Path) {
155
155
is ReferenceLinkData -> addProperty(PropertySpec .builder(feature.validName, feature.generatedReferenceLinkType()).build())
156
156
}
157
157
}
158
+
159
+ addType(TypeSpec .companionObjectBuilder()
160
+ .superclass(concept.conceptWrapperImplType())
161
+ .build())
158
162
}.build()
159
163
}
160
164
@@ -165,7 +169,7 @@ class MetaModelGenerator(val outputDir: Path) {
165
169
} else {
166
170
superclass(concept.extends().first().conceptWrapperImplType())
167
171
for (extended in concept.extends().drop(1 )) {
168
- addSuperinterface(extended.conceptWrapperInterfaceType(), CodeBlock .of(extended.conceptWrapperImplType ().canonicalName + " .INSTANCE " ))
172
+ addSuperinterface(extended.conceptWrapperInterfaceType(), CodeBlock .of(extended.conceptWrapperInterfaceType ().canonicalName))
169
173
}
170
174
}
171
175
addSuperinterface(concept.conceptWrapperInterfaceType())
@@ -199,19 +203,14 @@ class MetaModelGenerator(val outputDir: Path) {
199
203
}
200
204
}
201
205
}
202
-
203
- addType(TypeSpec .companionObjectBuilder()
204
- .addProperty(PropertySpec .builder(" INSTANCE" , concept.conceptWrapperImplType())
205
- .initializer(concept.conceptWrapperImplType().simpleName + " ()" ).build())
206
- .build())
207
206
}.build()
208
207
}
209
208
210
209
private fun generateNodeWrapperImpl (concept : LanguageSet .ConceptInLanguage ): TypeSpec {
211
210
return TypeSpec .classBuilder(concept.nodeWrapperImplType()).apply {
212
211
addModifiers(KModifier .OPEN )
213
212
addProperty(PropertySpec .builder(TypedNodeImpl ::_concept .name, concept.conceptWrapperImplType(), KModifier .OVERRIDE )
214
- .getter(FunSpec .getterBuilder().addStatement(""" return ${concept.conceptWrapperImplType ().simpleName} .INSTANCE """ ).build())
213
+ .getter(FunSpec .getterBuilder().addStatement(""" return ${concept.conceptWrapperInterfaceType ().simpleName} """ ).build())
215
214
.build())
216
215
217
216
if (concept.extends().size > 1 ) {
0 commit comments