From 4585a4d344da5498200548e7add61e5cccd44924 Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Tue, 8 May 2018 17:03:07 +0200 Subject: Refactored to the milestone version of Viatra 2.0 --- .../viatrasolver/logic2viatra/TypeAnalysis.xtend | 32 +++++++++++----------- .../viatrasolver/logic2viatra/util/ParseUtil.xtend | 12 +++----- 2 files changed, 20 insertions(+), 24 deletions(-) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/TypeAnalysis.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/TypeAnalysis.xtend index 395aba85..2dd01343 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/TypeAnalysis.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/TypeAnalysis.xtend @@ -1,21 +1,21 @@ package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra -import org.eclipse.xtend.lib.annotations.Data +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration +import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem +import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.DontHaveDefinedSupertype +import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementMayTypeNegativeConstraint +import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeConstructor +import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeRefinementNegativeConstraint +import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeRefinementTarget +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation +import java.util.ArrayList import java.util.List import java.util.Map -import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation -import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine import org.eclipse.viatra.query.runtime.emf.EMFScope -import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeConstructorMatcher -import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeRefinementTargetMatcher -import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeRefinementNegativeConstraintMatcher -import java.util.ArrayList -import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.DontHaveDefinedSupertypeMatcher -import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration -import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement -import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementMayTypeNegativeConstraintMatcher +import org.eclipse.xtend.lib.annotations.Data @Data class TypeRefinementPrecondition { Type targetType @@ -60,11 +60,11 @@ class TypeAnalysis { def TypeAnalysisResult performTypeAnalysis(LogicProblem problem, PartialInterpretation interpretation) { val viatraEngine = ViatraQueryEngine.on(new EMFScope(problem)) - val negativeMatcher = NewElementTypeRefinementNegativeConstraintMatcher.on(viatraEngine) + val negativeMatcher = NewElementTypeRefinementNegativeConstraint.Matcher.on(viatraEngine) - val possibleNewDynamicTypes = NewElementTypeConstructorMatcher.on(viatraEngine).allValuesOftype + val possibleNewDynamicTypes = NewElementTypeConstructor.Matcher.on(viatraEngine).allValuesOftype - val possibleNewTypeRefinementTargets = NewElementTypeRefinementTargetMatcher.on(viatraEngine).allValuesOfrefined + val possibleNewTypeRefinementTargets = NewElementTypeRefinementTarget.Matcher.on(viatraEngine).allValuesOfrefined val possibleNewTypeRefinements = new ArrayList for(possibleNewTypeRefinementTarget : possibleNewTypeRefinementTargets) { val inhibitorTypes = negativeMatcher.getAllValuesOfinhibitor(possibleNewTypeRefinementTarget) @@ -73,8 +73,8 @@ class TypeAnalysis { inhibitorTypes.toList) } - val possibleTypes = DontHaveDefinedSupertypeMatcher.on(viatraEngine).allValuesOftype - val newElementMayTypeMatcher = NewElementMayTypeNegativeConstraintMatcher.on(viatraEngine) + val possibleTypes = DontHaveDefinedSupertype.Matcher.on(viatraEngine).allValuesOftype + val newElementMayTypeMatcher = NewElementMayTypeNegativeConstraint.Matcher.on(viatraEngine) val mayNewTypePreconditions = possibleTypes.toInvertedMap[type | val inhibitorTypes = newElementMayTypeMatcher.getAllValuesOfinhibitor(type as TypeDeclaration) diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend index d315ac3f..6febe0a6 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend @@ -12,21 +12,18 @@ import java.util.LinkedHashMap import org.eclipse.emf.common.util.URI import org.eclipse.emf.ecore.resource.Resource import org.eclipse.emf.ecore.util.EcoreUtil -import org.eclipse.viatra.query.patternlanguage.PatternLanguageStandaloneSetup -import org.eclipse.viatra.query.patternlanguage.annotations.ExtensionBasedAnnotationValidatorLoader -import org.eclipse.viatra.query.patternlanguage.annotations.IAnnotationValidatorLoader import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageRuntimeModule import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageStandaloneSetup import org.eclipse.viatra.query.patternlanguage.emf.GenmodelExtensionLoader import org.eclipse.viatra.query.patternlanguage.emf.IGenmodelMappingLoader -import org.eclipse.viatra.query.patternlanguage.emf.eMFPatternLanguage.PatternModel import org.eclipse.viatra.query.patternlanguage.emf.specification.SpecificationBuilder +import org.eclipse.viatra.query.patternlanguage.emf.vql.PatternModel import org.eclipse.xtext.resource.XtextResourceSet class MyModule extends EMFPatternLanguageRuntimeModule implements Module{ - def public Class bindAnnotationValidatorLoader() { - return typeof(ExtensionBasedAnnotationValidatorLoader); - } +// def public Class bindAnnotationValidatorLoader() { +// return typeof(ExtensionBasedAnnotationValidatorLoader); +// } def public Class bindGenmodelMappingLoader() { return typeof(GenmodelExtensionLoader); } @@ -35,7 +32,6 @@ class MyModule extends EMFPatternLanguageRuntimeModule implements Module{ class ParseUtil { val Injector injector; new() { - PatternLanguageStandaloneSetup.doSetup EMFPatternLanguageStandaloneSetup.doSetup; PartialinterpretationPackage.eINSTANCE.class; LogicproblemPackage.eINSTANCE.class; -- cgit v1.2.3-54-g00ecf