Skip to content

Commit df9b225

Browse files
committed
fix(mps-model-adapters): inconsistent resolution of SRepository
1 parent e7db6ae commit df9b225

13 files changed

+5
-54
lines changed

mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/MPSDevKitDependencyAsNode.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package org.modelix.model.mpsadapters
33
import org.jetbrains.mps.openapi.model.SModel
44
import org.jetbrains.mps.openapi.module.SModule
55
import org.jetbrains.mps.openapi.module.SModuleReference
6-
import org.jetbrains.mps.openapi.module.SRepository
76
import org.modelix.model.api.BuiltinLanguages
87
import org.modelix.model.api.IChildLinkReference
98
import org.modelix.model.api.IConcept
@@ -47,8 +46,6 @@ data class MPSDevKitDependencyAsNode(
4746

4847
override fun getElement(): MPSDevKitDependencyAsNode = this
4948

50-
override fun getRepository(): SRepository? = moduleImporter?.repository ?: modelImporter?.repository
51-
5249
override fun getPropertyAccessors(): List<Pair<IPropertyReference, IPropertyAccessor<MPSDevKitDependencyAsNode>>> {
5350
return propertyAccessors
5451
}

mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/MPSGenericNodeAdapter.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
package org.modelix.model.mpsadapters
22

3-
import jetbrains.mps.smodel.MPSModuleRepository
43
import org.jetbrains.mps.openapi.language.SConcept
54
import org.jetbrains.mps.openapi.model.SModelReference
65
import org.jetbrains.mps.openapi.model.SNodeId
7-
import org.jetbrains.mps.openapi.module.SRepository
86
import org.modelix.model.api.ConceptReference
97
import org.modelix.model.api.IChildLinkReference
108
import org.modelix.model.api.IMutableModel
@@ -16,12 +14,12 @@ import org.modelix.model.api.ISyncTargetNode
1614
import org.modelix.model.api.IWritableNode
1715
import org.modelix.model.api.NewNodeSpec
1816
import org.modelix.model.api.upcast
17+
import org.modelix.mps.api.ModelixMpsApi
1918
import org.modelix.mps.multiplatform.model.MPSNodeReference
2019

2120
abstract class MPSGenericNodeAdapter<E> : IWritableNode, ISyncTargetNode {
2221

2322
protected abstract fun getElement(): E
24-
abstract fun getRepository(): SRepository?
2523
protected abstract fun getPropertyAccessors(): List<Pair<IPropertyReference, IPropertyAccessor<E>>>
2624
protected abstract fun getReferenceAccessors(): List<Pair<IReferenceLinkReference, IReferenceAccessor<E>>>
2725
protected abstract fun getChildAccessors(): List<Pair<IChildLinkReference, IChildAccessor<E>>>
@@ -35,7 +33,7 @@ abstract class MPSGenericNodeAdapter<E> : IWritableNode, ISyncTargetNode {
3533
protected fun getChildAccessor(role: IChildLinkReference) = requireNotNull(tryGetChildAccessor(role)) { "Unknown child link [role = $role, node = $this]" }
3634

3735
override fun getModel(): IMutableModel {
38-
return MPSArea(getRepository() ?: MPSModuleRepository.getInstance()).asModel()
36+
return MPSArea(ModelixMpsApi.getRepository()).asModel()
3937
}
4038

4139
override fun getAllChildren(): List<IWritableNode> {
@@ -92,7 +90,7 @@ abstract class MPSGenericNodeAdapter<E> : IWritableNode, ISyncTargetNode {
9290

9391
private fun doSyncNewChildren(role: IChildLinkReference, index: Int, sourceNodes: List<Pair<ConceptReference, NewNodeSpec?>>): List<IWritableNode> {
9492
val accessor = getChildAccessor(role)
95-
val repo = getRepository() ?: MPSModuleRepository.getInstance()
93+
val repo = ModelixMpsApi.getRepository()
9694
val resolvedConcepts = sourceNodes.map { it.first }.distinct().associateWith { concept ->
9795
repo.resolveConcept(concept)
9896
}

mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/MPSJavaModuleFacetAsNode.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import jetbrains.mps.project.facets.JavaModuleFacet
44
import jetbrains.mps.smodel.Generator
55
import jetbrains.mps.util.MacroHelper
66
import jetbrains.mps.util.MacrosFactory
7-
import org.jetbrains.mps.openapi.module.SRepository
87
import org.jetbrains.mps.openapi.persistence.Memento
98
import org.modelix.model.api.BuiltinLanguages
109
import org.modelix.model.api.IChildLinkReference
@@ -58,8 +57,6 @@ data class MPSJavaModuleFacetAsNode(val facet: JavaModuleFacet) : MPSGenericNode
5857

5958
override fun getElement(): JavaModuleFacet = facet
6059

61-
override fun getRepository(): SRepository? = null
62-
6360
override fun getPropertyAccessors() = propertyAccessors
6461

6562
override fun getReferenceAccessors() = referenceAccessors

mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/MPSModelAsNode.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import org.jetbrains.mps.openapi.model.SModelId
1313
import org.jetbrains.mps.openapi.model.SModelName
1414
import org.jetbrains.mps.openapi.model.SModelReference
1515
import org.jetbrains.mps.openapi.module.SModuleId
16-
import org.jetbrains.mps.openapi.module.SRepository
1716
import org.jetbrains.mps.openapi.persistence.PersistenceFacade
1817
import org.modelix.model.api.BuiltinLanguages
1918
import org.modelix.model.api.IChildLinkReference
@@ -198,10 +197,6 @@ data class MPSModelAsNode(val model: SModel) : MPSGenericNodeAdapter<SModel>() {
198197
)
199198
}
200199

201-
override fun getRepository(): SRepository? {
202-
return model.module?.repository
203-
}
204-
205200
override fun getElement(): SModel {
206201
return model
207202
}

mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/MPSModelImportAsNode.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package org.modelix.model.mpsadapters
22

33
import org.jetbrains.mps.openapi.model.SModel
44
import org.jetbrains.mps.openapi.model.SModelReference
5-
import org.jetbrains.mps.openapi.module.SRepository
65
import org.modelix.model.api.BuiltinLanguages
76
import org.modelix.model.api.IChildLinkReference
87
import org.modelix.model.api.IConcept
@@ -43,10 +42,6 @@ data class MPSModelImportAsNode(val importedModel: SModelReference, val importin
4342
return this
4443
}
4544

46-
override fun getRepository(): SRepository? {
47-
return importingModel.repository
48-
}
49-
5045
override fun getPropertyAccessors(): List<Pair<IPropertyReference, IPropertyAccessor<MPSModelImportAsNode>>> {
5146
return emptyList()
5247
}

mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/MPSModuleAsNode.kt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import org.jetbrains.mps.openapi.module.FacetsFacade
2020
import org.jetbrains.mps.openapi.module.SModule
2121
import org.jetbrains.mps.openapi.module.SModuleId
2222
import org.jetbrains.mps.openapi.module.SModuleReference
23-
import org.jetbrains.mps.openapi.module.SRepository
2423
import org.jetbrains.mps.openapi.persistence.PersistenceFacade
2524
import org.modelix.model.api.BuiltinLanguages
2625
import org.modelix.model.api.IChildLinkReference
@@ -295,18 +294,14 @@ abstract class MPSModuleAsNode<E : SModule> : MPSGenericNodeAdapter<E>() {
295294
return module
296295
}
297296

298-
override fun getRepository(): SRepository? {
299-
return module.repository
300-
}
301-
302297
override fun getPropertyAccessors(): List<Pair<IPropertyReference, IPropertyAccessor<E>>> = propertyAccessors
303298

304299
override fun getReferenceAccessors(): List<Pair<IReferenceLinkReference, IReferenceAccessor<E>>> = referenceAccessors
305300

306301
override fun getChildAccessors(): List<Pair<IChildLinkReference, IChildAccessor<E>>> = childAccessors
307302

308303
override fun getParent(): IWritableNode? {
309-
return module.repository?.asWritableNode()
304+
return ModelixMpsApi.getRepository().asWritableNode()
310305
}
311306

312307
override fun getNodeReference(): INodeReference {

mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/MPSModuleDependencyAsNode.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import jetbrains.mps.project.structure.modules.ModuleReference
66
import org.jetbrains.mps.openapi.module.SDependencyScope
77
import org.jetbrains.mps.openapi.module.SModule
88
import org.jetbrains.mps.openapi.module.SModuleReference
9-
import org.jetbrains.mps.openapi.module.SRepository
109
import org.modelix.model.api.BuiltinLanguages
1110
import org.modelix.model.api.IChildLinkReference
1211
import org.modelix.model.api.IConcept
@@ -150,10 +149,6 @@ data class MPSModuleDependencyAsNode(
150149
return this
151150
}
152151

153-
override fun getRepository(): SRepository? {
154-
return null
155-
}
156-
157152
override fun getPropertyAccessors(): List<Pair<IPropertyReference, IPropertyAccessor<MPSModuleDependencyAsNode>>> {
158153
return propertyAccessors
159154
}

mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/MPSModuleReferenceAsNode.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package org.modelix.model.mpsadapters
22

33
import org.jetbrains.mps.openapi.module.SModuleId
44
import org.jetbrains.mps.openapi.module.SModuleReference
5-
import org.jetbrains.mps.openapi.module.SRepository
65
import org.modelix.model.api.BuiltinLanguages
76
import org.modelix.model.api.ChildLinkReferenceByUID
87
import org.modelix.model.api.IChildLinkReference
@@ -25,10 +24,6 @@ data class MPSModuleReferenceAsNode(
2524
return this
2625
}
2726

28-
override fun getRepository(): SRepository? {
29-
return parent.getRepository()
30-
}
31-
3227
override fun getPropertyAccessors(): List<Pair<IPropertyReference, IPropertyAccessor<MPSModuleReferenceAsNode>>> {
3328
return emptyList()
3429
}

mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/MPSProjectAsNode.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.modelix.model.mpsadapters
22

33
import jetbrains.mps.project.ModuleId
4-
import org.jetbrains.mps.openapi.module.SRepository
54
import org.jetbrains.mps.openapi.persistence.PersistenceFacade
65
import org.modelix.kotlin.utils.ContextValue
76
import org.modelix.model.api.BuiltinLanguages
@@ -119,10 +118,6 @@ data class MPSProjectAsNode(val project: IMPSProject) : MPSGenericNodeAdapter<IM
119118
return project
120119
}
121120

122-
override fun getRepository(): SRepository? {
123-
return project.getRepository()
124-
}
125-
126121
override fun getPropertyAccessors(): List<Pair<IPropertyReference, IPropertyAccessor<IMPSProject>>> {
127122
return propertyAccessors
128123
}

mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/MPSProjectModuleAsNode.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.modelix.model.mpsadapters
22

33
import org.jetbrains.mps.openapi.module.SModule
4-
import org.jetbrains.mps.openapi.module.SRepository
54
import org.modelix.model.api.BuiltinLanguages
65
import org.modelix.model.api.IChildLinkReference
76
import org.modelix.model.api.IConcept
@@ -48,10 +47,6 @@ data class MPSProjectModuleAsNode(val project: IMPSProject, val module: SModule)
4847
return this
4948
}
5049

51-
override fun getRepository(): SRepository? {
52-
return project.getRepository()
53-
}
54-
5550
override fun getPropertyAccessors(): List<Pair<IPropertyReference, IPropertyAccessor<MPSProjectModuleAsNode>>> {
5651
return propertyAccessors
5752
}

0 commit comments

Comments
 (0)