diff options
author | Adolfo SBH | 2016-04-15 12:53:50 +0000 |
---|---|---|
committer | Adolfo SBH | 2016-04-15 12:55:04 +0000 |
commit | 9011f553802436688599ed57ae2ff0c2200904d0 (patch) | |
tree | 29dc3032d82d5fbc0798ac14f722f48d06f68193 | |
parent | 95b6b540d6a15a4c6d6017dfd2e1cb9ad5fa1c5e (diff) | |
download | org.eclipse.ocl-asanchez/master.tar.gz org.eclipse.ocl-asanchez/master.tar.xz org.eclipse.ocl-asanchez/master.zip |
[397429] - Removing unused org.eclipse.ocl.pivot.lookup package priorasanchez/master
Neon release
7 files changed, 0 insertions, 1157 deletions
diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/AbstractPivotNameResolver.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/AbstractPivotNameResolver.java deleted file mode 100644 index 53146e0f8a..0000000000 --- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/AbstractPivotNameResolver.java +++ /dev/null @@ -1,119 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014, 2015 Willink Transformations Ltd., University of York and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adolfo Sanchez-Barbudo Herrera (University of York) - initial API and implementation - *******************************************************************************/ -package org.eclipse.ocl.pivot.lookup;/******************************************************************************* - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adolfo Sanchez-Barbudo Herrera (University of York) - initial API and implementation - *******************************************************************************/ - - -import org.eclipse.jdt.annotation.NonNull; -import org.eclipse.ocl.pivot.Element; -import org.eclipse.ocl.pivot.IteratorExp; -import org.eclipse.ocl.pivot.OperationCallExp; -import org.eclipse.ocl.pivot.VariableExp; -import org.eclipse.ocl.pivot.internal.lookup.LookupEnvironment; -import org.eclipse.ocl.pivot.internal.manager.PivotExecutorManager; -import org.eclipse.ocl.pivot.util.PivotUnqualifiedLookupVisitor; -import org.eclipse.ocl.pivot.utilities.ClassUtil; -import org.eclipse.ocl.pivot.utilities.EnvironmentFactory; - - -/** - * TODO To be generated at: - * emf-gen/org.eclipse.ocl.pivot.util - * - * @since 1.1 - */ -public abstract class AbstractPivotNameResolver { - - @NonNull - final protected EnvironmentFactory envFactory; - - public AbstractPivotNameResolver(@NonNull EnvironmentFactory mmManager) { - this.envFactory = mmManager; - } - - @NonNull - public SingleResultEnvironment computeLookup(@NonNull Element lookupElement, - @NonNull String name/*, boolean isQualified*/) { - SingleResultEnvironment env = createLookupEnvironment(envFactory, lookupElement, name); - return computeNamedResult(lookupElement, env); - } - -// @NonNull -// public IAllResultsEnvironment computeLookup( -// @NonNull Element lookupElement/*, boolean isQualified*/) { -// AutoIPivotLookupContext context = createLookupContext(lookupFeature, lookupElement); -// IAllResultsEnvironment env = createLookupEnvironment(mmManager, lookupFeature); -// return computeUnnamedResult(lookupElement, env, context); -// } - - abstract protected @NonNull PivotUnqualifiedLookupVisitor createLookupVisitor(@NonNull LookupEnvironment env); - - @NonNull - protected SingleResultLookupEnvironment createLookupEnvironment(@NonNull EnvironmentFactory mmManager, - @NonNull Element lookupElement, @NonNull String name) { - // FIXME ask Ed how to better provide this DomainEvaluator - return new SingleResultLookupEnvironment(new PivotExecutorManager(mmManager, lookupElement), name); - } - -// @NonNull -// protected IAllResultsEnvironment createLookupEnvironment(@NonNull MetaModelManager mmManager, -// @NonNull EStructuralFeature lookupFeature) { -// return new AllResultsEnvironment(mmManager, lookupFeature); -// } - - - @NonNull - protected LookupEnvironment executeVisitor(@NonNull Element element, - @NonNull LookupEnvironment env) { - return ClassUtil.nonNullState(element.accept(createLookupVisitor(env))); - } - - @NonNull - protected SingleResultEnvironment computeNamedResult(@NonNull Element element, - @NonNull SingleResultEnvironment env) { -// FIXME resolveDuplicates might not be needed -// SingleResultEnvironment env2= (SingleResultEnvironment) executeVisitor(element, env); -// return env2 instanceof SingleResultLookupEnvironment ? ((SingleResultLookupEnvironment)env2).resolveDuplicates() : env2; - return env; - } - -// @NonNull -// protected AutoIUnnamedLookupResult computeUnnamedResult(@NonNull Element element, -// @NonNull IAllResultsEnvironment env) { -// AutoIPivotLookupEnvironment env2 = executeVisitor(element, env, context); -// return ((IAllResultsEnvironment)env2).getResult(); -// } - - @NonNull - public SingleResultEnvironment computeReferredOperationLookup( - @NonNull OperationCallExp opCallExp) { - throw new IllegalArgumentException("No auto-generation implemented"); - } - - @NonNull - public SingleResultEnvironment computeReferredIterationLookup( - @NonNull IteratorExp iteratorExp) { - throw new IllegalArgumentException("No auto-generation implemented"); - } - - @NonNull - public SingleResultEnvironment computeReferredVariableLookup( - @NonNull VariableExp variableExp) { - throw new IllegalArgumentException("No auto-generation implemented"); - } -} diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/AllResultsEnvironment.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/AllResultsEnvironment.java deleted file mode 100644 index ab8a09e921..0000000000 --- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/AllResultsEnvironment.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014, 2015 Willink Transformations Ltd., University of York and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adolfo Sanchez-Barbudo Herrera (University of York) - initial API and implementation - *******************************************************************************/ -package org.eclipse.ocl.pivot.lookup; - -import java.util.List; -import java.util.Map; - -import org.eclipse.jdt.annotation.NonNull; -import org.eclipse.ocl.pivot.NamedElement; -import org.eclipse.ocl.pivot.internal.lookup.LookupEnvironment; - -/** - * @since 1.1 - * - */ -public interface AllResultsEnvironment extends LookupEnvironment { - - /** - * @return a named indexed map of all reachable named objects - */ - @NonNull - Map<String, List<? extends NamedElement>> getAllResults(); - -} diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/OperationFilter.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/OperationFilter.java deleted file mode 100644 index 6b189c9d31..0000000000 --- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/OperationFilter.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.eclipse.ocl.pivot.lookup; - -import java.util.List; - -import org.eclipse.jdt.annotation.NonNull; -import org.eclipse.ocl.pivot.NamedElement; -import org.eclipse.ocl.pivot.Operation; -import org.eclipse.ocl.pivot.Type; -import org.eclipse.ocl.pivot.internal.lookup.util.PivotLookupFilter; - -/** - * @since 1.1 - */ -public class OperationFilter implements PivotLookupFilter { - - -// private List<Type> args; - - public OperationFilter(List<Type> args) { -// this.args = args; - } - - @Override - public boolean matches(@NonNull NamedElement namedElement) { - return namedElement instanceof Operation ? matches(namedElement) : false; - } - -/* private boolean matches(Operation op) { - // OCL expression TO be generated - if (!(args.size() == op.getOwnedParameters().size())) { - return true; - } - boolean forAll = true; - for (Argument arg : args) { - Parameter param = op.getOwnedParameters().get(args.indexOf(arg)); - if (!param.getName().equals(arg.getName())) { - forAll = false; - break; - } - } - if (forAll) { - return true; - } - return false; - } */ - -} diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/PivotLookupVisitor.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/PivotLookupVisitor.java deleted file mode 100644 index 938d9edb01..0000000000 --- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/PivotLookupVisitor.java +++ /dev/null @@ -1,492 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014, 2015 Willink Transformations Ltd., University of York and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adolfo Sanchez-Barbudo Herrera (University of York) - initial API and implementation - *******************************************************************************/ -package org.eclipse.ocl.pivot.lookup; - -import org.eclipse.jdt.annotation.NonNull; -import org.eclipse.ocl.pivot.internal.lookup.LookupEnvironment; -import org.eclipse.ocl.pivot.util.PivotUnqualifiedLookupVisitor; -import org.eclipse.ocl.pivot.utilities.EnvironmentFactory; - -/** - * @since 1.1 - */ -public class PivotLookupVisitor extends PivotUnqualifiedLookupVisitor { - - protected final EnvironmentFactory envFactory; - - // FIXME remove this constructor when the manual visitor is not needed anymore - public PivotLookupVisitor(@NonNull EnvironmentFactory envFactory, @NonNull LookupEnvironment env) { - super(env); - this.envFactory = envFactory; - } - - public PivotLookupVisitor( @NonNull LookupEnvironment env) { - super(env); - envFactory = null; - } - -// @Override -// public @NonNull -// Environment visitOperation(@NonNull Operation object) { -// if (object.getOwnedParameter().contains(child)) { -// -// } -// else { -// addOperation0_ParameterElements(object); -// } -// addTypeTemplateParameterables(object); -// return lookupInParentIfEnvNoComplete(object); -// } -// -// @Override -// public @NonNull -// Environment visitClass(org.eclipse.ocl.pivot.@NonNull Class object) { -// -// assert !(object instanceof Metaclass<?>); -// if (object.getOwningTemplateParameter() != null) { -// org.eclipse.ocl.pivot.Class type = mmManager.getOclAnyType(); // WIP use lowerbound -// addClass1_OperationElements(type); -// addClass2_PropertyElements(type); -// addClass0_BehaviorElements(type); -// return context; -// } -// if (object.getTemplateBinding().size() == 0) { -// EObject scopeTarget = child; -// if (scopeTarget instanceof Pivotable) { -// Element pivot = ((Pivotable)scopeTarget).getPivot(); -// if (pivot == object) { // Inherited template parameters are invisible. -// context.addElements(PivotUtil.getTypeTemplateParameterables(object)); -// } -// } -// } -// addClass1_OperationElements(object); -// addClass2_PropertyElements(object); -// addClass0_BehaviorElements(object); -// return lookupInParentIfEnvNoComplete(object); -// } -// -// @Override -// public @NonNull -// Environment visitDataType(@NonNull DataType object) { -// context.addElements(PivotUtil.getTypeTemplateParameterables(object)); -// Type behavioralType = object.getBehavioralType(); -// if (behavioralType == null) { -// return visitClass(object); -// } else { -// if (! (behavioralType instanceof DataType)) { // FIXME -// Environment env = behavioralType.accept(this); -// assert(env != null); -// return env; -// } else { -// return lookupInParentIfEnvNoComplete(object); -// } -// } -// }; -// -// @Override -// public @NonNull -// Environment visitEnumeration(@NonNull Enumeration object) { -// addEnumeration3_EnumerationLiteralElements(object); -// addEnumeration2_PropertyElements(object); -// addEnumeration1_OperationElements(object); -// addEnumeration0_BehaviorElements(object); -// addTypeTemplateParameterables(object); -// return lookupInParentIfEnvNoComplete(object); -// } -// -// @Override -// public @NonNull -// Environment visitPackage(@NonNull Package object) { -// Set<Package> allPackages = new HashSet<Package>(); -// gatherAllPackages(mmManager, allPackages, object); -// for (@SuppressWarnings("null")@NonNull Package aPackage : allPackages) { -// addPackage0_TypeElements(aPackage); -// addPackage1_PackageElements(aPackage); -// } -// return lookupInParentIfEnvNoComplete(object); -// } -// -// private void gatherAllPackages(@NonNull MetaModelManager metaModelManager, @NonNull Set<org.eclipse.ocl.pivot.Package> allPackages, -// org.eclipse.ocl.pivot.@NonNull Package targetPackage) { -// org.eclipse.ocl.pivot.Package primaryPackage = metaModelManager.getPrimaryElement(targetPackage); -// if (allPackages.add(primaryPackage)) { -// for (@SuppressWarnings("null")@NonNull DomainPackage partialPackage : metaModelManager.getPartialPackages(primaryPackage, false)) { -// if (partialPackage instanceof org.eclipse.ocl.pivot.Package) { -// for (@SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Package importedPackage : ((org.eclipse.ocl.pivot.Package)partialPackage).getImportedPackage()) { -// gatherAllPackages(metaModelManager, allPackages, importedPackage); -// } -// } -// } -// } -// } -// -// @Override -// public @NonNull -// Environment visitUnspecifiedType(@NonNull UnspecifiedType object) { -// return lookupFromNewElement(object.getLowerBound()); -// } -// -// -// -// @Override -// public @NonNull -// Environment visitLibrary(@NonNull Library object) { -// addLibrary0_PrecedenceElements(object); -// Environment env = super.visitLibrary(object); -// assert(env != null); -// return env; -// } -// -// @Override -// public @NonNull -// Environment visitMetaclass(@NonNull Metaclass object) { -// addMetaclass0_NamedElementElements(object); -// addMetaclass1_NamedElementElements(object); -// return lookupInParentIfEnvNoComplete(object); -// } -// -// @Override -// public @NonNull -// Environment visitIterateExp(@NonNull IterateExp object) { -// -// if (child != null) { -// @NonNull Element child2 = child; -// if (child2.equals(object.getBody())) { -// OCLExpression source = object.getSource(); -// lookupFromNewElement(source.getType()); -// addIterateExp0_VariableElements(object); -// addIterateExp1_VariableElement(object); -// -// } -// else if (child2.equals(object.getResult())) { -// OCLExpression source = object.getSource(); -// addIterateExp2_VariableElements(object); -// lookupFromNewElement(source.getType()); -// } -// else if (object.getIterator().contains(child2)) { -// OCLExpression source = object.getSource(); -// lookupFromNewElement(source.getType()); -// int childIndex = object.getIterator().indexOf(child2); -// addIterateExp3_VariableElements(object, childIndex); -// } -// } -// -// return lookupInParentIfEnvNoComplete(object); -// } -// -// @Override -// public @NonNull -// Environment visitIteratorExp(@NonNull IteratorExp object) { -// -// if (child != null) { -// @NonNull Element child2 = child; -// if (child2.equals(object.getBody())) { -// OCLExpression source = object.getSource(); -// lookupFromNewElement(source.getType()); -// addIteratorExp0_VariableElements(object); -// } -// else if (object.getIterator().contains(child2)) { -// OCLExpression source = object.getSource(); -// lookupFromNewElement(source.getType()); -// -// int childIndex = object.getIterator().indexOf(child2); -// addIteratorExp1_VariableElements(object, childIndex); -// } -// } -// return lookupInParentIfEnvNoComplete(object); -// } -// -//// This is not used by test cases -//// @Override -//// public @NonNull -//// AutoIPivotLookupenv<C> visitLetExp(@NonNull LetExp object) { -//// EStructuralFeature containmentFeature = context.getToChildReference(); -//// if (containmentFeature == PivotPackage.Literals.LET_EXP__IN) { -//// env.addVariable(object); -//// } -//// return lookupInParentIfEnvNoComplete(); -//// } -// -// @Override -// public @NonNull -// Environment visitExpressionInOCL(@NonNull ExpressionInOCL object) { -// Variable contextVariable = object.getContextVariable(); -// if (contextVariable != null) { -// lookupFromNewElement(contextVariable.getType()); -// } -// addExpressionInOCL0_VariableElement(object); -// addExpressionInOCL1_VariableElement(object); -// return lookupInParentIfEnvNoComplete(object); -// }; -// -// -// /* TEMPORAL METHODS TO VERIFY CORRECT LOOKUPO VISITOR. THIS WILL BE REMOVED*/ -// -// public void addOperation0_ParameterElements(@NonNull Operation object) { -// addOwnedParameter(object); -// } -// -// // FIXME remove when Auto-generation is finished -// private void addOwnedParameter(@NonNull Operation object) { -// context.addElements(object.getOwnedParameter()); -// } -// -// public void addTypeTemplateParameterables(@NonNull TemplateableElement object) { -// context.addElements(PivotUtil.getTypeTemplateParameterables(object)); -// } -// -// public void addEnumeration3_EnumerationLiteralElements( -// @NonNull Enumeration object) { -// addOwnedLiteral(object); -// } -// -// // FIXME remove when Auto-generation is finished -// private void addOwnedLiteral(@NonNull Enumeration object) { -// context.addElements(object.getOwnedLiteral()); -// } -// -// public void addClass1_OperationElements( -// org.eclipse.ocl.pivot.@NonNull Class object) { -// addOwnedOperation(object, FeatureFilter.SELECT_NON_STATIC); -// } -// -// public void addMetaclass0_NamedElementElements(@NonNull Metaclass object) { -// Type instanceType = object.getInstanceType(); -// if (instanceType != null) { -// addOwnedOperation(instanceType, null); -// } -// } -// -// public void addEnumeration1_OperationElements(@NonNull Enumeration object) { -// addOwnedOperation(object, FeatureFilter.SELECT_NON_STATIC); -// } -// -// // FIXME remove when Auto-generation is finished -// private void addOwnedOperation(@NonNull Type type, @Nullable FeatureFilter featureFilter) { -// assert mmManager.isTypeServeable(type); -// type = PivotUtil.getUnspecializedTemplateableElement(type); -// TypeServer typeServer = mmManager.getTypeServer(type); -// addElements(typeServer.getAllOperations(featureFilter, getName())); -// //: typeServer.getAllOperations(featureFilter)); -// } -// -// public void addClass2_PropertyElements( -// org.eclipse.ocl.pivot.@NonNull Class object) { -// addOwnedProperty(object, FeatureFilter.SELECT_NON_STATIC); -// } -// -// public void addMetaclass1_NamedElementElements(@NonNull Metaclass object) { -// Type instanceType = object.getInstanceType(); -// if (instanceType != null) { -// addOwnedProperty(object, null); -// } -// } -// -// public void addEnumeration2_PropertyElements(@NonNull Enumeration object) { -// addOwnedProperty(object, FeatureFilter.SELECT_NON_STATIC); -// } -// -// // FIXME remove when Auto-generation is finished -// private void addOwnedProperty(@NonNull Type type, @Nullable FeatureFilter featureFilter) { -// assert mmManager.isTypeServeable(type); -// TypeServer typeServer = mmManager.getTypeServer(type); -// addElements(typeServer.getAllProperties(featureFilter, getName())); -// // : typeServer.getAllProperties(featureFilter)); -// } -// -// public void addClass0_BehaviorElements( -// org.eclipse.ocl.pivot.@NonNull Class object) { -// addOwnedBehavior(object); -// } -// -// public void addEnumeration0_BehaviorElements(@NonNull Enumeration object) { -// addOwnedBehavior(object); -// } -// -// // FIXME remove when Auto-generation is finished -// private void addOwnedBehavior(org.eclipse.ocl.pivot.@NonNull Class aClass) { -// assert mmManager.isTypeServeable(aClass); -// TypeServer typeServer = mmManager.getTypeServer(aClass); -// addElements(typeServer.getAllStates(getName())); -// //: typeServer.getAllStates()); -// } -// -// public void addPackage1_PackageElements(@NonNull Package object) { -// addNestedPackage(object); -// } -// -// // FIXME remove when Auto-generation is finished -// private void addNestedPackage(@NonNull Package pkge) { -// PackageServer parentPackageServer = mmManager.getPackageServer(pkge); -// PackageServer packageServer = parentPackageServer.getMemberPackage(getName()); -// if (packageServer != null) { -// context.addElement(packageServer); -// } -// } -// -// public void addPackage0_TypeElements(@NonNull Package object) { -// addOwnedType(object); -// } -// -// // FIXME remove when Auto-generation is finished -// private void addOwnedType(@NonNull Package pkge) { -// PackageServer packageServer = mmManager.getPackageServer(pkge); -// Type type = packageServer.getMemberType(getName()); -// if (type != null) { -// context.addElement(type); -// } -// } -// -// public void addRoot0_PackageElements(@NonNull Root object) { -// addNestedPackage(object); -// -// } -// -// // FIXME remove when Auto-generation is finished -// private void addNestedPackage(@NonNull Root root) { -// addElements(root.getNestedPackage()); -// -// } -// -// public void addRoot1_ImportElements(@NonNull Root object) { -// addRootPackages(); -// } -// -// // FIXME remove when Auto-generation is finished -// private void addRootPackages() { -// PackageManager packageManager = mmManager.getPackageManager(); -// context.addElement(packageManager.getMemberPackage(getName())); -// context.addElement(packageManager.getPackageByURI(getName())); -// } -// -// public void addLibrary0_PrecedenceElements(@NonNull Library object) { -// addOwnedPrecedence(object); -// } -// -// // FIXME remove when Auto-generation is finished -// private void addOwnedPrecedence(@NonNull Library library) { -// addElements(library.getOwnedPrecedence()); -// } -// -// public void addLibrary1_TypeElements(@NonNull Library object) { -// addOwnedType(object); -// } -// -// public void addLibrary2_PackageElements(@NonNull Library object) { -// addNestedPackage(object); -// } -// -// public void addIterateExp0_VariableElements(@NonNull IterateExp object) { -// addIterator(object); -// } -// -// public void addIterateExp2_VariableElements(@NonNull IterateExp object) { -// addIterator(object); -// } -// -// public void addIteratorExp0_VariableElements(@NonNull IteratorExp object) { -// addIterator(object); -// } -// -// // FIXME remove when Auto-generation is finished -// private void addIterator(@NonNull LoopExp aLoopExp) { -// addElements(aLoopExp.getIterator()); -// } -// -// public void addIterateExp3_VariableElements(@NonNull IterateExp object, -// int childIndex) { -// addIterator(object, childIndex); -// } -// -// public void addIteratorExp1_VariableElements(@NonNull IteratorExp object, -// int childIndex) { -// addIterator(object, childIndex); -// } -// -// // FIXME remove when Auto-generation is finished -// private void addIterator(@NonNull LoopExp aLoopExp, int index) { -// -// // self.iterator->select(x| self.iterator->indexOf(x) < index) -// for (int i = 0; i <= index -1; i++) { -// context.addElement(aLoopExp.getIterator().get(i)); -// } -// } -// -// public void addIterateExp1_VariableElement(@NonNull IterateExp object) { -// addResult(object); -// } -// -// // FIXME remove when Auto-generation is finished -// private void addResult(@NonNull IterateExp iterateExp) { -// context.addElement(iterateExp.getResult()); -// } -// -// public void addLetExp0_VariableElement(@NonNull LetExp object) { -// addVariable(object); -// } -// -// private void addVariable(@NonNull LetExp letExp) { -// context.addElement(letExp.getVariable()); -// } -// -// public void addExpressionInOCL0_VariableElement( -// @NonNull ExpressionInOCL object) { -// addContextVariable(object); -// } -// -// // FIXME remove when Auto-generation is finished -// private void addContextVariable(@NonNull ExpressionInOCL expressionInOCL) { -// context.addElement(expressionInOCL.getContextVariable()); -// } -// -// public void addExpressionInOCL1_VariableElement( -// @NonNull ExpressionInOCL object) { -// addResultVariable(object); -// -// } -// -// // FIXME remove when Auto-generation is finished -// private void addResultVariable(@NonNull ExpressionInOCL expressionInOCL) { -// context.addElement(expressionInOCL.getResultVariable()); -// } -// -// -// -// private String getName() { -// return ((SingleResultEnvironment)context).getName(); -// } -// -// protected void addElements(@Nullable Iterable<? extends DomainNamedElement> elements) { -// if (elements != null) { -// for (DomainNamedElement element : elements) { -// context.addElement(element); -// } -// } -// } -// -// @NonNull -// protected Environment lookupInParentIfEnvNoComplete(@NonNull Element object) { -// if (context.hasFinalResult()) { -// return context; -// } else { -// Environment env = this.parentEnv(object); -// assert(env != null); -// return env; -// } -// } -// -// @NonNull -// protected Environment lookupFromNewElement(Element object) { -// Environment env = object.accept(this); -// assert(env != null); -// return env; -// } -} diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/PivotNameResolver.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/PivotNameResolver.java deleted file mode 100644 index 3f2cd9c097..0000000000 --- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/PivotNameResolver.java +++ /dev/null @@ -1,95 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014, 2015 Willink Transformations Ltd., University of York and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adolfo Sanchez-Barbudo Herrera (University of York) - initial API and implementation - *******************************************************************************/ -package org.eclipse.ocl.pivot.lookup;/******************************************************************************* - - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adolfo Sanchez-Barbudo Herrera (University of York) - initial API and implementation - *******************************************************************************/ - - -import org.eclipse.jdt.annotation.NonNull; -import org.eclipse.ocl.pivot.CollectionType; -import org.eclipse.ocl.pivot.IteratorExp; -import org.eclipse.ocl.pivot.OperationCallExp; -import org.eclipse.ocl.pivot.Type; -import org.eclipse.ocl.pivot.VariableExp; -import org.eclipse.ocl.pivot.internal.lookup.LookupEnvironment; -import org.eclipse.ocl.pivot.internal.utilities.PivotUtilInternal; -import org.eclipse.ocl.pivot.util.PivotUnqualifiedLookupVisitor; -import org.eclipse.ocl.pivot.utilities.EnvironmentFactory; - - -/** - * @since 1.1 - */ -public class PivotNameResolver extends AbstractPivotNameResolver { - - - public PivotNameResolver(@NonNull EnvironmentFactory mmManager) { - super(mmManager); - } - - @Override - protected @NonNull - PivotUnqualifiedLookupVisitor createLookupVisitor(@NonNull LookupEnvironment env) { - return new PivotLookupVisitor(envFactory, env); - }; - - @Override - public @NonNull - SingleResultEnvironment computeReferredOperationLookup(@NonNull OperationCallExp opCallExp) { - //@SuppressWarnings("null") @NonNull EReference eReference = PivotPackage.Literals.OPERATION_CALL_EXP__REFERRED_OPERATION; - String name = opCallExp.getName(); - Type sourceType = PivotUtilInternal.getType(opCallExp.getOwnedSource()); - - if (name == null // FIXME adolfosbh can we assume well-formedness of the opCallExp ? - || sourceType == null ) { - return createLookupEnvironment(envFactory, opCallExp, "") ; // Empty result - } - SingleResultLookupEnvironment env = createLookupEnvironment(envFactory, opCallExp, name); - // env.addFilter(filter); - return computeNamedResult(sourceType, env); - } - - @Override - public @NonNull - SingleResultEnvironment computeReferredIterationLookup(@NonNull IteratorExp iteratorExp) { - //@SuppressWarnings("null") @NonNull EReference eReference = PivotPackage.Literals.LOOP_EXP__REFERRED_ITERATION;; - String name = iteratorExp.getName(); - Type sourceType = PivotUtilInternal.getType(iteratorExp.getOwnedSource()); - if (name == null // FIXME adolfosbh can we assume well-formedness of the iteratorExp ? - || !(sourceType instanceof CollectionType)) { - return createLookupEnvironment(envFactory, iteratorExp, "") ; // Empty result - } - SingleResultLookupEnvironment env = createLookupEnvironment(envFactory, iteratorExp, name); - // env.addFilter(filter); - return computeNamedResult(sourceType, env); - } - - @Override - - public @NonNull - SingleResultEnvironment computeReferredVariableLookup( - @NonNull VariableExp variableExp) { - String name = variableExp.getName(); - if (name == null) { // FIXME adolfosbh can we assume well-formedness of the expression ? - return createLookupEnvironment(envFactory, variableExp, "") ; // Empty result - } - SingleResultLookupEnvironment env = createLookupEnvironment(envFactory, variableExp, name); - return computeNamedResult(variableExp, env); - } - -} diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/SingleResultEnvironment.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/SingleResultEnvironment.java deleted file mode 100644 index e5feb5e11d..0000000000 --- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/SingleResultEnvironment.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014, 2015 Willink Transformations Ltd., University of York and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adolfo Sanchez-Barbudo Herrera (University of York) - initial API and implementation - *******************************************************************************/ -package org.eclipse.ocl.pivot.lookup; - -import java.util.List; - -import org.eclipse.jdt.annotation.NonNull; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.ocl.pivot.NamedElement; -import org.eclipse.ocl.pivot.internal.lookup.LookupEnvironment; - - -/** - * @since 1.1 - */ -public interface SingleResultEnvironment extends LookupEnvironment { - - /** - * @return the matched result (or the first ambiguous one), otherwise <code>null</code> - */ - @Nullable - NamedElement getSingleResult(); - - /** - * @return a list with all matched (ambiguous) results. If no results are found, it will return an empty list - */ - @NonNull - List<NamedElement> getAllResults(); // FIXME, if no case of heterogeneous results is needed, change to List<? extends DomainNamedElement> -} diff --git a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/SingleResultLookupEnvironment.java b/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/SingleResultLookupEnvironment.java deleted file mode 100644 index aad892589a..0000000000 --- a/plugins/org.eclipse.ocl.pivot/src/org/eclipse/ocl/pivot/lookup/SingleResultLookupEnvironment.java +++ /dev/null @@ -1,335 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014, 2015 Willink Transformations Ltd., University of York and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Adolfo Sanchez-Barbudo Herrera (University of York) - initial API and implementation - *******************************************************************************/ -package org.eclipse.ocl.pivot.lookup; - -import java.util.Collection; -import java.util.List; - -import org.apache.log4j.Logger; -import org.eclipse.jdt.annotation.NonNull; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.ocl.pivot.NamedElement; -import org.eclipse.ocl.pivot.evaluation.Executor; -import org.eclipse.ocl.pivot.internal.lookup.LookupEnvironment; -import org.eclipse.ocl.pivot.internal.lookup.impl.LookupEnvironmentImpl; - - -/** - * @since 1.1 - */ -public class SingleResultLookupEnvironment extends LookupEnvironmentImpl implements SingleResultEnvironment { - - - private static final Logger logger = Logger.getLogger(SingleResultLookupEnvironment.class); - private @NonNull String name; - private @NonNull Executor executor; - - - public SingleResultLookupEnvironment(@NonNull Executor executor, @NonNull String name) { - this.executor = executor; - this.name = name; - //this.envFactory = executor.getEnvironmentFactory(); - } - - public SingleResultLookupEnvironment(@NonNull Executor executor, @NonNull String name, Boolean isLocal) { - this(executor, name); - } - - @Override - @NonNull - public LookupEnvironment addElement(@Nullable NamedElement namedElement) { - if (namedElement != null) { - if (name.equals(namedElement.getName())) { - List<NamedElement> elements = getNamedElements(); - if (!elements.contains(namedElement)) { - elements.add(namedElement); - } - } - } - return this; - } - - - @Override - @NonNull - public <NE extends NamedElement> LookupEnvironment addElements( - @Nullable Collection<NE> elements) { - - if (elements != null) { - for (NamedElement namedElement : elements) { - addElement(namedElement); - } - } - return this; - } - - - @Override - @Nullable - public NamedElement getSingleResult() { - List<NamedElement> elements = getNamedElements(); - int contentsSize = elements.size(); - if (contentsSize > 1) { - logger.warn("Unhandled ambiguous content for '" + name + "'"); - } - return contentsSize == 0 ? null : elements.get(0); - } - - @SuppressWarnings("null") - @Override - @NonNull - public List<NamedElement> getAllResults() { - return getNamedElements(); - } - - - @Override - public boolean hasFinalResult() { - // Not thing found is not a final result - return getNamedElements().size() == 0 ? false : true; - } - - @Override - @NonNull - public Executor getExecutor() { - return executor; - } - -/* - // - // ADDITIONAL STUFF TO INTEGRATE WITH - // - - public static abstract class Disambiguator<T> implements Comparator<T> - { - @Override - public int compare(T o1, T o2) { - throw new UnsupportedOperationException(); - } - - public abstract int compare(@NonNull EnvironmentFactory environmentFactory, @NonNull T o1, @NonNull T o2); - } - - private static final class ImplicitDisambiguator extends Disambiguator<Object> - { - @Override - public int compare(@NonNull EnvironmentFactory environmentFactory, @NonNull Object match1, @NonNull Object match2) { - boolean match1IsImplicit = (match1 instanceof Property) && ((Property)match1).isIsImplicit(); - boolean match2IsImplicit = (match2 instanceof Property) && ((Property)match2).isIsImplicit(); - if (!match1IsImplicit) { - return match2IsImplicit ? 1 : 0; // match2 inferior - } - else { - return match2IsImplicit ? 0 : -1; // match1 inferior - } - } - } - - private static final class MetamodelMergeDisambiguator extends Disambiguator<Feature> - { - @Override - public int compare(@NonNull EnvironmentFactory environmentFactory, @NonNull Feature match1, @NonNull Feature match2) { - org.eclipse.ocl.pivot.Package p1 = PivotUtil.getContainingPackage(match1); - org.eclipse.ocl.pivot.Package p2 = PivotUtil.getContainingPackage(match2); - if (p1 == null) { - return 0; - } - if (p2 == null) { - return 0; - } - CompleteModel completeModel = environmentFactory.getCompleteModel(); - CompletePackage s1 = completeModel.getCompletePackage(p1); - CompletePackage s2 = completeModel.getCompletePackage(p2); - if (s1 != s2) { - return 0; - } - int i1 = s1.getIndex(p1); - int i2 = s2.getIndex(p2); - return i2 - i1; - } - } - - private static final class OperationDisambiguator extends Disambiguator<Operation> - { - @Override - public int compare(@NonNull EnvironmentFactory environmentFactory, @NonNull Operation match1, @NonNull Operation match2) { - if (isRedefinitionOf(match1, match2)) { - return 1; // match2 inferior - } - if (isRedefinitionOf(match2, match1)) { - return -1; // match1 inferior - } - return 0; - } - - protected boolean isRedefinitionOf(@NonNull Operation operation1, @NonNull Operation operation2) { - List<Operation> redefinedOperations = operation1.getRedefinedOperations(); - for (Operation redefinedOperation : redefinedOperations) { - if (redefinedOperation != null) { - if (redefinedOperation == operation2) { - return true; - } - if (isRedefinitionOf(redefinedOperation, operation2)) { - return true; - } - } - } - return false; - } - } - - private static final class MergedPackageDisambiguator extends Disambiguator<org.eclipse.ocl.pivot.Package> - { - @Override - public int compare(@NonNull EnvironmentFactory environmentFactory, org.eclipse.ocl.pivot.@NonNull Package match1, org.eclipse.ocl.pivot.@NonNull Package match2) { - CompleteModel completeModel = environmentFactory.getCompleteModel(); - CompletePackage completePackage1 = completeModel.getCompletePackage(match1); - CompletePackage completePackage2 = completeModel.getCompletePackage(match2); - if (completePackage1 == completePackage2) { - return 1; // match2 inferior - } - return 0; - } - } - - private static final class PropertyDisambiguator extends Disambiguator<Property> - { - @Override - public int compare(@NonNull EnvironmentFactory environmentFactory, @NonNull Property match1, @NonNull Property match2) { - if (isRedefinitionOf(match1, match2)) { - return 1; // match2 inferior - } - if (isRedefinitionOf(match2, match1)) { - return -1; // match1 inferior - } - return 0; - } - - protected boolean isRedefinitionOf(@NonNull Property property1, @NonNull Property property2) { - List<Property> redefinedProperties = property1.getRedefinedProperties(); - for (Property redefinedProperty : redefinedProperties) { - if (redefinedProperty != null) { - if (redefinedProperty == property2) { - return true; - } - if (isRedefinitionOf(redefinedProperty, property2)) { - return true; - } - } - } - return false; - } - } - - private static @NonNull LinkedHashMap<Class<?>, List<Comparator<Object>>> disambiguatorMap = // FIXME narrow API to Disambiguator - new LinkedHashMap<Class<?>, List<Comparator<Object>>>(); - - static { - addDisambiguator(Object.class, new ImplicitDisambiguator()); - addDisambiguator(Feature.class, new MetamodelMergeDisambiguator()); - addDisambiguator(Operation.class, new OperationDisambiguator()); - addDisambiguator(org.eclipse.ocl.pivot.Package.class, new MergedPackageDisambiguator()); - addDisambiguator(Property.class, new PropertyDisambiguator()); - } - - public static synchronized <T> void addDisambiguator(@NonNull Class<T> targetClass, @NonNull Comparator<T> disambiguator) { - List<Comparator<Object>> disambiguators = disambiguatorMap.get(targetClass); - if (disambiguators == null) { - disambiguators = new ArrayList<Comparator<Object>>(); - disambiguatorMap.put(targetClass, disambiguators); - } - @SuppressWarnings("unchecked") - Comparator<Object> castDisambiguator = (Comparator<Object>) disambiguator; - disambiguators.add(castDisambiguator); - } - - @SuppressWarnings("null") - public static @NonNull Iterable<Class<?>> getDisambiguatorKeys() { - return disambiguatorMap.keySet(); - } - - public static @Nullable List<Comparator<Object>> getDisambiguators(@NonNull Class<?> key) { - return disambiguatorMap.get(key); - } - - - protected final @NonNull EnvironmentFactory envFactory; - private List<ScopeFilter> matchers = null; // Prevailing filters for matching - private Set<ScopeFilter> resolvers = null; // Successful filters for resolving - - public void addFilter(@NonNull ScopeFilter filter) { - if (matchers == null) { - matchers = new ArrayList<ScopeFilter>(); - } - matchers.add(filter); - } - - public void removeFilter(@NonNull ScopeFilter filter) { - if (matchers != null) { - matchers.remove(filter); - } - } - - @NonNull - public SingleResultLookupEnvironment resolveDuplicates() { - if (elements.size() > 1) { - // FIXME this WAS done while "adding" elements. Adding here where they are supposed - // to be used. Talk with ED about this. - if (matchers != null) { - if (resolvers == null) { - resolvers = new HashSet<ScopeFilter>(); - } - resolvers.addAll(matchers); - } - for (int i = 0; i < elements.size()-1;) { - boolean iRemoved = false; - @SuppressWarnings("null") @NonNull Object iValue = elements.get(i); - for (int j = i + 1; j < elements.size();) { - Class<?> iClass = iValue.getClass(); - @SuppressWarnings("null") @NonNull Object jValue = elements.get(j); - Class<?> jClass = jValue.getClass(); - int verdict = 0; - for (Class<?> key : disambiguatorMap.keySet()) { - if (key.isAssignableFrom(iClass) && key.isAssignableFrom(jClass)) { - for (Comparator<Object> comparator : disambiguatorMap.get(key)) { - if (comparator instanceof Disambiguator<?>) { - verdict = ((Disambiguator<Object>)comparator).compare(envFactory, iValue, jValue); - } else { - verdict = comparator.compare(iValue, jValue); - } - if (verdict != 0) { - break; - } - } - if (verdict != 0) { - break; - } - } - } - if (verdict == 0) { - j++; - } else if (verdict < 0) { - elements.remove(i); - iRemoved = true; - break; - } else { - elements.remove(j); - } - } - if (!iRemoved) { - i++; - } - } - } - return this; - } -*/ -} |