Strumenta / kolasu

Kotlin Language Support – AST Library
Apache License 2.0
109 stars 11 forks source link

Support all Marker Interfaces in EMF export #367

Open ftomassetti opened 3 weeks ago

ftomassetti commented 3 weeks ago

361 introduced marker interfaces, that cause the export of the EMF metamodel to fail.

For example, when publishing the EGL module we get:

Exception in thread "main" java.lang.Error: This class does not belong to this EPackage: com.strumenta.kolasu.model.EntityGroupDeclaration. This EPackage: com.strumenta.egl. Kotlin Package Name: com.strumenta.egl.ast
        at com.strumenta.kolasu.emf.MetamodelBuilder.classToEClass(MetamodelBuilder.kt:184)
        at com.strumenta.kolasu.emf.MetamodelBuilder.provideClass(MetamodelBuilder.kt:373)
        at com.strumenta.kolasu.emf.MetamodelBuilder.classToEClass(MetamodelBuilder.kt:196)
        at com.strumenta.kolasu.emf.MetamodelBuilder.provideClass(MetamodelBuilder.kt:373)
        at com.strumenta.kolasu.emf.MetamodelBuildingKt.toEPackage(MetamodelBuilding.kt:84)
        at com.strumenta.kolasu.emf.MetamodelBuildingKt.toEPackage$default(MetamodelBuilding.kt:64)
        at com.strumenta.kolasu.emf.cli.KolasuLanguageGeneratorCommand.run(KolasuLanguageGeneratorCommand.kt:17)
        at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:198)
        at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:18)
        at com.github.ajalt.clikt.core.CliktCommand.parse(CliktCommand.kt:400)
        at com.github.ajalt.clikt.core.CliktCommand.parse$default(CliktCommand.kt:397)
        at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:415)
        at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:440)
        at com.strumenta.egl.ast.KolasuLanguage.main(KolasuLanguage.kt:254)
ftomassetti commented 3 weeks ago

Maybe this is handled already correctly and the problem is due to starlasu tools using an old version of Kolasu