aboutsummaryrefslogtreecommitdiffstats
path: root/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping
diff options
context:
space:
mode:
Diffstat (limited to 'Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping')
-rw-r--r--Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbinbin0 -> 4651 bytes
-rw-r--r--Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbinbin0 -> 9017 bytes
-rw-r--r--Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.gitignore4
-rw-r--r--Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageImportedNamespaceAwareLocalScopeProvider.java63
-rw-r--r--Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.java248
5 files changed, 315 insertions, 0 deletions
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbin
new file mode 100644
index 00000000..4a0036bd
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageImportedNamespaceAwareLocalScopeProvider.xtendbin
Binary files differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbin b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbin
new file mode 100644
index 00000000..722c0e58
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.CftLanguageScopeProvider.xtendbin
Binary files differ
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.gitignore b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.gitignore
new file mode 100644
index 00000000..75285868
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/.gitignore
@@ -0,0 +1,4 @@
1/.CftLanguageScopeProvider.java._trace
2/.CftLanguageImportedNamespaceAwareScopeProvider.java._trace
3/.CftLanguageImportedNamespaceAwareScopeLocalProvider.java._trace
4/.CftLanguageImportedNamespaceAwareLocalScopeProvider.java._trace
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageImportedNamespaceAwareLocalScopeProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageImportedNamespaceAwareLocalScopeProvider.java
new file mode 100644
index 00000000..d90fe787
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageImportedNamespaceAwareLocalScopeProvider.java
@@ -0,0 +1,63 @@
1package hu.bme.mit.inf.dslreasoner.faulttree.components.scoping;
2
3import com.google.inject.Inject;
4import com.google.inject.Singleton;
5import hu.bme.mit.inf.dslreasoner.faulttree.components.naming.PackageNameProvider;
6import java.util.List;
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EReference;
10import org.eclipse.xtext.naming.IQualifiedNameConverter;
11import org.eclipse.xtext.naming.IQualifiedNameProvider;
12import org.eclipse.xtext.naming.QualifiedName;
13import org.eclipse.xtext.scoping.ICaseInsensitivityHelper;
14import org.eclipse.xtext.scoping.IGlobalScopeProvider;
15import org.eclipse.xtext.scoping.IScope;
16import org.eclipse.xtext.scoping.impl.ImportNormalizer;
17import org.eclipse.xtext.scoping.impl.ImportScope;
18import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider;
19
20@Singleton
21@SuppressWarnings("all")
22public class CftLanguageImportedNamespaceAwareLocalScopeProvider extends ImportedNamespaceAwareLocalScopeProvider {
23 @Inject
24 private PackageNameProvider packageNameProvider;
25
26 @Inject
27 public CftLanguageImportedNamespaceAwareLocalScopeProvider() {
28 }
29
30 public CftLanguageImportedNamespaceAwareLocalScopeProvider(final IGlobalScopeProvider globalScopeProvider, final IQualifiedNameProvider qualifiedNameProvider, final IQualifiedNameConverter qualifiedNameConverter, final ICaseInsensitivityHelper caseInsensitivityHelper) {
31 super(globalScopeProvider, qualifiedNameProvider, qualifiedNameConverter, caseInsensitivityHelper);
32 PackageNameProvider _packageNameProvider = new PackageNameProvider(qualifiedNameConverter);
33 this.packageNameProvider = _packageNameProvider;
34 }
35
36 @Override
37 protected List<ImportNormalizer> internalGetImportedNamespaceResolvers(final EObject context, final boolean ignoreCase) {
38 List<ImportNormalizer> _xblockexpression = null;
39 {
40 final List<ImportNormalizer> resolvers = super.internalGetImportedNamespaceResolvers(context, ignoreCase);
41 final QualifiedName packageName = this.packageNameProvider.getPackageName(context);
42 boolean _isEmpty = packageName.isEmpty();
43 boolean _not = (!_isEmpty);
44 if (_not) {
45 final ImportNormalizer packageNormalizer = this.doCreateImportNormalizer(packageName, true, ignoreCase);
46 resolvers.add(0, packageNormalizer);
47 }
48 _xblockexpression = resolvers;
49 }
50 return _xblockexpression;
51 }
52
53 public ImportScope createImportNormalizedScope(final IScope elements, final EObject context, final EReference reference) {
54 ImportScope _xblockexpression = null;
55 {
56 final boolean ignoreCase = this.isIgnoreCase(reference);
57 final EClass type = reference.getEReferenceType();
58 final List<ImportNormalizer> namespaceResolvers = this.getImportedNamespaceResolvers(context, ignoreCase);
59 _xblockexpression = this.createImportScope(elements, namespaceResolvers, null, type, ignoreCase);
60 }
61 return _xblockexpression;
62 }
63}
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.java
new file mode 100644
index 00000000..0149c8d1
--- /dev/null
+++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.components/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/components/scoping/CftLanguageScopeProvider.java
@@ -0,0 +1,248 @@
1/**
2 * generated by Xtext 2.16.0
3 */
4package hu.bme.mit.inf.dslreasoner.faulttree.components.scoping;
5
6import com.google.common.base.Objects;
7import com.google.common.collect.Lists;
8import com.google.inject.Inject;
9import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.CftLanguagePackage;
10import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentDefinition;
11import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.ComponentInstance;
12import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventDeclaration;
13import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.EventReference;
14import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition;
15import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition;
16import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingParameter;
17import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition;
18import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.Variable;
19import hu.bme.mit.inf.dslreasoner.faulttree.components.scoping.AbstractCftLanguageScopeProvider;
20import hu.bme.mit.inf.dslreasoner.faulttree.components.scoping.CftLanguageImportedNamespaceAwareLocalScopeProvider;
21import java.util.ArrayList;
22import org.eclipse.emf.common.notify.Notifier;
23import org.eclipse.emf.ecore.EObject;
24import org.eclipse.emf.ecore.EReference;
25import org.eclipse.emf.ecore.resource.ResourceSet;
26import org.eclipse.viatra.query.patternlanguage.emf.vql.Pattern;
27import org.eclipse.xtext.EcoreUtil2;
28import org.eclipse.xtext.naming.QualifiedName;
29import org.eclipse.xtext.resource.EObjectDescription;
30import org.eclipse.xtext.resource.IEObjectDescription;
31import org.eclipse.xtext.resource.IResourceDescriptions;
32import org.eclipse.xtext.resource.IResourceDescriptionsProvider;
33import org.eclipse.xtext.scoping.IScope;
34import org.eclipse.xtext.scoping.Scopes;
35import org.eclipse.xtext.scoping.impl.ImportScope;
36import org.eclipse.xtext.scoping.impl.SimpleScope;
37import org.eclipse.xtext.xbase.lib.CollectionLiterals;
38import org.eclipse.xtext.xbase.lib.Functions.Function1;
39import org.eclipse.xtext.xbase.lib.IterableExtensions;
40
41/**
42 * This class contains custom scoping description.
43 *
44 * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#scoping
45 * on how and when to use it.
46 */
47@SuppressWarnings("all")
48public class CftLanguageScopeProvider extends AbstractCftLanguageScopeProvider {
49 public static final String SINGLETON_VARIABLE_PREFIX = "_";
50
51 @Inject
52 private IResourceDescriptionsProvider resourceDescriptionsProvider;
53
54 @Inject
55 private CftLanguageImportedNamespaceAwareLocalScopeProvider importedNamespaceProvider;
56
57 @Override
58 public IScope getScope(final EObject context, final EReference reference) {
59 IScope _switchResult = null;
60 boolean _matched = false;
61 if (Objects.equal(reference, CftLanguagePackage.Literals.LOOKUP_DEFINITION__MAPPING)) {
62 _matched=true;
63 _switchResult = this.getRuleDefinitionsScope(context, reference);
64 }
65 if (!_matched) {
66 if (Objects.equal(reference, CftLanguagePackage.Literals.LOOKUP_DEFINITION__ARGUMENTS)) {
67 _matched=true;
68 _switchResult = this.getMappingParametersScope(context);
69 }
70 }
71 if (!_matched) {
72 if (Objects.equal(reference, CftLanguagePackage.Literals.EVENT_REFERENCE__COMPONENT)) {
73 _matched=true;
74 _switchResult = this.getComponentInstancesScope(context);
75 }
76 }
77 if (!_matched) {
78 if (Objects.equal(reference, CftLanguagePackage.Literals.EVENT_REFERENCE__EVENT)) {
79 _matched=true;
80 _switchResult = this.getEventDeclarationsScope(context);
81 }
82 }
83 if (!_matched) {
84 _switchResult = super.getScope(context, reference);
85 }
86 return _switchResult;
87 }
88
89 protected IScope getRuleDefinitionsScope(final EObject context, final EReference referece) {
90 ImportScope _xblockexpression = null;
91 {
92 final TransformationDefinition transformationDefinition = EcoreUtil2.<TransformationDefinition>getContainerOfType(context, TransformationDefinition.class);
93 if ((transformationDefinition == null)) {
94 return IScope.NULLSCOPE;
95 }
96 final IResourceDescriptions resourceDescriptions = this.getResourceDescriptions(transformationDefinition);
97 final ArrayList<IEObjectDescription> mappingDefinitionDescriptions = this.toMappingDefinitionDescriptions(resourceDescriptions,
98 transformationDefinition.getMappingDefinitions());
99 final SimpleScope ruleDefinitionsScope = new SimpleScope(IScope.NULLSCOPE, mappingDefinitionDescriptions);
100 _xblockexpression = this.importedNamespaceProvider.createImportNormalizedScope(ruleDefinitionsScope, context, referece);
101 }
102 return _xblockexpression;
103 }
104
105 protected ArrayList<IEObjectDescription> toMappingDefinitionDescriptions(final IResourceDescriptions resourceDescriptions, final Iterable<? extends MappingDefinition> ruleDefinitions) {
106 ArrayList<IEObjectDescription> _xblockexpression = null;
107 {
108 final ArrayList<IEObjectDescription> mappingDefinitionDescriptions = Lists.<IEObjectDescription>newArrayListWithExpectedSize(IterableExtensions.size(ruleDefinitions));
109 for (final MappingDefinition ruleDefinition : ruleDefinitions) {
110 {
111 Pattern _pattern = null;
112 if (ruleDefinition!=null) {
113 _pattern=ruleDefinition.getPattern();
114 }
115 final Pattern pattern = _pattern;
116 if ((pattern != null)) {
117 IEObjectDescription _head = IterableExtensions.<IEObjectDescription>head(resourceDescriptions.getExportedObjectsByObject(pattern));
118 QualifiedName _qualifiedName = null;
119 if (_head!=null) {
120 _qualifiedName=_head.getQualifiedName();
121 }
122 final QualifiedName patternName = _qualifiedName;
123 if ((patternName != null)) {
124 IEObjectDescription _create = EObjectDescription.create(patternName, ruleDefinition);
125 mappingDefinitionDescriptions.add(_create);
126 }
127 }
128 }
129 }
130 _xblockexpression = mappingDefinitionDescriptions;
131 }
132 return _xblockexpression;
133 }
134
135 private IResourceDescriptions getResourceDescriptions(final Notifier notifier) {
136 IResourceDescriptions _xblockexpression = null;
137 {
138 final ResourceSet resourceSet = EcoreUtil2.getResourceSet(notifier);
139 IResourceDescriptions _xifexpression = null;
140 if ((resourceSet == null)) {
141 _xifexpression = new IResourceDescriptions.NullImpl();
142 } else {
143 _xifexpression = this.resourceDescriptionsProvider.getResourceDescriptions(resourceSet);
144 }
145 _xblockexpression = _xifexpression;
146 }
147 return _xblockexpression;
148 }
149
150 protected IScope getMappingParametersScope(final EObject context) {
151 IScope _xblockexpression = null;
152 {
153 final MappingDefinition mappingDefinition = EcoreUtil2.<MappingDefinition>getContainerOfType(context, MappingDefinition.class);
154 if ((mappingDefinition == null)) {
155 return IScope.NULLSCOPE;
156 }
157 final Function1<MappingParameter, Boolean> _function = (MappingParameter it) -> {
158 boolean _startsWith = it.getName().startsWith(CftLanguageScopeProvider.SINGLETON_VARIABLE_PREFIX);
159 return Boolean.valueOf((!_startsWith));
160 };
161 final Iterable<MappingParameter> variables = IterableExtensions.<MappingParameter>filter(mappingDefinition.getParameters(), _function);
162 _xblockexpression = Scopes.scopeFor(variables);
163 }
164 return _xblockexpression;
165 }
166
167 protected IScope getComponentInstancesScope(final EObject context) {
168 IScope _xblockexpression = null;
169 {
170 final MappingDefinition mappingDefinition = EcoreUtil2.<MappingDefinition>getContainerOfType(context, MappingDefinition.class);
171 if ((mappingDefinition == null)) {
172 return IScope.NULLSCOPE;
173 }
174 final ArrayList<Variable> componentInstances = CollectionLiterals.<Variable>newArrayList();
175 componentInstances.addAll(mappingDefinition.getLookupDefinitions());
176 ComponentInstance _componentInstance = mappingDefinition.getComponentInstance();
177 boolean _tripleNotEquals = (_componentInstance != null);
178 if (_tripleNotEquals) {
179 ComponentInstance _componentInstance_1 = mappingDefinition.getComponentInstance();
180 componentInstances.add(_componentInstance_1);
181 }
182 _xblockexpression = Scopes.scopeFor(componentInstances);
183 }
184 return _xblockexpression;
185 }
186
187 protected IScope getEventDeclarationsScope(final EObject context) {
188 IScope _xblockexpression = null;
189 {
190 EventReference _containerOfType = EcoreUtil2.<EventReference>getContainerOfType(context, EventReference.class);
191 Variable _component = null;
192 if (_containerOfType!=null) {
193 _component=_containerOfType.getComponent();
194 }
195 final Variable variable = _component;
196 ArrayList<EventDeclaration> _switchResult = null;
197 boolean _matched = false;
198 if (variable instanceof ComponentInstance) {
199 _matched=true;
200 ComponentDefinition _componentType = ((ComponentInstance)variable).getComponentType();
201 ArrayList<EventDeclaration> _allEventDeclarations = null;
202 if (_componentType!=null) {
203 _allEventDeclarations=this.getAllEventDeclarations(_componentType);
204 }
205 _switchResult = _allEventDeclarations;
206 }
207 if (!_matched) {
208 if (variable instanceof LookupDefinition) {
209 _matched=true;
210 MappingDefinition _mapping = ((LookupDefinition)variable).getMapping();
211 ComponentInstance _componentInstance = null;
212 if (_mapping!=null) {
213 _componentInstance=_mapping.getComponentInstance();
214 }
215 ComponentDefinition _componentType = null;
216 if (_componentInstance!=null) {
217 _componentType=_componentInstance.getComponentType();
218 }
219 ArrayList<EventDeclaration> _allEventDeclarations = null;
220 if (_componentType!=null) {
221 _allEventDeclarations=this.getAllEventDeclarations(_componentType);
222 }
223 _switchResult = _allEventDeclarations;
224 }
225 }
226 if (!_matched) {
227 _switchResult = null;
228 }
229 final ArrayList<EventDeclaration> events = _switchResult;
230 if ((events == null)) {
231 return IScope.NULLSCOPE;
232 }
233 _xblockexpression = Scopes.scopeFor(events);
234 }
235 return _xblockexpression;
236 }
237
238 private ArrayList<EventDeclaration> getAllEventDeclarations(final ComponentDefinition componentDefinition) {
239 ArrayList<EventDeclaration> _xblockexpression = null;
240 {
241 final ArrayList<EventDeclaration> eventDeclarations = CollectionLiterals.<EventDeclaration>newArrayList();
242 eventDeclarations.addAll(componentDefinition.getInputEvents());
243 eventDeclarations.addAll(componentDefinition.getEventDefinitions());
244 _xblockexpression = eventDeclarations;
245 }
246 return _xblockexpression;
247 }
248}