diff options
author | Ed Willink | 2016-06-16 15:42:59 +0000 |
---|---|---|
committer | Ed Willink | 2016-06-17 20:46:01 +0000 |
commit | e9aa97f89dc6a3041f5663ea45b6e0e3ea3407f2 (patch) | |
tree | 4aee7d607a5dfac3a244df2a1fbb3abca5b3736b /plugins/org.eclipse.qvtd.codegen | |
parent | fd0247565549dd16c094748d9adcf28b44dda09e (diff) | |
download | org.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.java | 27 |
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); |