From 94107f140402b3d63f17b3c4727b3cc8c3752082 Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Thu, 1 Feb 2018 14:29:16 +0100 Subject: Eclass trace notation changed from "[X]" to "". --- .../application/ApplicationConfiguration.xtext | 2 +- .../ApplicationConfigurationScopeProvider.xtend | 38 +++++++++++++++------- 2 files changed, 27 insertions(+), 13 deletions(-) (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf') 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 3efde6ec..1d12b3f7 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 @@ -112,7 +112,7 @@ TypeScope: '#' type = TypeReference ('..' (maxUnlimited?='*' | max=INT))? ; TypeReference: ClassReference | ObjectReference | IntegerReference | RealReference | StringReference; -ClassReference: '[' element = MetamodelElement ']'; +ClassReference: '<' element = MetamodelElement '>'; ObjectReference: {ObjectReference} 'node'; IntegerReference: {IntegerScope} 'int'; RealReference: {RealScope} 'real'; 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 ea0e8d1e..8973e7cf 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 @@ -3,25 +3,27 @@ */ package hu.bme.mit.inf.dslreasoner.application.scoping -import org.eclipse.emf.ecore.EObject -import org.eclipse.emf.ecore.EReference -import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement +import com.google.common.base.Function +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPatternEntry import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage -import org.eclipse.xtext.EcoreUtil2 +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ClassReference import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport -import org.eclipse.xtext.scoping.Scopes -import org.eclipse.emf.ecore.EClass -import org.eclipse.emf.ecore.EEnum +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification -import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternElement -import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPatternEntry import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport -import com.google.common.base.Function +import org.eclipse.emf.ecore.EClass +import org.eclipse.emf.ecore.EEnum +import org.eclipse.emf.ecore.EObject +import org.eclipse.emf.ecore.EReference import org.eclipse.viatra.query.patternlanguage.patternLanguage.PatternModel +import org.eclipse.xtext.EcoreUtil2 import org.eclipse.xtext.naming.QualifiedName +import org.eclipse.xtext.scoping.IScope +import org.eclipse.xtext.scoping.Scopes /** * This class contains custom scoping description. @@ -55,7 +57,9 @@ class ApplicationConfigurationScopeProvider extends AbstractApplicationConfigura return context.scopeForPatternSpecification(reference,document) } else if(context instanceof AllPatternEntry) { return context.scopeForAllPatternEntry(reference,document) - } else { + } else if(context instanceof ClassReference) { + return context.scopeForClassReference(reference,document) + }else { return super.getScope(context,reference) } } @@ -122,7 +126,17 @@ class ApplicationConfigurationScopeProvider extends AbstractApplicationConfigura } } - // Todo [] scope + ////////// + + def IScope scopeForClassReference(ClassReference classReference, EReference eReference, ConfigurationScript document) { + if(eReference === language.metamodelEntry_Package) { + return Scopes.scopeFor(document.allEPackages) + } else if(eReference === language.metamodelElement_Classifier) { + Scopes.scopeFor(document.allEClassifiers) + } else { + return super.getScope(classReference,eReference) + } + } ////////// -- cgit v1.2.3-54-g00ecf