From 3f5aaab5025b8eb243f414b1c789085327df04f4 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Wed, 20 Mar 2019 16:09:09 +0100 Subject: Fault tree transformation for partial models WIP --- .../components/scoping/CftLanguageScopeProvider.xtend | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/src/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.xtend') 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 import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable +import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.impl.MappingDefinitionImpl import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition import org.eclipse.emf.common.notify.Notifier import org.eclipse.emf.ecore.EObject @@ -68,7 +69,7 @@ class CftLanguageScopeProvider extends AbstractCftLanguageScopeProvider { Iterable ruleDefinitions) { val mappingDefinitionDescriptions = Lists.newArrayListWithExpectedSize(ruleDefinitions.size) for (ruleDefinition : ruleDefinitions) { - val pattern = ruleDefinition?.pattern + val pattern = ruleDefinition.safelyGetPattern if (pattern !== null) { val patternName = resourceDescriptions.getExportedObjectsByObject(pattern).head?.qualifiedName if (patternName !== null) { @@ -79,6 +80,14 @@ class CftLanguageScopeProvider extends AbstractCftLanguageScopeProvider { } mappingDefinitionDescriptions } + + private def safelyGetPattern(MappingDefinition mappingDefinition) { + switch (mappingDefinition) { + MappingDefinitionImpl: mappingDefinition.basicGetPattern + case null: null + default: mappingDefinition.pattern + } + } private def getResourceDescriptions(Notifier notifier) { val resourceSet = EcoreUtil2.getResourceSet(notifier) -- cgit v1.2.3-70-g09d2