diff options
author | Ed Willink | 2022-06-20 19:41:49 +0000 |
---|---|---|
committer | Ed Willink | 2022-06-20 19:51:38 +0000 |
commit | ed39e2d40fbddcec852a78652206dc5323b14281 (patch) | |
tree | 5cc2f37a50069ba04740039625302b277a705158 | |
parent | 7a482c2061dffd12209de95cbeed2d7296f9c06e (diff) | |
download | org.eclipse.qvtd-ed39e2d40fbddcec852a78652206dc5323b14281.tar.gz org.eclipse.qvtd-ed39e2d40fbddcec852a78652206dc5323b14281.tar.xz org.eclipse.qvtd-ed39e2d40fbddcec852a78652206dc5323b14281.zip |
QVTd 3 fails
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) { |