Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2022-06-20 19:41:49 +0000
committerEd Willink2022-06-20 19:51:38 +0000
commited39e2d40fbddcec852a78652206dc5323b14281 (patch)
tree5cc2f37a50069ba04740039625302b277a705158
parent7a482c2061dffd12209de95cbeed2d7296f9c06e (diff)
downloadorg.eclipse.qvtd-ed39e2d40fbddcec852a78652206dc5323b14281.tar.gz
org.eclipse.qvtd-ed39e2d40fbddcec852a78652206dc5323b14281.tar.xz
org.eclipse.qvtd-ed39e2d40fbddcec852a78652206dc5323b14281.zip
QVTd 3 fails
-rw-r--r--plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/InternalFunctionOperationCallingConvention.java9
-rw-r--r--plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvticgmodel/utilities/QVTiCGModelBoxingAnalysisVisitor.java12
2 files changed, 16 insertions, 5 deletions
diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/InternalFunctionOperationCallingConvention.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/InternalFunctionOperationCallingConvention.java
index c2274e043..b7f4177ae 100644
--- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/InternalFunctionOperationCallingConvention.java
+++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/InternalFunctionOperationCallingConvention.java
@@ -15,8 +15,10 @@ import java.util.List;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.examples.codegen.analyzer.AS2CGVisitor;
+import org.eclipse.ocl.examples.codegen.analyzer.BoxingAnalyzer;
import org.eclipse.ocl.examples.codegen.analyzer.CodeGenAnalyzer;
import org.eclipse.ocl.examples.codegen.cgmodel.CGOperation;
+import org.eclipse.ocl.examples.codegen.cgmodel.CGOperationCallExp;
import org.eclipse.ocl.examples.codegen.cgmodel.CGParameter;
import org.eclipse.ocl.examples.codegen.cgmodel.CGValuedElement;
import org.eclipse.ocl.pivot.ExpressionInOCL;
@@ -106,4 +108,11 @@ public class InternalFunctionOperationCallingConvention extends FunctionOperatio
cgParameters.add(cgParameter);
}
}
+
+ @Override
+ public void rewriteWithBoxingAndGuards(@NonNull BoxingAnalyzer boxingAnalyzer,@NonNull CGOperationCallExp cgOperationCallExp) {
+ for (CGValuedElement cgArgument : cgOperationCallExp.getArguments()) {
+ boxingAnalyzer.rewriteAsBoxed(cgArgument);
+ }
+ }
}
diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvticgmodel/utilities/QVTiCGModelBoxingAnalysisVisitor.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvticgmodel/utilities/QVTiCGModelBoxingAnalysisVisitor.java
index effb07dff..8dc4663bf 100644
--- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvticgmodel/utilities/QVTiCGModelBoxingAnalysisVisitor.java
+++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvticgmodel/utilities/QVTiCGModelBoxingAnalysisVisitor.java
@@ -23,7 +23,6 @@ import org.eclipse.qvtd.codegen.qvticgmodel.CGEcoreContainerAssignment;
import org.eclipse.qvtd.codegen.qvticgmodel.CGEcorePropertyAssignment;
import org.eclipse.qvtd.codegen.qvticgmodel.CGEcoreRealizedVariable;
import org.eclipse.qvtd.codegen.qvticgmodel.CGFunction;
-import org.eclipse.qvtd.codegen.qvticgmodel.CGFunctionCallExp;
import org.eclipse.qvtd.codegen.qvticgmodel.CGMappingCallBinding;
import org.eclipse.qvtd.codegen.qvticgmodel.CGMiddlePropertyAssignment;
import org.eclipse.qvtd.codegen.qvticgmodel.CGRealizedVariablePart;
@@ -91,14 +90,17 @@ public class QVTiCGModelBoxingAnalysisVisitor extends AbstractQVTiCGModelBoxingA
return null;
}
- @Override
+ /* @Override
public @Nullable Object visitCGFunctionCallExp(@NonNull CGFunctionCallExp cgFunctionCallExp) {
super.visitCGFunctionCallExp(cgFunctionCallExp);
+ / * int i = 0;
for (CGValuedElement cgArgument : cgFunctionCallExp.getArguments()) {
- rewriteAsUnboxed(cgArgument);
- }
+ if (i++ > 0) { // Skip source
+ rewriteAsUnboxed(cgArgument);
+ }
+ } * /
return null;
- }
+ } */
@Override
public @Nullable Object visitCGMappingCallBinding(@NonNull CGMappingCallBinding cgMappingCallBinding) {

Back to the top