Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2016-06-16 15:42:59 +0000
committerEd Willink2016-06-17 20:46:01 +0000
commite9aa97f89dc6a3041f5663ea45b6e0e3ea3407f2 (patch)
tree4aee7d607a5dfac3a244df2a1fbb3abca5b3736b /plugins/org.eclipse.qvtd.codegen
parentfd0247565549dd16c094748d9adcf28b44dda09e (diff)
downloadorg.eclipse.qvtd-e9aa97f89dc6a3041f5663ea45b6e0e3ea3407f2.tar.gz
org.eclipse.qvtd-e9aa97f89dc6a3041f5663ea45b6e0e3ea3407f2.tar.xz
org.eclipse.qvtd-e9aa97f89dc6a3041f5663ea45b6e0e3ea3407f2.zip
[491264] Allow null Occurrence values
Diffstat (limited to 'plugins/org.eclipse.qvtd.codegen')
-rw-r--r--plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCG2JavaVisitor.java27
1 files changed, 15 insertions, 12 deletions
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 7f880dd4b..48262d852 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
@@ -626,11 +626,12 @@ public class QVTiCG2JavaVisitor extends CG2JavaVisitor<@NonNull QVTiCodeGenerato
if (cgBody != null) {
js.appendCommentWithOCL(null, cgBody.getAst());
}
+ if (js.isUseNullAnnotations()) {
+ js.append("@SuppressWarnings(\"null\")\n"); // Accurate casts are too hard
+ }
js.append("public ");
js.append(getFunctionName(cgFunction));
- js.append("(");
- js.appendIsRequired(true);
- js.append(" Object ");
+ js.append("(/*Nullable*/ Object ");
js.appendIsRequired(true);
js.append(" [] boundValues) throws ");
js.appendClassReference(ReflectiveOperationException.class);
@@ -655,11 +656,12 @@ public class QVTiCG2JavaVisitor extends CG2JavaVisitor<@NonNull QVTiCodeGenerato
protected void doFunctionConstructor(@NonNull CGFunction cgFunction, @NonNull CGShadowExp cgShadowExp, @NonNull String instanceName) {
// List<@NonNull CGParameter> cgParameters = ClassUtil.nullFree(cgFunction.getParameters());
+ if (js.isUseNullAnnotations()) {
+ js.append("@SuppressWarnings(\"null\")\n"); // Accurate casts are too hard
+ }
js.append("public ");
js.append(getFunctionName(cgFunction));
- js.append("(");
- js.appendIsRequired(true);
- js.append(" Object ");
+ js.append("(/*Nullable*/ Object ");
js.appendIsRequired(true);
js.append(" [] boundValues) ");
/* int i = 0;
@@ -728,7 +730,7 @@ public class QVTiCG2JavaVisitor extends CG2JavaVisitor<@NonNull QVTiCodeGenerato
js.append(" ");
js.appendClassReference(IdResolver.class);
js.append(" idResolver, ");
- js.appendIsRequired(true);
+ js.appendIsRequired(false);
js.append(" Object ");
js.appendIsRequired(true);
js.append(" [] thoseValues) {\n");
@@ -752,7 +754,7 @@ public class QVTiCG2JavaVisitor extends CG2JavaVisitor<@NonNull QVTiCodeGenerato
js.append(" ");
js.appendClassReference(IdResolver.class);
js.append(" idResolver, ");
- js.appendIsRequired(true);
+ js.appendIsRequired(false);
js.append(" Object ");
js.appendIsRequired(true);
js.append(" [] thoseValues) {\n");
@@ -829,7 +831,7 @@ public class QVTiCG2JavaVisitor extends CG2JavaVisitor<@NonNull QVTiCodeGenerato
js.append(" ");
js.appendClassReference(IdResolver.class);
js.append(" idResolver, ");
- js.appendIsRequired(true);
+ js.appendIsRequired(false);
js.append(" Object ");
js.appendIsRequired(true);
js.append(" [] thoseValues) {\n");
@@ -902,11 +904,12 @@ public class QVTiCG2JavaVisitor extends CG2JavaVisitor<@NonNull QVTiCodeGenerato
protected void doMappingConstructor(@NonNull CGMapping cgMapping) {
List<@NonNull CGGuardVariable> cgFreeVariables = ClassUtil.nullFree(cgMapping.getFreeVariables());
+ if (js.isUseNullAnnotations()) {
+ js.append("@SuppressWarnings(\"null\")\n"); // Accurate casts are too hard
+ }
js.append("public ");
js.append(getMappingName(cgMapping));
- js.append("(");
- js.appendIsRequired(true);
- js.append(" Object ");
+ js.append("(/*Nullable*/ Object ");
js.appendIsRequired(true);
js.append(" [] boundValues) {\n");
js.pushIndentation(null);

Back to the top