all ok
diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaPreVisitor.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaPreVisitor.java
index e2c692a..7ec1e1e 100644
--- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaPreVisitor.java
+++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaPreVisitor.java
@@ -92,7 +92,7 @@
try {
NameResolution nameResolution = getNameManager().declareStandardName(cgFunction);
nameResolution.addNameVariant(getCodeGenerator().getCACHED_RESULT_NameVariant());
- nameResolution.addNameVariant(getCodeGenerator().getSELF_NameVariant());
+ nameResolution.addNameVariant(getCodeGenerator().getTHIS_TRANSFORMER_NameVariant());
visitCGOperation(cgFunction);
return null;
}
diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaVisitor.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaVisitor.java
index d0150b2..429ef82 100644
--- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaVisitor.java
+++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaVisitor.java
@@ -1176,8 +1176,9 @@
return true;
}
- protected boolean doFunctionBody(@NonNull CGFunction cgFunction, @NonNull String cachedResultName) {
+ protected boolean doFunctionBody3(@NonNull CGFunction cgFunction) {
String functionName = getFunctionName(cgFunction);
+ String cachedResultName = getCachedResultName(cgFunction);
CGValuedElement cgBody = cgFunction.getBody();
ElementId elementId = cgFunction.getTypeId().getElementId();
// FIXME merge locals into AST as LetExps.
@@ -1256,11 +1257,12 @@
return true;
}
- protected boolean doFunctionBody2(@NonNull CGFunction cgFunction, @NonNull CGShadowExp cgShadowExp, @NonNull String cachedResultName) {
+ protected boolean doFunctionBody2(@NonNull CGFunction cgFunction, @NonNull CGShadowExp cgShadowExp) {
Function function = QVTiCGUtil.getAST(cgFunction);
ImperativeTransformation transformation = QVTimperativeUtil.getContainingTransformation(function);
EntryPointsAnalysis entryPointsAnalysis = context.getEntryPointsAnalysis(transformation);
String functionName = getFunctionName(cgFunction);
+ String cachedResultName = getCachedResultName(cgFunction);
js.append(" {\n");
js.pushIndentation(null);
if (isIncremental) {
@@ -1364,9 +1366,10 @@
return true;
}
- protected void doFunctionConstructor(@NonNull CGFunction cgFunction, @NonNull String cachedResultName) {
+ protected void doFunctionConstructor(@NonNull CGFunction cgFunction) {
String functionName = getFunctionName(cgFunction);
- String selfName = cgFunction.getVariantResolvedName(getCodeGenerator().getSELF_NameVariant());
+ String thisTransformerName = getThisTransformerName(cgFunction);
+ String cachedResultName = getCachedResultName(cgFunction);
CGClass cgClass = ClassUtil.nonNullState(CGUtil.getContainingClass(cgFunction));
List<@NonNull CGParameter> cgParameters = ClassUtil.nullFree(cgFunction.getParameters());
CGValuedElement cgBody = cgFunction.getBody();
@@ -1388,7 +1391,7 @@
js.append("\");\n");
}
js.appendThis(functionName);
- js.append("." + selfName + " = (");
+ js.append("." + thisTransformerName + " = (");
js.appendClassReference(cgClass);
js.append(")boundValues[0];\n");
int i = 1;
@@ -1408,12 +1411,12 @@
js.appendClassCast(cgParameter, castBody);
js.append(";\n");
}
- doFunctionBody(cgFunction, cachedResultName);
+ doFunctionBody3(cgFunction);
js.popIndentation();
js.append("}\n");
}
- protected void doFunctionConstructor(@NonNull CGFunction cgFunction, @NonNull CGShadowExp cgShadowExp, @NonNull String cachedResultName) {
+ protected void doFunctionConstructor(@NonNull CGFunction cgFunction, @NonNull CGShadowExp cgShadowExp) {
// List<@NonNull CGParameter> cgParameters = ClassUtil.nullFree(cgFunction.getParameters());
// if (js.isUseNullAnnotations()) {
// js.append("@SuppressWarnings(\"null\")\n"); // Accurate casts are too hard
@@ -1440,7 +1443,7 @@
js.append("boundValues[" + i++);
js.append("];\n");
} */
- doFunctionBody2(cgFunction, cgShadowExp, cachedResultName);
+ doFunctionBody2(cgFunction, cgShadowExp);
}
protected void doFunctionConstructorConstants(/*@NonNull*/ List<@NonNull CGOperation> cgOperations) {
@@ -1489,7 +1492,8 @@
}
} */
- protected void doFunctionGetInstance(@NonNull CGFunction cgFunction, @NonNull String cachedResultName) {
+ protected void doFunctionGetInstance(@NonNull CGFunction cgFunction) {
+ String cachedResultName = getCachedResultName(cgFunction);
js.append("@Override\n");
js.append("public ");
js.appendIsRequired(false);
@@ -1504,7 +1508,7 @@
protected void doFunctionIsEqual(@NonNull CGFunction cgFunction) {
String functionName = getFunctionName(cgFunction);
- String selfName = cgFunction.getVariantResolvedName(getCodeGenerator().getSELF_NameVariant());
+ String thisTransformerName = getThisTransformerName(cgFunction);
js.append("@Override\n");
js.append("public boolean isEqual(");
js.appendClassReference(true, IdResolver.class);
@@ -1516,7 +1520,7 @@
js.pushIndentation(null);
js.append("return ");
js.appendThis(functionName);
- js.append("." + selfName + " == thoseValues[0]");
+ js.append("." + thisTransformerName + " == thoseValues[0]");
int index = 1;
for (@NonNull CGParameter cgParameter : ClassUtil.nullFree(cgFunction.getParameters())) {
js.append("\n\t&& ");
@@ -2669,6 +2673,10 @@
return (QVTiAnalyzer) super.getAnalyzer();
}
+ protected @NonNull String getCachedResultName(@NonNull CGFunction cgFunction) {
+ return cgFunction.getVariantResolvedName(getCodeGenerator().getCACHED_RESULT_NameVariant());
+ }
+
private EObject getContainer(EObject eObject) {
EObject eContainer = eObject.eContainer();
if (eContainer != null) {
@@ -2706,18 +2714,6 @@
return JavaStream.convertToJavaIdentifier("FTOR_" + cgFunction.getName());
}
- /* protected @NonNull String getFunctionInstanceName(@NonNull CGFunction cgFunction) {
- JavaLocalContext<@NonNull ?> functionContext = ClassUtil.nonNullState(qvtiGlobalContext.getLocalContext(cgFunction));
- Object instanceKey = cgFunction.getBody();
- if (instanceKey == null) {
- instanceKey = QVTiCGUtil.getAST(cgFunction).getImplementationClass();
- }
- // return functionContext.getNameManager().declareStandardName((CGValuedElement) instanceKey, "instance");
- return cgFunction.getVariantResolvedName(getCodeGenerator().getINSTANCE_NameVariant());
- // nameResolution.addNameVariant(getCodeGenerator().getINSTANCE_NameVariant());
- // return "XXX=instance"; // XXX
- } */
-
protected @NonNull String getFunctionName(@NonNull CGFunction cgFunction) {
return JavaStream.convertToJavaIdentifier("FUN_" + cgFunction.getName());
}
@@ -2807,7 +2803,7 @@
return super.getResolvedName(cgElement);
}
- @Deprecated
+ /* @Deprecated
protected @NonNull String getThisName(@NonNull CGElement cgElement) {
for (EObject eObject = cgElement; eObject != null; eObject = eObject.eContainer()) {
if (eObject instanceof CGMapping) {
@@ -2821,7 +2817,11 @@
}
}
assert false;
- return ""; // "this" */
+ return ""; // "this" * /
+ } */
+
+ protected @NonNull String getThisTransformerName(@NonNull CGFunction cgFunction) {
+ return cgFunction.getVariantResolvedName(getCodeGenerator().getTHIS_TRANSFORMER_NameVariant());
}
private boolean isConnection(CGValuedElement source) {
@@ -3086,7 +3086,7 @@
js.appendCommentWithOCL(null, cgFunction.getAst());
CGShadowExp cgShadowExp = useClassToCreateObject(cgFunction);
String functionName = getFunctionName(cgFunction);
- String cachedResultName = cgFunction.getVariantResolvedName(getCodeGenerator().getCACHED_RESULT_NameVariant());
+ String cachedResultName = getCachedResultName(cgFunction);
if (cgShadowExp != null) {
js.append("protected class ");
js.append(functionName);
@@ -3097,15 +3097,15 @@
js.appendTypeDeclaration(cgFunction);
js.append(" " + cachedResultName + ";\n");
js.append("\n");
- doFunctionConstructor(cgFunction, cgShadowExp, cachedResultName);
+ doFunctionConstructor(cgFunction, cgShadowExp);
js.append("\n");
- doFunctionGetInstance(cgFunction, cachedResultName);
+ doFunctionGetInstance(cgFunction);
js.append("\n");
doFunctionIsEqual(cgShadowExp, cachedResultName);
js.popClassBody(false);
}
else if (useCache(cgFunction)) {
- String selfName = cgFunction.getVariantResolvedName(getCodeGenerator().getSELF_NameVariant());
+ String thisTransformerName = getThisTransformerName(cgFunction);
CGClass cgClass = ClassUtil.nonNullState(CGUtil.getContainingClass(cgFunction));
js.append("protected class ");
js.append(functionName);
@@ -3116,7 +3116,7 @@
js.appendIsRequired(true);
js.append(" ");
js.appendClassReference(cgClass);
- js.append(" " + selfName + ";\n");
+ js.append(" " + thisTransformerName + ";\n");
for (@NonNull CGParameter cgParameter : ClassUtil.nullFree(cgFunction.getParameters())) {
js.append("protected ");
// js.appendDeclaration(cgParameter);
@@ -3138,9 +3138,9 @@
js.appendTypeDeclaration(cgBody != null ? cgBody : cgFunction);
js.append(" " + cachedResultName + ";\n");
js.append("\n");
- doFunctionConstructor(cgFunction, cachedResultName);
+ doFunctionConstructor(cgFunction);
js.append("\n");
- doFunctionGetInstance(cgFunction, cachedResultName);
+ doFunctionGetInstance(cgFunction);
js.append("\n");
doFunctionIsEqual(cgFunction);
js.popClassBody(false);
@@ -3235,7 +3235,7 @@
js.append(")");
if (isIdentifiedInstance) {
js.append(")");
- String cachedResultName = cgFunction.getVariantResolvedName(getCodeGenerator().getCACHED_RESULT_NameVariant());
+ String cachedResultName = getCachedResultName(cgFunction);
js.append(".");
js.append(cachedResultName);
}
diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCodeGenerator.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCodeGenerator.java
index 1635013..1bad097 100644
--- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCodeGenerator.java
+++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCodeGenerator.java
@@ -208,7 +208,7 @@
private/* @LazyNonNull*/ CGPackage cgPackage;
private/* @LazyNonNull*/ String javaSourceCode = null;
protected final @NonNull NameVariant CACHED_RESULT_NameVariant;
- protected final @NonNull NameVariant SELF_NameVariant;
+ protected final @NonNull NameVariant THIS_TRANSFORMER_NameVariant;
public QVTiCodeGenerator(@NonNull QVTbaseEnvironmentFactory environmentFactory, @NonNull ImperativeTransformation transformation) {
super(environmentFactory, null); // FIXME Pass a genmodel
@@ -217,7 +217,7 @@
this.cgAnalyzer = new QVTiAnalyzer(this);
this.globalContext = new QVTiGlobalContext(this);
this.CACHED_RESULT_NameVariant = globalNameManager.addNameVariantPreferred("cachedResult");
- this.SELF_NameVariant = globalNameManager.addNameVariantPreferred("thisTransformer");
+ this.THIS_TRANSFORMER_NameVariant = globalNameManager.addNameVariantPreferred("thisTransformer");
}
private void appendSegmentName(@NonNull StringBuilder s, CGPackage sPackage) {
@@ -408,8 +408,8 @@
return s.toString();
}
- public @NonNull NameVariant getSELF_NameVariant() {
- return SELF_NameVariant;
+ public @NonNull NameVariant getTHIS_TRANSFORMER_NameVariant() {
+ return THIS_TRANSFORMER_NameVariant;
}
public @NonNull ImperativeTransformation getTransformation() {