aboutsummaryrefslogtreecommitdiffstats
path: root/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.xtend')
-rw-r--r--Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.xtend11
1 files changed, 10 insertions, 1 deletions
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.xtend
index e95d8c91..f295f116 100644
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.xtend
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.xtend
@@ -11,6 +11,7 @@ import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinit
11import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition 11import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition
12import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition 12import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition
13import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable 13import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable
14import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingDefinitionImpl
14import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition 15import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition
15import org.eclipse.emf.common.notify.Notifier 16import org.eclipse.emf.common.notify.Notifier
16import org.eclipse.emf.ecore.EObject 17import org.eclipse.emf.ecore.EObject
@@ -68,7 +69,7 @@ class CftLanguageScopeProvider extends AbstractCftLanguageScopeProvider {
68 Iterable<? extends MappingDefinition> ruleDefinitions) { 69 Iterable<? extends MappingDefinition> ruleDefinitions) {
69 val mappingDefinitionDescriptions = Lists.newArrayListWithExpectedSize(ruleDefinitions.size) 70 val mappingDefinitionDescriptions = Lists.newArrayListWithExpectedSize(ruleDefinitions.size)
70 for (ruleDefinition : ruleDefinitions) { 71 for (ruleDefinition : ruleDefinitions) {
71 val pattern = ruleDefinition?.pattern 72 val pattern = ruleDefinition.safelyGetPattern
72 if (pattern !== null) { 73 if (pattern !== null) {
73 val patternName = resourceDescriptions.getExportedObjectsByObject(pattern).head?.qualifiedName 74 val patternName = resourceDescriptions.getExportedObjectsByObject(pattern).head?.qualifiedName
74 if (patternName !== null) { 75 if (patternName !== null) {
@@ -79,6 +80,14 @@ class CftLanguageScopeProvider extends AbstractCftLanguageScopeProvider {
79 } 80 }
80 mappingDefinitionDescriptions 81 mappingDefinitionDescriptions
81 } 82 }
83
84 private def safelyGetPattern(MappingDefinition mappingDefinition) {
85 switch (mappingDefinition) {
86 MappingDefinitionImpl: mappingDefinition.basicGetPattern
87 case null: null
88 default: mappingDefinition.pattern
89 }
90 }
82 91
83 private def getResourceDescriptions(Notifier notifier) { 92 private def getResourceDescriptions(Notifier notifier) {
84 val resourceSet = EcoreUtil2.getResourceSet(notifier) 93 val resourceSet = EcoreUtil2.getResourceSet(notifier)