Skip to content

Commit e96e092

Browse files
authored
Merge pull request #99 from SokaDance/module.impl
[gen][ts] support definition of implementation module for specific package
2 parents ae78edb + 655eb7a commit e96e092

15 files changed

+102
-80
lines changed

Dockerfile-ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ INCLUDE+ Dockerfile-base
66
FROM openjdk:16-alpine AS jvm
77
COPY --from=build /home/soft.gen/out/soft.generator.ts/*.jar /soft.generator.ts/
88
WORKDIR /soft.generator.ts
9-
RUN jdeps --print-module-deps --multi-release 16 --ignore-missing-deps --class-path '*' -recursive soft.generator.ts-1.5.0.jar > java.modules \
9+
RUN jdeps --print-module-deps --multi-release 16 --ignore-missing-deps --class-path '*' -recursive soft.generator.ts-1.5.1.jar > java.modules \
1010
&& jlink --strip-java-debug-attributes --add-modules $(cat java.modules) --output /java-generator
1111

1212
# Build result stage
1313
FROM alpine
1414
COPY --from=build /home/soft.gen/out/soft.generator.ts/*.jar /usr/share/soft.generator.ts/
1515
COPY --from=jvm /java-generator /usr/lib/jvm/java-generator
1616

17-
ENTRYPOINT ["/usr/lib/jvm/java-generator/bin/java","-jar","/usr/share/soft.generator.ts/soft.generator.ts-1.5.0.jar"]
17+
ENTRYPOINT ["/usr/lib/jvm/java-generator/bin/java","-jar","/usr/share/soft.generator.ts/soft.generator.ts-1.5.1.jar"]

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ soft.generators.version := 1.6.0
44
soft.generator.common.version := 1.4.1
55
soft.generator.cpp.version := 1.2.4
66
soft.generator.go.version := 1.9.2
7-
soft.generator.ts.version := 1.5.0
7+
soft.generator.ts.version := 1.5.1
88

99
export DOCKER_BUILDKIT=1
1010

soft.generators/soft.generator.ts/META-INF/MANIFEST.MF

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Created-By: 13.0.2+8 (Oracle Corporation)
44
Bundle-ManifestVersion: 2
55
Bundle-Name: Soft Generator TypeScript
66
Bundle-SymbolicName: soft.generator.ts
7-
Bundle-Version: 1.5.0
7+
Bundle-Version: 1.5.1
88
Export-Package: soft.generator.ts,
99
soft.generator.ts.lib,
1010
soft.generator.ts.lib.factory,

soft.generators/soft.generator.ts/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<version>1.6.0</version>
99
</parent>
1010
<artifactId>soft.generator.ts</artifactId>
11-
<version>1.5.0</version>
11+
<version>1.5.1</version>
1212
<dependencies>
1313
<dependency>
1414
<groupId>soft.generators</groupId>

soft.generators/soft.generator.ts/src/soft/generator/ts/generateModule.mtl

+35-15
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,13 @@
3333
tokenized->iterate( p : String ; res : OclAny = packageToModule | (
3434
let index : Integer = p.index('=') in
3535
if index = -1 then
36-
let nameIndex : Integer = p.lastIndex('/') in
36+
let packIndex : Integer = p.index('#') in
37+
let packModule : String = if packIndex = -1 then p else p.substring(1, packIndex-1) endif in
38+
let nameIndex : Integer = packModule.lastIndex('/') in
3739
if nameIndex = -1 then
38-
res.mapPut('name:'+p,p)
40+
res.mapPut('name:'+packModule,p)
3941
else
40-
res.mapPut('name:'+p.substring(nameIndex+1),p)
42+
res.mapPut('name:'+packModule.substring(nameIndex+1),p)
4143
endif
4244
else
4345
res.mapPut('uri:'+p.substring(1,index-1),p.substring(index+1))
@@ -48,24 +50,42 @@
4850
endif
4951
/]
5052

51-
[query public getModule(aPackage : EPackage): String =
52-
let packageToModule : OclAny = getPackageToModuleMap() in
53-
let uriPath : OclAny = mapGet(packageToModule, 'uri:' + aPackage.nsURI) in
54-
if not uriPath.oclIsUndefined() then
55-
uriPath.oclAsType(String)
53+
[query private getModule(modules : String, index : Integer) : String =
54+
let tokenized : Sequence(String) = modules.tokenize('#') in
55+
let size : Integer = tokenized->size() in
56+
if index > size then
57+
tokenized->at( size )
5658
else
57-
let namePath : OclAny = mapGet(packageToModule, 'name:' + aPackage.name) in
58-
if not namePath.oclIsUndefined() then
59-
namePath.oclAsType(String)
59+
tokenized->at(index)
60+
endif
61+
/]
62+
63+
[query private getIndexModule(aPackage : EPackage, index : Integer) : String =
64+
let packageToModules : OclAny = getPackageToModuleMap() in
65+
let uriModule : OclAny = mapGet(packageToModules, 'uri:' + aPackage.nsURI) in
66+
if not uriModule.oclIsUndefined() then
67+
getModule(uriModule.oclAsType(String),index)
68+
else
69+
let nameModule : OclAny = mapGet(packageToModules, 'name:' + aPackage.name) in
70+
if not nameModule.oclIsUndefined() then
71+
getModule(nameModule.oclAsType(String),index)
6072
else
61-
aPackage.name
73+
aPackage.name + '/' + aPackage.name
6274
endif
63-
endif
75+
endif
76+
/]
77+
78+
[query public getInterfaceModule(aPackage : EPackage): String =
79+
aPackage.getIndexModule(1)
80+
/]
81+
82+
[query public getImplementationModule(aPackage : EPackage): String =
83+
aPackage.getIndexModule(2)
6484
/]
6585

6686
[query private getModuleToPathMap(any : OclAny) : OclAny =
6787
let currentPackage : EPackage = getCurrentPackage() in
68-
let currentModule : String = currentPackage.getModule() in
88+
let currentModule : String = currentPackage.getInterfaceModule() in
6989
let pathsProperty : OclAny = getProperty('paths') in
7090
let paths : String = (if pathsProperty.oclIsUndefined() or pathsProperty = '' then '' else pathsProperty.oclAsType(String) endif) +
7191
(if currentPackage.hasKey('paths') then ';' + currentPackage.valueKey('paths') else '' endif) in
@@ -99,7 +119,7 @@
99119

100120
[query private getModuleToNamespaceMap(any : OclAny) : OclAny =
101121
let currentPackage : EPackage = getCurrentPackage() in
102-
let currentModule : String = currentPackage.getModule() in
122+
let currentModule : String = currentPackage.getInterfaceModule() in
103123
let moduleToNamespace : OclAny = mapNew('getModuleToNamespaceMap_' + currentPackage.name)
104124
.mapPut('@masagroup/ecore','ecore' )
105125
.mapPut(currentModule,'') in

soft.generators/soft.generator.ts/src/soft/generator/ts/generateType.mtl

+23-22
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@
2323

2424
[query private getQualifiedIdentifier( qualification : String, identifier : String ) : String = qualification + '/' + identifier/]
2525

26-
[query public getQualifiedIdentifier( aPackage : EPackage, identifier : String ) : String = getQualifiedIdentifier(aPackage.getModule(),identifier)/]
26+
[query public getQualifiedInterfaceIdentifier( aPackage : EPackage, identifier : String ) : String = getQualifiedIdentifier(aPackage.getInterfaceModule(),identifier)/]
27+
28+
[query public getQualifiedImplementationIdentifier( aPackage : EPackage, identifier : String ) : String = getQualifiedIdentifier(aPackage.getImplementationModule(),identifier)/]
2729

2830
[query public getQualifiedInterfaceIdentifier( aClassifier : EClassifier ) : String =
2931
if aClassifier.oclIsUndefined() then 'any'
@@ -35,15 +37,15 @@
3537

3638
[query public getQualifiedInterfaceIdentifier( aDataType : EDataType ) : String = aDataType.getType()/]
3739

38-
[query public getQualifiedInterfaceIdentifier( aPackage : EPackage ) : String = aPackage.getQualifiedIdentifier( aPackage.getInterfaceName() ) /]
40+
[query public getQualifiedInterfaceIdentifier( aPackage : EPackage ) : String = aPackage.getQualifiedInterfaceIdentifier( aPackage.getInterfaceName() ) /]
3941

40-
[query public getQualifiedInterfaceIdentifier( aClass : EClass ) : String = aClass.ePackage.getQualifiedIdentifier( aClass.getInterfaceName() ) /]
42+
[query public getQualifiedInterfaceIdentifier( aClass : EClass ) : String = aClass.ePackage.getQualifiedInterfaceIdentifier( aClass.getInterfaceName() ) /]
4143

42-
[query public getQualifiedImplementationIdentifier( aClass : EClass ) : String = aClass.ePackage.getQualifiedIdentifier( aClass.getImplementationName() ) /]
44+
[query public getQualifiedImplementationIdentifier( aClass : EClass ) : String = aClass.ePackage.getQualifiedImplementationIdentifier( aClass.getImplementationName() ) /]
4345

44-
[query public getQualifiedExtensionIdentifier( aClass : EClass ) : String = aClass.ePackage.getQualifiedIdentifier( aClass.getExtensionName() ) /]
46+
[query public getQualifiedExtensionIdentifier( aClass : EClass ) : String = aClass.ePackage.getQualifiedImplementationIdentifier( aClass.getExtensionName() ) /]
4547

46-
[query public getQualifiedInterfaceIdentifier( aEnum : EEnum ) : String = aEnum.ePackage.getQualifiedIdentifier( aEnum.name ) /]
48+
[query public getQualifiedInterfaceIdentifier( aEnum : EEnum ) : String = aEnum.ePackage.getQualifiedInterfaceIdentifier( aEnum.name ) /]
4749

4850
[query public getImportedIdentifier( qualifiedIdentifier : String, modules : OclAny ) : String =
4951
if modules.oclIsUndefined() then
@@ -107,15 +109,15 @@
107109
/]
108110

109111
[query public getImportedIDName( aClass : EClass, aFeature : EStructuralFeature, modules : OclAny) : String =
110-
getImportedIdentifier(aClass.ePackage.getQualifiedIdentifier(aClass.ePackage.getConstantsName()+'.'+ aClass.getFeatureIDName(aFeature)),modules)
112+
getImportedIdentifier(aClass.ePackage.getQualifiedInterfaceIdentifier(aClass.ePackage.getConstantsName()+'.'+ aClass.getFeatureIDName(aFeature)),modules)
111113
/]
112114

113115
[query public getImportedIDName( aClass : EClass, aOperation : EOperation, modules : OclAny) : String =
114-
getImportedIdentifier(aClass.ePackage.getQualifiedIdentifier(aClass.ePackage.getConstantsName()+'.'+ aClass.getOperationIDName(aOperation)),modules)
116+
getImportedIdentifier(aClass.ePackage.getQualifiedInterfaceIdentifier(aClass.ePackage.getConstantsName()+'.'+ aClass.getOperationIDName(aOperation)),modules)
115117
/]
116118

117119
[query public getImportedIDName( aClassifier : EClassifier, modules : OclAny) : String =
118-
getImportedIdentifier(aClassifier.ePackage.getQualifiedIdentifier(aClassifier.ePackage.getConstantsName()+'.'+ aClassifier.getClassifierIDName()),modules)
120+
getImportedIdentifier(aClassifier.ePackage.getQualifiedInterfaceIdentifier(aClassifier.ePackage.getConstantsName()+'.'+ aClassifier.getClassifierIDName()),modules)
119121
/]
120122

121123
[template public generateType(aElement : ETypedElement, modules : OclAny) post (trim())]
@@ -126,9 +128,9 @@ void
126128
[let aPackage : EPackage = aElement.getEPackage()]
127129
[let ecore : EPackage = getEcorePackage()]
128130
[if aElement.isMapType()]
129-
[getImportedIdentifier( ecore.getQualifiedIdentifier('EMap'), modules)/]<[aDataType.generateMapKeyType(modules)/], [aDataType.generateMapValueType(modules)/]>
131+
[getImportedIdentifier( ecore.getQualifiedInterfaceIdentifier('EMap'), modules)/]<[aDataType.generateMapKeyType(modules)/], [aDataType.generateMapValueType(modules)/]>
130132
[elseif aElement.isListType()]
131-
[getImportedIdentifier( ecore.getQualifiedIdentifier('EList'), modules)/]<[aDataType.generateListTypeParameters(modules)/]>
133+
[getImportedIdentifier( ecore.getQualifiedInterfaceIdentifier('EList'), modules)/]<[aDataType.generateListTypeParameters(modules)/]>
132134
[else]
133135
[aDataType.generateType(modules)/][if aDataType.eClassifier.name <> 'EJavaClass' and aDataType.eTypeArguments->notEmpty()]<[for (g : EGenericType | aDataType.eTypeArguments) separator (',')][getImportedIdentifier(g.eClassifier.getType(),modules)/][/for]>[/if]
134136
[/if]
@@ -198,19 +200,19 @@ void
198200
Sequence{ 'java.lang.Class' , 'any', 'null', ''},
199201
Sequence{ 'java.lang.Object', 'any', 'null', 'null'},
200202
Sequence{ 'java.lang.Long' , 'java.math.BigInteger', 'long' , 'number' , '0', '45'},
201-
Sequence{ 'java.util.Map' , ecore.getQualifiedIdentifier('EMap'), 'null', 'null'},
202-
Sequence{ 'java.util.Map$Entry' , ecore.getQualifiedIdentifier('EMapEntry'), 'null' , 'null'},
203+
Sequence{ 'java.util.Map' , ecore.getQualifiedInterfaceIdentifier('EMap'), 'null', 'null'},
204+
Sequence{ 'java.util.Map$Entry' , ecore.getQualifiedInterfaceIdentifier('EMapEntry'), 'null' , 'null'},
203205
Sequence{ 'java.lang.Short' , 'short' , 'number' , '0', '2'},
204206
Sequence{ 'java.lang.String' , 'string', '""' , '"Test String"'},
205207

206208

207-
Sequence{ 'org.eclipse.emf.common.util.DiagnosticChain', ecore.getQualifiedIdentifier('EDiagnosticChain'), 'null', 'null'},
208-
Sequence{ 'org.eclipse.emf.common.util.EList', ecore.getQualifiedIdentifier('EList'), 'null', 'null'},
209+
Sequence{ 'org.eclipse.emf.common.util.DiagnosticChain', ecore.getQualifiedInterfaceIdentifier('EDiagnosticChain'), 'null', 'null'},
210+
Sequence{ 'org.eclipse.emf.common.util.EList', ecore.getQualifiedInterfaceIdentifier('EList'), 'null', 'null'},
209211
Sequence{ 'org.eclipse.emf.common.util.Enumerator', 'any', 'null', 'null'},
210212
Sequence{ 'org.eclipse.emf.ecore.util.FeatureMap', 'any', 'null', 'null'},
211213
Sequence{ 'org.eclipse.emf.ecore.util.FeatureMap$Entry', 'any', 'null', 'null'},
212-
Sequence{ 'org.eclipse.emf.ecore.resource.Resource', ecore.getQualifiedIdentifier('EResource'), 'null' , 'null'},
213-
Sequence{ 'org.eclipse.emf.ecore.resource.ResourceSet', ecore.getQualifiedIdentifier('EResourceSet'), 'null' , 'null'},
214+
Sequence{ 'org.eclipse.emf.ecore.resource.Resource', ecore.getQualifiedInterfaceIdentifier('EResource'), 'null' , 'null'},
215+
Sequence{ 'org.eclipse.emf.ecore.resource.ResourceSet', ecore.getQualifiedInterfaceIdentifier('EResourceSet'), 'null' , 'null'},
214216
Sequence{ 'org.eclipse.emf.common.util.TreeIterator', 'IterableIterator', 'null' , 'null'}
215217
}
216218
/]
@@ -290,15 +292,14 @@ void
290292
if eLiterals->isEmpty() then
291293
literal
292294
else
293-
getImportedIdentifier( aEnum.ePackage.getQualifiedIdentifier(aEnum.name + '.' + eLiterals->first().getConstantsName()),modules)
295+
getImportedIdentifier( aEnum.ePackage.getQualifiedInterfaceIdentifier(aEnum.name + '.' + eLiterals->first().getConstantsName()),modules)
294296
endif
295297
/]
296298

297299
[query private getDefaultValueFromLiteral(aDataType : EDataType, literal : String , modules : OclAny) : String =
298300
literal
299301
/]
300302

301-
302303
[query public getDefaultValue(aClassifier : EClassifier, modules : OclAny) : String =
303304
if aClassifier.oclIsKindOf( EEnum ) then aClassifier.oclAsType(EEnum).getDefaultValue(modules)
304305
else if aClassifier.oclIsKindOf( EDataType ) then aClassifier.oclAsType(EDataType).getDefaultValue(modules)
@@ -307,7 +308,7 @@ void
307308

308309
[query public getDefaultValue(aEnum : EEnum, modules : OclAny) : String =
309310
if aEnum.eLiterals->notEmpty() then
310-
getImportedIdentifier( aEnum.ePackage.getQualifiedIdentifier(aEnum.name + '.' + aEnum.eLiterals->at(1).getConstantsName()), modules)
311+
getImportedIdentifier( aEnum.ePackage.getQualifiedInterfaceIdentifier(aEnum.name + '.' + aEnum.eLiterals->at(1).getConstantsName()), modules)
311312
else
312313
0
313314
endif
@@ -351,7 +352,7 @@ void
351352
[query private getTestValue( aEnum : EEnum , modules : OclAny ) : String =
352353
if aEnum.eLiterals->size() >= 1 then
353354
let constant : String = aEnum.eLiterals->at(if aEnum.eLiterals->size() > 1 then 2 else 1 endif).getConstantsName() in
354-
getImportedIdentifier( aEnum.ePackage.getQualifiedIdentifier(aEnum.name + '.' + constant), modules)
355+
getImportedIdentifier( aEnum.ePackage.getQualifiedInterfaceIdentifier(aEnum.name + '.' + constant), modules)
355356
else 0 endif/]
356357

357358
[query private getTestValue( aDataType : EDataType, modules : OclAny) : String =
@@ -376,7 +377,7 @@ void
376377

377378
[query public getModules(element : ENamedElement, templates :String, types : Set(String)) : OclAny =
378379
let currentPackage : EPackage = getCurrentPackage() in
379-
let currentModule : String = currentPackage.getModule() in
380+
let currentModule : String = currentPackage.getInterfaceModule() in
380381
let currentNamespace : String = getModuleNamespace(currentModule) in
381382
let modulesToNamespace : OclAny = mapNew('getModules_'+ templates + '_' + element.name)
382383
.mapClear()

soft.generators/soft.generator.ts/src/soft/generator/ts/lib/factory/generateFactoryImplementation.mtl

+5-4
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
, aEnum.name.toLowerFirst() + 'FromString'
2727
}
2828
)
29-
))->collect(t | aPackage.getQualifiedIdentifier(t))->asSet()
29+
))->collect(t | aPackage.getQualifiedInterfaceIdentifier(t))->asSet()
3030
/]
3131

3232
[template public generateFactoryImplementation(aPackage : EPackage) {
@@ -35,8 +35,9 @@
3535
classes : Sequence(EClass) = aPackage.eAllContents(EClass)->select( not interface and not abstract );
3636
types : Set(String) = Set{ classes->collect(c | if c.hasExtension() then c.getQualifiedExtensionIdentifier() else c.getQualifiedImplementationIdentifier() endif)
3737
, aPackage.eClassifiers->selectByKind(EClass)->collect(c | c.getQualifiedInterfaceIdentifier() )
38-
, Set{'EObject' , 'EClass', 'EFactoryExt' , 'EDataType'}->collect(t | ecorePackage.getQualifiedIdentifier(t))
39-
, Set{aPackage.getConstantsName(), aPackage.getFactoryName()}->collect(t | aPackage.getQualifiedIdentifier(t))->asSet()
38+
, Set{'EObject' , 'EClass', 'EFactoryExt' , 'EDataType'}->collect(t | ecorePackage.getQualifiedInterfaceIdentifier(t))
39+
, Set{aPackage.getConstantsName(), aPackage.getFactoryName()}->collect(t | aPackage.getQualifiedInterfaceIdentifier(t))->asSet()
40+
, Set{ecorePackage.getQualifiedImplementationIdentifier('EFactoryExt')}
4041
, aPackage.getPackageEnumTypes()
4142
}->flatten()->select(s | s <> '')->asOrderedSet()->sortedBy(s | s);
4243
modules : OclAny = aPackage.getModules('factory-implemention',types);
@@ -46,7 +47,7 @@
4647

4748
[aPackage.generateImports('factory-implemention', types, modules)/]
4849

49-
export class [className/] extends [if not aPackage.isEcorePackage()]ecore.[/if]EFactoryExt implements [aPackage.getFactoryName()/] {
50+
export class [className/] extends [getImportedIdentifier( ecorePackage.getQualifiedImplementationIdentifier('EFactoryExt') , modules)/] implements [aPackage.getFactoryName()/] {
5051

5152
private static _instance: [className/] = null
5253

soft.generators/soft.generator.ts/src/soft/generator/ts/lib/factory/generateFactoryInterface.mtl

+3-3
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
extension : Boolean = aPackage.hasKey('factory') and aPackage.valueKey('factory') = 'extension';
2525
factoryName : String = if extension then aPackage.getFactoryExtensionName() else aPackage.getFactoryImplementationName() endif;
2626
types : Set(String) = Set{ aPackage.eClassifiers->selectByKind(EClass)->collect(c | c.getQualifiedInterfaceIdentifier() )
27-
, Set{ ecorePackage.getQualifiedIdentifier('EFactory') }
28-
, Set{ aPackage.getQualifiedIdentifier(factoryName) }
27+
, Set{ ecorePackage.getQualifiedInterfaceIdentifier('EFactory') }
28+
, Set{ aPackage.getQualifiedInterfaceIdentifier(factoryName) }
2929
}->flatten();
3030
modules : OclAny = aPackage.getModules('factory-interface',types);
3131
}]
@@ -34,7 +34,7 @@
3434

3535
[aPackage.generateImports('factory-interface', types, modules)/]
3636

37-
export interface [className/] extends [if not aPackage.isEcorePackage()]ecore.[/if]EFactory {
37+
export interface [className/] extends [getImportedIdentifier( ecorePackage.getQualifiedInterfaceIdentifier('EFactory') , modules)/] {
3838
[for (aEClass : EClass | aPackage.eAllContents(EClass)->sortedBy(name))]
3939
[if (aEClass.abstract = false)]
4040

soft.generators/soft.generator.ts/src/soft/generator/ts/lib/generateCommon.mtl

+5-5
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@
2929
[query public getInterfaceExtends(aClass : EClass ) : Sequence(String) =
3030
let ecore : EPackage = getEcorePackage() in
3131
if ( aClass.isMapEntry() ) then
32-
Sequence{ ecore.getQualifiedIdentifier('EObject'), ecore.getQualifiedIdentifier('EMapEntry<'+aClass.getMapKeyType()+','+aClass.getMapValueType()+'>')}
32+
Sequence{ ecore.getQualifiedInterfaceIdentifier('EObject'), ecore.getQualifiedInterfaceIdentifier('EMapEntry<'+aClass.getMapKeyType()+','+aClass.getMapValueType()+'>')}
3333
else if ( aClass.eSuperTypes->isEmpty() ) then
3434
let aPackage : EPackage = aClass.ePackage in
3535
if ( aClass.name = 'EObject' ) then
36-
Sequence{ecore.getQualifiedIdentifier('ENotifier')}
36+
Sequence{ecore.getQualifiedInterfaceIdentifier('ENotifier')}
3737
else if ( aPackage.hasPackageProperty('rootExtendsInterface') ) then
3838
Sequence{aPackage.getPackageProperty('rootExtendsInterface')}
3939
else
40-
Sequence{ecore.getQualifiedIdentifier('EObject')}
40+
Sequence{ecore.getQualifiedInterfaceIdentifier('EObject')}
4141
endif endif
4242
else
4343
aClass.eSuperTypes->iterate( cl ; res : Sequence(String) = Sequence{} | res->append(cl.getQualifiedInterfaceIdentifier()))
@@ -50,11 +50,11 @@
5050
let aPackage : EPackage = aClass.ePackage in
5151
let ecore : EPackage = getEcorePackage() in
5252
if ( aClass.name = 'EObject' ) then
53-
ecore.getQualifiedIdentifier('BasicEObject')
53+
ecore.getQualifiedImplementationIdentifier('BasicEObject')
5454
else if ( aPackage.hasPackageProperty('rootExtendsClass') ) then
5555
aPackage.getPackageProperty('rootExtendsClass')
5656
else
57-
ecore.getQualifiedIdentifier('EObjectImpl')
57+
ecore.getQualifiedImplementationIdentifier('EObjectImpl')
5858
endif endif
5959
else
6060
if ( extendsClass.hasExtension() ) then

0 commit comments

Comments
 (0)