Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2017-02-02 15:03:42 +0000
committerEd Willink2017-02-02 15:03:42 +0000
commita86d53d1e1158c07cd2c8b0140b2d99ee46d35f2 (patch)
treeeebad2745c766625bd882cde4dac717ceb541719
parent9e13de1933259fcb7e34ed13ec3e42e1fb7579ad (diff)
downloadorg.eclipse.qvtd-a86d53d1e1158c07cd2c8b0140b2d99ee46d35f2.tar.gz
org.eclipse.qvtd-a86d53d1e1158c07cd2c8b0140b2d99ee46d35f2.tar.xz
org.eclipse.qvtd-a86d53d1e1158c07cd2c8b0140b2d99ee46d35f2.zip
[511536] Rationalize some QVTbaseUtil basicGet methods
-rw-r--r--plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiAS2CGVisitor.java8
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtp2qvts/ExpressionAnalyzer.java8
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtp2qvts/analysis/OperationDependencyAnalysis.java9
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/VariablesAnalysis.java4
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvts2qvti/BasicRegion2Mapping.java10
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvts2qvti/QVTs2QVTiVisitor.java2
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtu2qvtm/QVTu2QVTm.java3
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/attributes/TypedModelAttribution.java6
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseUtil.java73
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/analysis/AbstractDomainUsageAnalysis.java2
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/BottomPatternAttribution.java10
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/GuardPatternAttribution.java2
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/utilities/QVTcoreAS2XMIidVisitor.java8
-rw-r--r--plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationUtil.java9
-rw-r--r--plugins/org.eclipse.qvtd.umlx/src/org/eclipse/qvtd/umlx/utilities/UMLXServices.java4
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2as/QVTcoreCSContainmentVisitor.java2
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2as/QVTcoreCSLeft2RightVisitor.java7
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/as2cs/QVTimperativeDeclarationVisitor.java2
-rw-r--r--plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/cs2as/QVTimperativeCSLeft2RightVisitor.java4
19 files changed, 94 insertions, 79 deletions
diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiAS2CGVisitor.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiAS2CGVisitor.java
index 18357a64c..a30e5d948 100644
--- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiAS2CGVisitor.java
+++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/analyzer/QVTiAS2CGVisitor.java
@@ -487,11 +487,9 @@ public class QVTiAS2CGVisitor extends AS2CGVisitor implements QVTimperativeVisit
if (pOperation instanceof Function) {
if (cgSource == null) { // FIXME workaround for BUG 481664
Transformation asTransformation = QVTbaseUtil.getContainingTransformation(asOperationCallExp);
- if (asTransformation != null) {
- VariableDeclaration asThis = QVTbaseUtil.getContextVariable(standardLibrary, asTransformation);
- VariableExp asThisExp = PivotUtil.createVariableExp(asThis);
- cgSource = doVisit(CGValuedElement.class, asThisExp);
- }
+ VariableDeclaration asThis = QVTbaseUtil.getContextVariable(standardLibrary, asTransformation);
+ VariableExp asThisExp = PivotUtil.createVariableExp(asThis);
+ cgSource = doVisit(CGValuedElement.class, asThisExp);
}
CGFunctionCallExp cgFunctionCallExp = QVTiCGModelFactory.eINSTANCE.createCGFunctionCallExp();
cgFunctionCallExp.setReferredOperation(pOperation);
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtp2qvts/ExpressionAnalyzer.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtp2qvts/ExpressionAnalyzer.java
index 693154d27..4b8be33f7 100644
--- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtp2qvts/ExpressionAnalyzer.java
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtp2qvts/ExpressionAnalyzer.java
@@ -783,11 +783,9 @@ public class ExpressionAnalyzer extends AbstractExtendingQVTcoreVisitor<@NonNull
OCLExpression ownedSource = operationCallExp.getOwnedSource();
if (ownedSource instanceof VariableExp) {
Transformation transformation = QVTbaseUtil.getContainingTransformation(operationCallExp);
- if (transformation != null) {
- Variable thisVariable = QVTbaseUtil.getContextVariable(scheduler.getStandardLibrary(), transformation);
- if (((VariableExp)ownedSource).getReferredVariable() == thisVariable) {
- ownedSource = null;
- }
+ Variable thisVariable = QVTbaseUtil.getContextVariable(scheduler.getStandardLibrary(), transformation);
+ if (((VariableExp)ownedSource).getReferredVariable() == thisVariable) {
+ ownedSource = null;
}
}
String operationName = ClassUtil.nonNullState(referredOperation.getName());
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtp2qvts/analysis/OperationDependencyAnalysis.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtp2qvts/analysis/OperationDependencyAnalysis.java
index a3a8500c6..0e386ce48 100644
--- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtp2qvts/analysis/OperationDependencyAnalysis.java
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtp2qvts/analysis/OperationDependencyAnalysis.java
@@ -1305,10 +1305,8 @@ public class OperationDependencyAnalysis
if (operation instanceof Function) {
Function function = (Function)operation;
Transformation transformation = QVTbaseUtil.getContainingTransformation(function);
- if (transformation != null) {
- Variable thisVariable = QVTbaseUtil.getContextVariable(operationDependencyAnalysis.metamodelManager.getStandardLibrary(), transformation);
- visitor.addVariable(thisVariable, ClassUtil.nonNullState(sourceAndArgumentPaths.get(0)));
- }
+ Variable thisVariable = QVTbaseUtil.getContextVariable(operationDependencyAnalysis.metamodelManager.getStandardLibrary(), transformation);
+ visitor.addVariable(thisVariable, ClassUtil.nonNullState(sourceAndArgumentPaths.get(0)));
ownedParameters = function.getOwnedParameters();
ownedBody = function.getQueryExpression();
}
@@ -1560,9 +1558,6 @@ public class OperationDependencyAnalysis
protected @NonNull NavigationDependencyStep createPropertyDependencyStep(@NonNull Property containmentProperty, @NonNull OperationCallExp oclContainerCallExp) {
DomainUsage usage = getUsage(containmentProperty);
- if (usage == null) {
- usage = getUsage(containmentProperty);
- }
DependencyStepFactory factory = getDependencyStepFactory(usage);
return factory.createPropertyDependencyStep(containmentProperty, oclContainerCallExp);
}
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/VariablesAnalysis.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/VariablesAnalysis.java
index f48d59d85..392948de7 100644
--- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/VariablesAnalysis.java
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/VariablesAnalysis.java
@@ -230,7 +230,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
//
this.cMiddleRealizedVariable = addCoreRealizedVariable("trace", traceClass);
- this.rThisVariable = QVTbaseUtil.getContextVariable(environmentFactory.getStandardLibrary(), ClassUtil.nonNullState(QVTbaseUtil.getContainingTransformation(rEnforcedDomain)));
+ this.rThisVariable = QVTbaseUtil.getContextVariable(environmentFactory.getStandardLibrary(), QVTbaseUtil.getContainingTransformation(rEnforcedDomain));
this.cThisVariable = QVTbaseUtil.getContextVariable(environmentFactory.getStandardLibrary(), cTransformation);
ThisVariableAnalysis thisVariableAnalysis = new ThisVariableAnalysis(this, rThisVariable, cThisVariable);
addVariableAnalysis(thisVariableAnalysis);
@@ -452,7 +452,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
protected @NonNull VariableAnalysis getVariableAnalysis(@NonNull Variable relationVariable) {
VariableAnalysis analysis = rVariable2analysis.get(relationVariable);
if (analysis == null) {
- assert QVTbaseUtil.getContainingTransformation(relationVariable) instanceof RelationalTransformation;
+ assert QVTbaseUtil.basicGetContainingTransformation(relationVariable) instanceof RelationalTransformation;
analysis = new RelationVariableAnalysis(this, relationVariable);
rVariable2analysis.put(relationVariable, analysis);
}
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvts2qvti/BasicRegion2Mapping.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvts2qvti/BasicRegion2Mapping.java
index 8d23031a3..5cebc792d 100644
--- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvts2qvti/BasicRegion2Mapping.java
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvts2qvti/BasicRegion2Mapping.java
@@ -555,12 +555,10 @@ public class BasicRegion2Mapping extends AbstractRegion2Mapping
SchedulerConstants scheduler = getRegion().getMultiRegion().getSchedulerConstants();
StandardLibrary standardLibrary = scheduler.getStandardLibrary();
Transformation pTransformation = QVTbaseUtil.getContainingTransformation(pVariableExp);
- if (pTransformation != null) {
- Variable pThisVariable = QVTbaseUtil.getContextVariable(standardLibrary, pTransformation);
- if (pVariableExp.getReferredVariable() == pThisVariable) {
- VariableDeclaration iThisVariable = QVTbaseUtil.getContextVariable(standardLibrary, visitor.getTransformation());
- return PivotUtil.createVariableExp(iThisVariable);
- }
+ Variable pThisVariable = QVTbaseUtil.getContextVariable(standardLibrary, pTransformation);
+ if (pVariableExp.getReferredVariable() == pThisVariable) {
+ VariableDeclaration iThisVariable = QVTbaseUtil.getContextVariable(standardLibrary, visitor.getTransformation());
+ return PivotUtil.createVariableExp(iThisVariable);
}
}
if (node != null) {
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvts2qvti/QVTs2QVTiVisitor.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvts2qvti/QVTs2QVTiVisitor.java
index 046c17f39..e73eb516b 100644
--- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvts2qvti/QVTs2QVTiVisitor.java
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvts2qvti/QVTs2QVTiVisitor.java
@@ -156,7 +156,7 @@ public class QVTs2QVTiVisitor extends QVTimperativeHelper implements Visitor<Ele
}
Operation iOperation = qvtpOperation2qvtiOperation.get(pOperation);
if (iOperation == null) {
- Transformation containingTransformation = QVTbaseUtil.getContainingTransformation(pOperation);
+ Transformation containingTransformation = QVTbaseUtil.basicGetContainingTransformation(pOperation);
if (containingTransformation == qvtpTransformation) {
iOperation = EcoreUtil.copy(pOperation);
assert iOperation != null;
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtu2qvtm/QVTu2QVTm.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtu2qvtm/QVTu2QVTm.java
index 7b05993f1..60203bd6e 100644
--- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtu2qvtm/QVTu2QVTm.java
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtu2qvtm/QVTu2QVTm.java
@@ -607,8 +607,7 @@ public class QVTu2QVTm extends AbstractQVTc2QVTc
mMapping.setName(name);
super.synthesize(mMapping);
Transformation uTransformation = QVTbaseUtil.getContainingTransformation(uMapping);
- assert uTransformation != null;
- for (@NonNull TypedModel uTypedModel : ClassUtil.nullFree(uTransformation.getModelParameter())) {
+ for (@NonNull TypedModel uTypedModel : QVTbaseUtil.getModelParameters(uTransformation)) {
MergedDomain mergedDomain = uTypedModel2mergedDomain.get(uTypedModel);
if (mergedDomain != null) {
CoreDomain mDomain = mergedDomain.synthesize();
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/attributes/TypedModelAttribution.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/attributes/TypedModelAttribution.java
index be6670fb1..c8d6a2d95 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/attributes/TypedModelAttribution.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/attributes/TypedModelAttribution.java
@@ -28,10 +28,8 @@ public class TypedModelAttribution extends AbstractAttribution
public ScopeView computeLookup(@NonNull EObject target, @NonNull EnvironmentView environmentView, @NonNull ScopeView scopeView) {
TypedModel typedModel = (TypedModel)target;
BaseModel model = QVTbaseUtil.getContainingModel(typedModel);
- if (model != null) {
- for (Import _import : model.getOwnedImports()) {
- environmentView.addElement(_import.getName(), _import.getImportedNamespace());
- }
+ for (Import _import : model.getOwnedImports()) {
+ environmentView.addElement(_import.getName(), _import.getImportedNamespace());
}
return scopeView.getParent();
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseUtil.java b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseUtil.java
index 24072a3ac..1085af3b5 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseUtil.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtbase/src/org/eclipse/qvtd/pivot/qvtbase/utilities/QVTbaseUtil.java
@@ -25,9 +25,6 @@ import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
-import org.eclipse.ocl.pivot.Comment;
-import org.eclipse.ocl.pivot.Element;
-import org.eclipse.ocl.pivot.Import;
import org.eclipse.ocl.pivot.Model;
import org.eclipse.ocl.pivot.OCLExpression;
import org.eclipse.ocl.pivot.Operation;
@@ -86,6 +83,42 @@ public class QVTbaseUtil extends PivotUtil
}
}
+ public static @Nullable Domain basicGetContainingDomain(@Nullable EObject eObject) {
+ for ( ; eObject != null; eObject = eObject.eContainer()) {
+ if (eObject instanceof Domain) {
+ return (Domain) eObject;
+ }
+ }
+ return null;
+ }
+
+ public static @Nullable BaseModel basicGetContainingModel(@Nullable EObject eObject) {
+ for ( ; eObject != null; eObject = eObject.eContainer()) {
+ if (eObject instanceof BaseModel) {
+ return (BaseModel) eObject;
+ }
+ }
+ return null;
+ }
+
+ public static @Nullable Rule basicGetContainingRule(@Nullable EObject eObject) {
+ for ( ; eObject != null; eObject = eObject.eContainer()) {
+ if (eObject instanceof Rule) {
+ return (Rule) eObject;
+ }
+ }
+ return null;
+ }
+
+ public static @Nullable Transformation basicGetContainingTransformation(@Nullable EObject eObject) {
+ for ( ; eObject != null; eObject = eObject.eContainer()) {
+ if (eObject instanceof Transformation) {
+ return (Transformation) eObject;
+ }
+ }
+ return null;
+ }
+
/**
* Return all transformations in asModel.
*/
@@ -167,40 +200,40 @@ public class QVTbaseUtil extends PivotUtil
return ClassUtil.nonNullState(asPredicate.getConditionExpression());
}
- public static @Nullable Domain getContainingDomain(@Nullable EObject eObject) {
+ public static @NonNull Domain getContainingDomain(@Nullable EObject eObject) {
for ( ; eObject != null; eObject = eObject.eContainer()) {
if (eObject instanceof Domain) {
return (Domain) eObject;
}
}
- return null;
+ throw new IllegalStateException();
}
- public static @Nullable BaseModel getContainingModel(@Nullable EObject eObject) {
+ public static @NonNull BaseModel getContainingModel(@Nullable EObject eObject) {
for ( ; eObject != null; eObject = eObject.eContainer()) {
if (eObject instanceof BaseModel) {
return (BaseModel) eObject;
}
}
- return null;
+ throw new IllegalStateException();
}
- public static @Nullable Rule getContainingRule(@Nullable EObject eObject) {
+ public static @NonNull Rule getContainingRule(@Nullable EObject eObject) {
for ( ; eObject != null; eObject = eObject.eContainer()) {
if (eObject instanceof Rule) {
return (Rule) eObject;
}
}
- return null;
+ throw new IllegalStateException();
}
- public static @Nullable Transformation getContainingTransformation(@Nullable EObject eObject) {
+ public static @NonNull Transformation getContainingTransformation(@Nullable EObject eObject) {
for ( ; eObject != null; eObject = eObject.eContainer()) {
if (eObject instanceof Transformation) {
return (Transformation) eObject;
}
}
- return null;
+ throw new IllegalStateException();
}
/**
@@ -298,14 +331,6 @@ public class QVTbaseUtil extends PivotUtil
return ClassUtil.nullFree(asTransformation.getModelParameter());
}
- public static @NonNull Iterable<@NonNull Comment> getOwnedComments(@NonNull Element asElement) {
- return ClassUtil.nullFree(asElement.getOwnedComments());
- }
-
- public static @NonNull Iterable<@NonNull Import> getOwnedImports(@NonNull Model asModel) {
- return ClassUtil.nullFree(asModel.getOwnedImports());
- }
-
public static @NonNull List<@NonNull Operation> getOwnedOperations(@NonNull Transformation asTransformation) {
return ClassUtil.nullFree(asTransformation.getOwnedOperations());
}
@@ -314,14 +339,14 @@ public class QVTbaseUtil extends PivotUtil
// return ClassUtil.nullFree(asPattern.getPredicate());
// }
- public static org.eclipse.ocl.pivot.@NonNull Package getOwningPackage(org.eclipse.ocl.pivot.@NonNull Class asClass) {
- return ClassUtil.nonNullState(asClass.getOwningPackage());
- }
-
public static @NonNull Iterable<@NonNull Predicate> getPredicates(@NonNull Pattern asPattern) {
return ClassUtil.nullFree(asPattern.getPredicate());
}
+ public static @NonNull OCLExpression getQueryExpression(@NonNull Function asFunction) {
+ return ClassUtil.nonNullState(asFunction.getQueryExpression());
+ }
+
public static @NonNull Variable getReferredVariable(@NonNull VariableExp asVariableExp) {
return (Variable) ClassUtil.nonNullState(asVariableExp.getReferredVariable());
}
@@ -500,7 +525,7 @@ public class QVTbaseUtil extends PivotUtil
if (missingSources != null) {
StandardLibrary standardLibrary = environmentFactory.getStandardLibrary();
for (OperationCallExp operationCallExp : missingSources) {
- Transformation transformation = QVTbaseUtil.getContainingTransformation(operationCallExp);
+ Transformation transformation = QVTbaseUtil.basicGetContainingTransformation(operationCallExp);
if (transformation != null) {
VariableDeclaration thisVariable = QVTbaseUtil.getContextVariable(standardLibrary, transformation);
operationCallExp.setOwnedSource(PivotUtil.createVariableExp(thisVariable));
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/analysis/AbstractDomainUsageAnalysis.java b/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/analysis/AbstractDomainUsageAnalysis.java
index a9688eea8..7023f5902 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/analysis/AbstractDomainUsageAnalysis.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/analysis/AbstractDomainUsageAnalysis.java
@@ -147,7 +147,7 @@ public abstract class AbstractDomainUsageAnalysis extends AbstractExtendingQVTco
}
protected @NonNull DomainUsage getDomainUsage(@Nullable EObject object) {
- Domain domain = QVTcoreUtil.getContainingDomain(object);
+ Domain domain = QVTcoreUtil.basicGetContainingDomain(object);
if (domain != null) {
return visit(domain.getTypedModel());
}
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/BottomPatternAttribution.java b/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/BottomPatternAttribution.java
index 7237e810b..1b6593967 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/BottomPatternAttribution.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/BottomPatternAttribution.java
@@ -33,12 +33,10 @@ public class BottomPatternAttribution extends AbstractAttribution
if (area instanceof Mapping) {
Mapping mapping = (Mapping)area;;
Transformation transformation = QVTbaseUtil.getContainingTransformation(mapping);
- if (transformation != null) {
- for (TypedModel typedModel : transformation.getModelParameter()) {
- for (org.eclipse.ocl.pivot.Package pPackage : typedModel.getUsedPackage()) {
- environmentView.addNamedElement(pPackage);
- environmentView.addNamedElements(pPackage.getOwnedClasses());
- }
+ for (TypedModel typedModel : transformation.getModelParameter()) {
+ for (org.eclipse.ocl.pivot.Package pPackage : typedModel.getUsedPackage()) {
+ environmentView.addNamedElement(pPackage);
+ environmentView.addNamedElements(pPackage.getOwnedClasses());
}
}
QVTcoreEnvironmentUtil.addMiddleBottomVariables(environmentView, mapping);
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/GuardPatternAttribution.java b/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/GuardPatternAttribution.java
index 1383515e0..2c95a431e 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/GuardPatternAttribution.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/attributes/GuardPatternAttribution.java
@@ -33,14 +33,12 @@ public class GuardPatternAttribution extends AbstractAttribution
if (area instanceof Mapping) {
Mapping mapping = (Mapping)area;;
Transformation transformation = QVTbaseUtil.getContainingTransformation(mapping);
- if (transformation != null) {
for (TypedModel typedModel : transformation.getModelParameter()) {
for (org.eclipse.ocl.pivot.Package pPackage : typedModel.getUsedPackage()) {
environmentView.addNamedElement(pPackage);
environmentView.addNamedElements(pPackage.getOwnedClasses());
}
}
- }
QVTcoreEnvironmentUtil.addMiddleGuardVariables(environmentView, mapping);
}
else {
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/utilities/QVTcoreAS2XMIidVisitor.java b/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/utilities/QVTcoreAS2XMIidVisitor.java
index 62707a655..014a54c10 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/utilities/QVTcoreAS2XMIidVisitor.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtcore/src/org/eclipse/qvtd/pivot/qvtcore/utilities/QVTcoreAS2XMIidVisitor.java
@@ -82,8 +82,8 @@ public class QVTcoreAS2XMIidVisitor extends AbstractQVTcoreAS2XMIidVisitor
@Override
public @Nullable Boolean visitRealizedVariable(@NonNull RealizedVariable object) {
if (object.eContainer() instanceof CorePattern) {
- Rule rule = QVTcoreUtil.getContainingRule(object);
- if((rule != null) && (rule.getName() != null)) {
+ Rule rule = QVTcoreUtil.basicGetContainingRule(object);
+ if ((rule != null) && (rule.getName() != null)) {
String name = object.getName();
if (name != null) {
s.append(VARIABLE_PREFIX);
@@ -100,8 +100,8 @@ public class QVTcoreAS2XMIidVisitor extends AbstractQVTcoreAS2XMIidVisitor
public @Nullable Boolean visitVariable(@NonNull Variable object) {
EObject eContainer = object.eContainer();
if (eContainer instanceof CorePattern) {
- Rule rule = QVTcoreUtil.getContainingRule(object);
- if((rule != null) && (rule.getName() != null)) {
+ Rule rule = QVTcoreUtil.basicGetContainingRule(object);
+ if ((rule != null) && (rule.getName() != null)) {
String name = object.getName();
if (name != null) {
s.append(VARIABLE_PREFIX);
diff --git a/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationUtil.java b/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationUtil.java
index aedd38f4c..e310613e5 100644
--- a/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationUtil.java
+++ b/plugins/org.eclipse.qvtd.pivot.qvtrelation/src/org/eclipse/qvtd/pivot/qvtrelation/utilities/QVTrelationUtil.java
@@ -107,6 +107,15 @@ public class QVTrelationUtil extends QVTtemplateUtil
throw new IllegalStateException();
}
+ public static @NonNull RelationalTransformation getContainingTransformation(@Nullable EObject eObject) {
+ for ( ; eObject != null; eObject = eObject.eContainer()) {
+ if (eObject instanceof RelationalTransformation) {
+ return (RelationalTransformation) eObject;
+ }
+ }
+ throw new IllegalStateException();
+ }
+
public static org.eclipse.ocl.pivot.@NonNull Class getIdentifies(@NonNull Key rKey) {
return ClassUtil.nonNullState(rKey.getIdentifies());
}
diff --git a/plugins/org.eclipse.qvtd.umlx/src/org/eclipse/qvtd/umlx/utilities/UMLXServices.java b/plugins/org.eclipse.qvtd.umlx/src/org/eclipse/qvtd/umlx/utilities/UMLXServices.java
index 1b93ca64d..bf3aa1e12 100644
--- a/plugins/org.eclipse.qvtd.umlx/src/org/eclipse/qvtd/umlx/utilities/UMLXServices.java
+++ b/plugins/org.eclipse.qvtd.umlx/src/org/eclipse/qvtd/umlx/utilities/UMLXServices.java
@@ -328,9 +328,9 @@ public class UMLXServices
for (String line : ((RelPatternExpressionNode)context).getInitExpressionLines()) {
if (!firstLine) {
s.append("\n");
- s.append(line);
- firstLine = false;
}
+ s.append(line);
+ firstLine = false;
}
return s.toString();
}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2as/QVTcoreCSContainmentVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2as/QVTcoreCSContainmentVisitor.java
index 9d1e0e111..cc4992b20 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2as/QVTcoreCSContainmentVisitor.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2as/QVTcoreCSContainmentVisitor.java
@@ -125,7 +125,7 @@ public class QVTcoreCSContainmentVisitor extends AbstractQVTcoreCSContainmentVis
if (pDomain != null) {
TypedModel direction = csElement.getDirection();
if (direction == null) {
- Transformation transformation = QVTbaseUtil.getContainingTransformation(pDomain);
+ Transformation transformation = QVTbaseUtil.basicGetContainingTransformation(pDomain);
if (transformation != null) {
direction = transformation.getModelParameter(null);
}
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2as/QVTcoreCSLeft2RightVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2as/QVTcoreCSLeft2RightVisitor.java
index 0f090021b..deb8994b2 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2as/QVTcoreCSLeft2RightVisitor.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtcore/src/org/eclipse/qvtd/xtext/qvtcore/cs2as/QVTcoreCSLeft2RightVisitor.java
@@ -23,7 +23,6 @@ import org.eclipse.ocl.pivot.PivotPackage;
import org.eclipse.ocl.pivot.Type;
import org.eclipse.ocl.pivot.Variable;
import org.eclipse.ocl.pivot.VariableDeclaration;
-import org.eclipse.ocl.pivot.utilities.ClassUtil;
import org.eclipse.ocl.pivot.utilities.FeatureFilter;
import org.eclipse.ocl.pivot.utilities.NameUtil;
import org.eclipse.ocl.pivot.utilities.PivotUtil;
@@ -59,7 +58,7 @@ public class QVTcoreCSLeft2RightVisitor extends AbstractQVTcoreCSLeft2RightVisit
if (csParent instanceof MappingCS) {
Mapping asMapping = PivotUtil.getPivot(Mapping.class, (MappingCS)csParent);
if (asMapping != null) {
- Transformation asTransformation = QVTbaseUtil.getContainingTransformation(asMapping);
+ Transformation asTransformation = QVTbaseUtil.basicGetContainingTransformation(asMapping);
if (asTransformation != null) {
next = asTransformation;
}
@@ -69,7 +68,7 @@ public class QVTcoreCSLeft2RightVisitor extends AbstractQVTcoreCSLeft2RightVisit
else if (csParent instanceof QueryCS) {
Function asFunction = PivotUtil.getPivot(Function.class, (QueryCS)csParent);
if (asFunction != null) {
- Transformation asTransformation = QVTbaseUtil.getContainingTransformation(asFunction);;
+ Transformation asTransformation = QVTbaseUtil.basicGetContainingTransformation(asFunction);;
if (asTransformation != null) {
next = asTransformation;
}
@@ -143,7 +142,7 @@ public class QVTcoreCSLeft2RightVisitor extends AbstractQVTcoreCSLeft2RightVisit
context.setReferredOperation(operationCallExp, function);
context.setType(operationCallExp, function.getType(), function.isIsRequired());
resolveOperationArgumentTypes(function.getOwnedParameters(), csRoundBracketedClause);
- Transformation containingTransformation = ClassUtil.nonNullState(QVTbaseUtil.getContainingTransformation(function));
+ Transformation containingTransformation = QVTbaseUtil.getContainingTransformation(function);
VariableDeclaration contextVariable = QVTbaseUtil.getContextVariable(standardLibrary, containingTransformation);
operationCallExp.setOwnedSource(PivotUtil.createVariableExp(contextVariable));
resolveOperationArguments(csRoundBracketedClause, function, operationCallExp);
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/as2cs/QVTimperativeDeclarationVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/as2cs/QVTimperativeDeclarationVisitor.java
index 94b905ce3..8ba68f2a0 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/as2cs/QVTimperativeDeclarationVisitor.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/as2cs/QVTimperativeDeclarationVisitor.java
@@ -342,7 +342,7 @@ public class QVTimperativeDeclarationVisitor extends QVTbaseDeclarationVisitor i
if (asMapping != null) {
@NonNull PathNameCS csPathName = BaseCSFactory.eINSTANCE.createPathNameCS();
csMappingCall.setOwnedPathName(csPathName);
- context.refreshPathName(csPathName, asMapping, QVTbaseUtil.getContainingTransformation(asMappingCall));
+ context.refreshPathName(csPathName, asMapping, QVTbaseUtil.basicGetContainingTransformation(asMappingCall));
}
else {
csMappingCall.setOwnedPathName(null);
diff --git a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/cs2as/QVTimperativeCSLeft2RightVisitor.java b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/cs2as/QVTimperativeCSLeft2RightVisitor.java
index c4fe9d739..e7da4dc3a 100644
--- a/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/cs2as/QVTimperativeCSLeft2RightVisitor.java
+++ b/plugins/org.eclipse.qvtd.xtext.qvtimperative/src/org/eclipse/qvtd/xtext/qvtimperative/cs2as/QVTimperativeCSLeft2RightVisitor.java
@@ -59,7 +59,7 @@ public class QVTimperativeCSLeft2RightVisitor extends AbstractQVTimperativeCSLef
if (csParent instanceof MappingCS) {
Mapping asMapping = PivotUtil.getPivot(Mapping.class, (MappingCS)csParent);
if (asMapping != null) {
- Transformation asTransformation = QVTbaseUtil.getContainingTransformation(asMapping);
+ Transformation asTransformation = QVTbaseUtil.basicGetContainingTransformation(asMapping);
if (asTransformation != null) {
next = asTransformation;
}
@@ -69,7 +69,7 @@ public class QVTimperativeCSLeft2RightVisitor extends AbstractQVTimperativeCSLef
else if (csParent instanceof QueryCS) {
Function asFunction = PivotUtil.getPivot(Function.class, (QueryCS)csParent);
if (asFunction != null) {
- Transformation asTransformation = QVTbaseUtil.getContainingTransformation(asFunction);;
+ Transformation asTransformation = QVTbaseUtil.basicGetContainingTransformation(asFunction);;
if (asTransformation != null) {
next = asTransformation;
}

Back to the top