aboutsummaryrefslogtreecommitdiffstats
path: root/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-01-30 01:27:48 +0100
committerLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-01-30 01:27:48 +0100
commit777d5ecc6031f02ad3757db1c9736b6aad5ac6f5 (patch)
treec80be670a4d3dc519837c575338cde6c73b17b3e /Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application
parentLoading services (diff)
downloadVIATRA-Generator-777d5ecc6031f02ad3757db1c9736b6aad5ac6f5.tar.gz
VIATRA-Generator-777d5ecc6031f02ad3757db1c9736b6aad5ac6f5.tar.zst
VIATRA-Generator-777d5ecc6031f02ad3757db1c9736b6aad5ac6f5.zip
Scoping + Linking services fixed
Diffstat (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application')
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext10
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationRuntimeModule.xtend19
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ModelLoader.xtend27
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/util/VQLParser.xtend7
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/linking/ApplicationConfigurationLinkingService.xtend21
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend32
6 files changed, 76 insertions, 40 deletions
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext
index 2ac81bf6..3efde6ec 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext
@@ -15,7 +15,7 @@ Command :
15; 15;
16 16
17QualifiedName returns ecore::EString: 17QualifiedName returns ecore::EString:
18 ID (=>'.' ID)*; 18 ID ('.' ID)*;
19 19
20/////////////////////////////////////////////////// 20///////////////////////////////////////////////////
21// Imports 21// Imports
@@ -106,10 +106,14 @@ enum Solver: SMTSolver | AlloySolver | ViatraSolver;
106ScopeSpecification: {ScopeSpecification} '{' 106ScopeSpecification: {ScopeSpecification} '{'
107 (scopes += TypeScope (',' scopes += TypeScope)*)? 107 (scopes += TypeScope (',' scopes += TypeScope)*)?
108'}'; 108'}';
109TypeScope: ( min = INT ( greather?='<' | greaterOrEqual?= '<='))? '#' type = TypeReference (( less?='<' | lessOrEqual?= '<=') max = INT)?; 109TypeScope: '#' type = TypeReference
110 (setsNew ?='+=' | setsSum ?= '=')
111 ( min = INT )
112 ('..' (maxUnlimited?='*' | max=INT))?
113;
110TypeReference: ClassReference | ObjectReference | IntegerReference | RealReference | StringReference; 114TypeReference: ClassReference | ObjectReference | IntegerReference | RealReference | StringReference;
111ClassReference: '[' element = MetamodelElement ']'; 115ClassReference: '[' element = MetamodelElement ']';
112ObjectReference: {ObjectReference} 'Object'; 116ObjectReference: {ObjectReference} 'node';
113IntegerReference: {IntegerScope} 'int'; 117IntegerReference: {IntegerScope} 'int';
114RealReference: {RealScope} 'real'; 118RealReference: {RealScope} 'real';
115StringReference: {StringScope} 'string'; 119StringReference: {StringScope} 'string';
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationRuntimeModule.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationRuntimeModule.xtend
index 919dd297..59b2f3f8 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationRuntimeModule.xtend
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationRuntimeModule.xtend
@@ -3,17 +3,18 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.application 4package hu.bme.mit.inf.dslreasoner.application
5 5
6import hu.bme.mit.inf.dslreasoner.application.linking.ApplicationConfigurationLinkingService
7import com.google.inject.Binder 6import com.google.inject.Binder
8import com.google.inject.multibindings.Multibinder 7import com.google.inject.multibindings.Multibinder
9import org.eclipse.viatra.query.patternlanguage.emf.scoping.IMetamodelProviderInstance 8import hu.bme.mit.inf.dslreasoner.application.linking.ApplicationConfigurationLinkingService
9import hu.bme.mit.inf.dslreasoner.application.valueconverter.ApplicationConfigurationValueConverterService
10import org.apache.log4j.Logger 10import org.apache.log4j.Logger
11import org.eclipse.viatra.query.patternlanguage.emf.scoping.IMetamodelProvider 11import org.eclipse.viatra.query.patternlanguage.emf.GenmodelExtensionLoader
12import org.eclipse.viatra.query.patternlanguage.emf.IGenmodelMappingLoader
12import org.eclipse.viatra.query.patternlanguage.emf.scoping.CompoundMetamodelProviderService 13import org.eclipse.viatra.query.patternlanguage.emf.scoping.CompoundMetamodelProviderService
14import org.eclipse.viatra.query.patternlanguage.emf.scoping.IMetamodelProvider
15import org.eclipse.viatra.query.patternlanguage.emf.scoping.IMetamodelProviderInstance
13import org.eclipse.viatra.query.patternlanguage.emf.scoping.MetamodelProviderService 16import org.eclipse.viatra.query.patternlanguage.emf.scoping.MetamodelProviderService
14import org.eclipse.viatra.query.patternlanguage.emf.scoping.ResourceSetMetamodelProviderService 17import org.eclipse.viatra.query.patternlanguage.emf.scoping.ResourceSetMetamodelProviderService
15import org.eclipse.viatra.query.patternlanguage.emf.IGenmodelMappingLoader
16import org.eclipse.viatra.query.patternlanguage.emf.GenmodelExtensionLoader
17 18
18/** 19/**
19 * Use this class to register components to be used at runtime / without the Equinox extension registry. 20 * Use this class to register components to be used at runtime / without the Equinox extension registry.
@@ -40,4 +41,12 @@ class ApplicationConfigurationRuntimeModule extends AbstractApplicationConfigura
40 def Class<? extends IGenmodelMappingLoader> bindIGenmodelMappingLoader() { 41 def Class<? extends IGenmodelMappingLoader> bindIGenmodelMappingLoader() {
41 GenmodelExtensionLoader 42 GenmodelExtensionLoader
42 } 43 }
44
45 override bindIValueConverterService() {
46 ApplicationConfigurationValueConverterService
47 }
48
49// override bindIQualifiedNameProvider() {
50// ApplicationConfigurationQualifiedNameProvider
51// }
43} 52}
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ModelLoader.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ModelLoader.xtend
index 1de7ee22..5fc2cdc5 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ModelLoader.xtend
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ModelLoader.xtend
@@ -1,11 +1,24 @@
1package hu.bme.mit.inf.dslreasoner.application.execution 1package hu.bme.mit.inf.dslreasoner.application.execution
2 2
3import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl
4import org.eclipse.emf.common.util.URI
5
3class ModelLoader { 6class ModelLoader {
4 //def loadMetamodels()7 7 def loadModel(String path, Context context) {
5// val List<EClass> classes = new LinkedList 8 var URI uri
6// val List<EReference> references = new LinkedList 9 try {
7// val List<EAttribute> attributes = new LinkedList 10 uri = URI::createURI(path)
8// val List<EEnum> enums = new LinkedList 11 } catch(IllegalArgumentException e) {
9// val List<EEnumLiteral> literals = new LinkedList 12 context.writeError('''Malformed uri: "«uri»"!''')
10// 13 return null
14 }
15
16 val resourceSet = new ResourceSetImpl
17 val resource = resourceSet.getResource(uri,true)
18 if(resource === null) {
19
20 } else {
21 return resource
22 }
23 }
11} \ No newline at end of file 24} \ No newline at end of file
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/util/VQLParser.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/util/VQLParser.xtend
index 9b5c538f..6eb9e3c8 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/util/VQLParser.xtend
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/util/VQLParser.xtend
@@ -3,7 +3,9 @@ package hu.bme.mit.inf.dslreasoner.application.execution.util
3import com.google.inject.Guice 3import com.google.inject.Guice
4import com.google.inject.Injector 4import com.google.inject.Injector
5import com.google.inject.Module 5import com.google.inject.Module
6import hu.bme.mit.inf.dslreasoner.application.execution.Context
6import java.util.LinkedHashMap 7import java.util.LinkedHashMap
8import java.util.List
7import org.eclipse.emf.common.util.URI 9import org.eclipse.emf.common.util.URI
8import org.eclipse.emf.ecore.resource.Resource 10import org.eclipse.emf.ecore.resource.Resource
9import org.eclipse.emf.ecore.resource.ResourceSet 11import org.eclipse.emf.ecore.resource.ResourceSet
@@ -17,11 +19,8 @@ import org.eclipse.viatra.query.patternlanguage.emf.GenmodelExtensionLoader
17import org.eclipse.viatra.query.patternlanguage.emf.IGenmodelMappingLoader 19import org.eclipse.viatra.query.patternlanguage.emf.IGenmodelMappingLoader
18import org.eclipse.viatra.query.patternlanguage.emf.eMFPatternLanguage.PatternModel 20import org.eclipse.viatra.query.patternlanguage.emf.eMFPatternLanguage.PatternModel
19import org.eclipse.viatra.query.patternlanguage.emf.specification.SpecificationBuilder 21import org.eclipse.viatra.query.patternlanguage.emf.specification.SpecificationBuilder
20import org.eclipse.xtext.resource.XtextResourceSet
21import hu.bme.mit.inf.dslreasoner.application.execution.Context
22import java.util.List
23import java.util.HashMap
24import org.eclipse.viatra.query.runtime.api.IQuerySpecification 22import org.eclipse.viatra.query.runtime.api.IQuerySpecification
23import org.eclipse.xtext.resource.XtextResourceSet
25 24
26class MyModule extends EMFPatternLanguageRuntimeModule implements Module { 25class MyModule extends EMFPatternLanguageRuntimeModule implements Module {
27 def public Class<? extends IAnnotationValidatorLoader> bindAnnotationValidatorLoader() { 26 def public Class<? extends IAnnotationValidatorLoader> bindAnnotationValidatorLoader() {
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/linking/ApplicationConfigurationLinkingService.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/linking/ApplicationConfigurationLinkingService.xtend
index 35d4008b..e48b74ba 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/linking/ApplicationConfigurationLinkingService.xtend
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/linking/ApplicationConfigurationLinkingService.xtend
@@ -2,33 +2,30 @@ package hu.bme.mit.inf.dslreasoner.application.linking
2 2
3import com.google.inject.Inject 3import com.google.inject.Inject
4import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage 4import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage
5import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript
5import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport 6import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport
7import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternEntry
6import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport 8import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport
7import java.util.Collections 9import java.util.Collections
10import java.util.List
8import java.util.Optional 11import java.util.Optional
9import org.eclipse.emf.common.util.URI 12import org.eclipse.emf.common.util.URI
10import org.eclipse.emf.ecore.EObject 13import org.eclipse.emf.ecore.EObject
11import org.eclipse.emf.ecore.EReference 14import org.eclipse.emf.ecore.EReference
15import org.eclipse.emf.ecore.resource.Resource
12import org.eclipse.viatra.query.patternlanguage.emf.scoping.IMetamodelProvider 16import org.eclipse.viatra.query.patternlanguage.emf.scoping.IMetamodelProvider
17import org.eclipse.xtext.EcoreUtil2
13import org.eclipse.xtext.conversion.IValueConverterService 18import org.eclipse.xtext.conversion.IValueConverterService
14import org.eclipse.xtext.conversion.ValueConverterException 19import org.eclipse.xtext.conversion.ValueConverterException
15import org.eclipse.xtext.linking.impl.DefaultLinkingService 20import org.eclipse.xtext.linking.impl.DefaultLinkingService
16import org.eclipse.xtext.nodemodel.ILeafNode 21import org.eclipse.xtext.nodemodel.ILeafNode
17import org.eclipse.xtext.nodemodel.INode 22import org.eclipse.xtext.nodemodel.INode
18import org.eclipse.emf.ecore.resource.Resource
19import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternEntry
20import org.eclipse.emf.ecore.util.EcoreUtil
21import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript
22import org.eclipse.xtext.EcoreUtil2
23import java.util.List
24import org.eclipse.xtext.conversion.impl.QualifiedNameValueConverter
25 23
26class ApplicationConfigurationLinkingService extends DefaultLinkingService{ 24class ApplicationConfigurationLinkingService extends DefaultLinkingService{
27 25
28 //@Inject Logger logger 26 //@Inject Logger logger
29 27
30 @Inject IValueConverterService valueConverterService 28 @Inject IValueConverterService valueConverterService
31
32 @Inject IMetamodelProvider metamodelProvider 29 @Inject IMetamodelProvider metamodelProvider
33 30
34 public static extension ApplicationConfigurationPackage pac = ApplicationConfigurationPackage.eINSTANCE 31 public static extension ApplicationConfigurationPackage pac = ApplicationConfigurationPackage.eINSTANCE
@@ -39,8 +36,8 @@ class ApplicationConfigurationLinkingService extends DefaultLinkingService{
39 return getEPackage(context as EPackageImport, node as ILeafNode) 36 return getEPackage(context as EPackageImport, node as ILeafNode)
40 } 37 }
41 } else if(context instanceof ViatraImport) { 38 } else if(context instanceof ViatraImport) {
42 if(ref == viatraImport_ImportedViatra && node instanceof ILeafNode) { 39 if(ref == viatraImport_ImportedViatra) {
43 return getViatra(context as ViatraImport, node as ILeafNode) 40 return getViatra(context as ViatraImport, node)
44 } 41 }
45 } else if(context instanceof PatternEntry) { 42 } else if(context instanceof PatternEntry) {
46 if(ref === patternEntry_Package) { 43 if(ref === patternEntry_Package) {
@@ -67,7 +64,7 @@ class ApplicationConfigurationLinkingService extends DefaultLinkingService{
67 ].orElse(emptyList) 64 ].orElse(emptyList)
68 } 65 }
69 66
70 private def getViatra(ViatraImport viatraImport, ILeafNode node) { 67 private def getViatra(ViatraImport viatraImport, INode node) {
71 val uri = getNSUri(node) 68 val uri = getNSUri(node)
72 if(uri.present) { 69 if(uri.present) {
73 var URI createdURI 70 var URI createdURI
@@ -92,7 +89,7 @@ class ApplicationConfigurationLinkingService extends DefaultLinkingService{
92 } 89 }
93 } 90 }
94 91
95 private def getNSUri(ILeafNode node) { 92 private def getNSUri(INode node) {
96 try { 93 try {
97 val convertedValue = valueConverterService.toValue(node.text, 94 val convertedValue = valueConverterService.toValue(node.text,
98 linkingHelper.getRuleNameFrom(node.grammarElement), node) 95 linkingHelper.getRuleNameFrom(node.grammarElement), node)
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend
index 97cda4a4..ea0e8d1e 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend
@@ -19,6 +19,9 @@ import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternEl
19import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPatternEntry 19import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPatternEntry
20import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification 20import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification
21import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport 21import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport
22import com.google.common.base.Function
23import org.eclipse.viatra.query.patternlanguage.patternLanguage.PatternModel
24import org.eclipse.xtext.naming.QualifiedName
22 25
23/** 26/**
24 * This class contains custom scoping description. 27 * This class contains custom scoping description.
@@ -29,21 +32,29 @@ import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImp
29class ApplicationConfigurationScopeProvider extends AbstractApplicationConfigurationScopeProvider { 32class ApplicationConfigurationScopeProvider extends AbstractApplicationConfigurationScopeProvider {
30 33
31 private val language = ApplicationConfigurationPackage.eINSTANCE 34 private val language = ApplicationConfigurationPackage.eINSTANCE
35 protected val nameConverter = new Function<PatternModel,QualifiedName>() {
36 override apply(PatternModel input) {
37 println(input)
38 val res = QualifiedName.create(input.packageName.split("\\."))
39 println(res.toString)
40 return res
41 }
42 }
32 43
33 override getScope(EObject context, EReference reference) { 44 override getScope(EObject context, EReference reference) {
34 val document = EcoreUtil2.getContainerOfType(context,ConfigurationScript) 45 val document = EcoreUtil2.getContainerOfType(context,ConfigurationScript)
35 if(context instanceof MetamodelElement) { 46 if(context instanceof MetamodelElement) {
36 context.scopeForMetamodelElement(reference,document) 47 return context.scopeForMetamodelElement(reference,document)
37 } else if(context instanceof MetamodelSpecification) { 48 } else if(context instanceof MetamodelSpecification) {
38 context.scopeForMetamodelSpecification(reference,document) 49 return context.scopeForMetamodelSpecification(reference,document)
39 } else if(context instanceof AllPackageEntry){ 50 } else if(context instanceof AllPackageEntry){
40 context.scopeForAllPackageEntry(reference,document) 51 return context.scopeForAllPackageEntry(reference,document)
41 } else if(context instanceof PatternElement) { 52 } else if(context instanceof PatternElement) {
42 context.scopeForPatternElement(reference,document) 53 return context.scopeForPatternElement(reference,document)
43 } else if(context instanceof PatternSpecification) { 54 } else if(context instanceof PatternSpecification) {
44 context.scopeForPatternSpecification(reference,document) 55 return context.scopeForPatternSpecification(reference,document)
45 } else if(context instanceof AllPatternEntry) { 56 } else if(context instanceof AllPatternEntry) {
46 context.scopeForAllPatternEntry(reference,document) 57 return context.scopeForAllPatternEntry(reference,document)
47 } else { 58 } else {
48 return super.getScope(context,reference) 59 return super.getScope(context,reference)
49 } 60 }
@@ -111,11 +122,13 @@ class ApplicationConfigurationScopeProvider extends AbstractApplicationConfigura
111 } 122 }
112 } 123 }
113 124
125 // Todo [] scope
126
114 ////////// 127 //////////
115 128
116 protected def scopeForPatternElement(PatternElement context, EReference reference, ConfigurationScript document) { 129 protected def scopeForPatternElement(PatternElement context, EReference reference, ConfigurationScript document) {
117 if(reference === language.patternEntry_Package) { 130 if(reference === language.patternEntry_Package) {
118 return Scopes.scopeFor(document.allViatraPackages) 131 return Scopes.scopeFor(document.allViatraPackages,nameConverter,super.getScope(context,reference))
119 } else if(reference === language.patternElement_Pattern) { 132 } else if(reference === language.patternElement_Pattern) {
120 if(context.package !== null) { 133 if(context.package !== null) {
121 return Scopes.scopeFor(context.package.patterns) 134 return Scopes.scopeFor(context.package.patterns)
@@ -129,7 +142,7 @@ class ApplicationConfigurationScopeProvider extends AbstractApplicationConfigura
129 142
130 protected def scopeForPatternSpecification(PatternSpecification context, EReference reference, ConfigurationScript document) { 143 protected def scopeForPatternSpecification(PatternSpecification context, EReference reference, ConfigurationScript document) {
131 if(reference === language.patternEntry_Package) { 144 if(reference === language.patternEntry_Package) {
132 return Scopes.scopeFor(document.allViatraPackages) 145 return Scopes.scopeFor(document.allViatraPackages,nameConverter,super.getScope(context,reference))
133 } else if(reference ===language.patternElement_Pattern) { 146 } else if(reference ===language.patternElement_Pattern) {
134 return Scopes.scopeFor(document.allPatterns) 147 return Scopes.scopeFor(document.allPatterns)
135 } else { 148 } else {
@@ -139,7 +152,8 @@ class ApplicationConfigurationScopeProvider extends AbstractApplicationConfigura
139 152
140 protected def scopeForAllPatternEntry(AllPatternEntry context, EReference reference, ConfigurationScript document) { 153 protected def scopeForAllPatternEntry(AllPatternEntry context, EReference reference, ConfigurationScript document) {
141 if(reference === language.patternEntry_Package) { 154 if(reference === language.patternEntry_Package) {
142 return Scopes.scopeFor(document.allViatraPackages) 155 val res = Scopes.scopeFor(document.allViatraPackages,nameConverter,super.getScope(context,reference))
156 return res
143 } else if(reference === language.patternElement_Pattern) { 157 } else if(reference === language.patternElement_Pattern) {
144 if(context.package === null) { 158 if(context.package === null) {
145 return Scopes.scopeFor(document.allPatterns) 159 return Scopes.scopeFor(document.allPatterns)