Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAyushman Jain2010-09-21 06:32:55 +0000
committerAyushman Jain2010-09-21 06:32:55 +0000
commit3cca2130a88b1412da5c23c480bb1e524d89ea5e (patch)
tree302bb10f7011fd1774e1ed114c096bfd0795c477 /org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/NullReferenceTest.java
parent41fe30d0273f5089ef76e570928ab7cb2dabbec3 (diff)
downloadeclipse.jdt.core-3cca2130a88b1412da5c23c480bb1e524d89ea5e.tar.gz
eclipse.jdt.core-3cca2130a88b1412da5c23c480bb1e524d89ea5e.tar.xz
eclipse.jdt.core-3cca2130a88b1412da5c23c480bb1e524d89ea5e.zip
HEAD- fix for 325755
Diffstat (limited to 'org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/NullReferenceTest.java')
-rw-r--r--org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/NullReferenceTest.java74
1 files changed, 73 insertions, 1 deletions
diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/NullReferenceTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/NullReferenceTest.java
index 512f7ec4e3..6736c333cf 100644
--- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/NullReferenceTest.java
+++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/NullReferenceTest.java
@@ -7,7 +7,7 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
- * Stephan Herrmann <stephan@cs.tu-berlin.de> - Contribution for bugs 133125, 292478, 319201 and 320170
+ * Stephan Herrmann <stephan@cs.tu-berlin.de> - Contribution for bugs 325755, 133125, 292478, 319201 and 320170
*******************************************************************************/
package org.eclipse.jdt.core.tests.compiler.regression;
@@ -13493,4 +13493,76 @@ public void testBug325229d() {
null);
}
}
+
+// https://bugs.eclipse.org/bugs/show_bug.cgi?id=325755
+// null analysis -- conditional expression
+public void testBug325755a() {
+ this.runConformTest(
+ new String[] {
+ "X.java",
+ "public class X {\n" +
+ " public static Object foo(String s1, String s2) {\n" +
+ " String local1 = s1;\n" +
+ " String local2 = s2;\n" +
+ " \n" +
+ " String local3 = null;\n" +
+ " if (local1 != null && local2 != null)\n" +
+ " local3 = \"\"; //$NON-NLS-1$\n" +
+ " else\n" +
+ " local3 = local1 != null ? local1 : local2;\n" +
+ "\n" +
+ " if (local3 != null)\n" +
+ " return new Integer(local3.length());\n" +
+ " return null;\n" +
+ " }\n" +
+ " \n" +
+ " public static void main(String[] args) {\n" +
+ " System.out.print(foo(null, null));\n" +
+ " System.out.print(foo(\"p1\", null));\n" +
+ " System.out.print(foo(null, \"p2\"));\n" +
+ " System.out.print(foo(\"p1\", \"p2\"));\n" +
+ " }\n" +
+ "}"},
+ "null220");
+}
+
+// https://bugs.eclipse.org/bugs/show_bug.cgi?id=325755
+// null analysis -- conditional expression, many locals
+public void testBug325755b() {
+ this.runConformTest(
+ new String[] {
+ "X.java",
+ "public class X {\n" +
+ " public static Object foo(String s1, String s2) {\n" +
+ " int i00, i01, i02, i03, i04, i05, i06, i07, i08, i09;\n" +
+ " int i10, i11, i12, i13, i14, i15, i16, i17, i18, i19;\n" +
+ " int i20, i21, i22, i23, i24, i25, i26, i27, i28, i29;\n" +
+ " int i30, i31, i32, i33, i34, i35, i36, i37, i38, i39;\n" +
+ " int i40, i41, i42, i43, i44, i45, i46, i47, i48, i49;\n" +
+ " int i50, i51, i52, i53, i54, i55, i56, i57, i58, i59;\n" +
+ " int i60, i61, i62, i63, i64, i65, i66, i67, i68, i69;\n" +
+
+ " String local1 = s1;\n" +
+ " String local2 = s2;\n" +
+ " \n" +
+ " String local3 = null;\n" +
+ " if (local1 != null && local2 != null)\n" +
+ " local3 = \"\"; //$NON-NLS-1$\n" +
+ " else\n" +
+ " local3 = local1 != null ? local1 : local2;\n" +
+ "\n" +
+ " if (local3 != null)\n" +
+ " return new Integer(local3.length());\n" +
+ " return null;\n" +
+ " }\n" +
+ " \n" +
+ " public static void main(String[] args) {\n" +
+ " System.out.print(foo(null, null));\n" +
+ " System.out.print(foo(\"p1\", null));\n" +
+ " System.out.print(foo(null, \"p2\"));\n" +
+ " System.out.print(foo(\"p1\", \"p2\"));\n" +
+ " }\n" +
+ "}"},
+ "null220");
+}
} \ No newline at end of file

Back to the top