Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipe Mulet2005-04-01 09:42:57 +0000
committerPhilipe Mulet2005-04-01 09:42:57 +0000
commit47771900cbbb5bb3caa27909268dd0af98465bcb (patch)
treedb4a3d78d10e218e6ff72b1e6c5bc3299f98a58c
parent7376fb10956e4a03cc528e86b634b5ca73ef755b (diff)
downloadeclipse.jdt.core-47771900cbbb5bb3caa27909268dd0af98465bcb.tar.gz
eclipse.jdt.core-47771900cbbb5bb3caa27909268dd0af98465bcb.tar.xz
eclipse.jdt.core-47771900cbbb5bb3caa27909268dd0af98465bcb.zip
*** empty log message ***
-rw-r--r--org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TryStatementTest.java121
-rw-r--r--org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties2
-rw-r--r--org.eclipse.jdt.core/buildnotes_jdt-core.html6
3 files changed, 125 insertions, 4 deletions
diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TryStatementTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TryStatementTest.java
index f7286e602d..b108588411 100644
--- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TryStatementTest.java
+++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TryStatementTest.java
@@ -10,9 +10,14 @@
*******************************************************************************/
package org.eclipse.jdt.core.tests.compiler.regression;
+import java.io.File;
+import java.io.IOException;
import java.util.Map;
+import org.eclipse.jdt.core.ToolFactory;
+import org.eclipse.jdt.core.util.ClassFileBytesDisassembler;
import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
+import org.eclipse.jdt.core.tests.util.Util;
import junit.framework.Test;
import junit.framework.TestSuite;
@@ -863,6 +868,122 @@ public void test025() {
},
"SUCCESS");
}
+//https://bugs.eclipse.org/bugs/show_bug.cgi?id=89710
+public void test026() {
+
+ Map customOptions = this.getCompilerOptions();
+ customOptions.put(CompilerOptions.OPTION_PreserveUnusedLocal, CompilerOptions.PRESERVE);
+
+ this.runConformTest(
+ new String[] {
+ "X.java",
+ "import java.util.*;\n" +
+ "\n" +
+ "public class X {\n" +
+ " \n" +
+ " static private ResourceBundle bundle = null;\n" +
+ " static {\n" +
+ " int i = 0;\n" +
+ " try {\n" +
+ " bundle = foo();\n" +
+ " } catch(Throwable e) {\n" +
+ " e.printStackTrace();\n" +
+ " }\n" +
+ " }\n" +
+ "\n" +
+ " static ResourceBundle foo() {\n" +
+ " return null;\n" +
+ " }\n" +
+ "}\n",
+ },
+ "",
+ null,
+ true,
+ null,
+ customOptions,
+ null); // custom requestor
+
+ String expectedOutput =
+ " Local variable table:\n" +
+ " [pc: 6, pc: 21] local: i index: 0 type: I\n" +
+ " [pc: 16, pc: 20] local: e index: 1 type: Ljava/lang/Throwable;\n";
+
+ try {
+ File f = new File(OUTPUT_DIR + File.separator + "X.class");
+ byte[] classFileBytes = org.eclipse.jdt.internal.compiler.util.Util.getFileByteContent(f);
+ ClassFileBytesDisassembler disassembler = ToolFactory.createDefaultClassFileBytesDisassembler();
+ String result = disassembler.disassemble(classFileBytes, "\n", ClassFileBytesDisassembler.DETAILED);
+ int index = result.indexOf(expectedOutput);
+ if (index == -1 || expectedOutput.length() == 0) {
+ System.out.println(Util.displayString(result, 3));
+ }
+ if (index == -1) {
+ assertEquals("Wrong contents", expectedOutput, result);
+ }
+ } catch (org.eclipse.jdt.core.util.ClassFormatException e) {
+ assertTrue(false);
+ } catch (IOException e) {
+ assertTrue(false);
+ }
+}
+//https://bugs.eclipse.org/bugs/show_bug.cgi?id=89710 - variation
+public void test027() {
+
+ Map customOptions = this.getCompilerOptions();
+ customOptions.put(CompilerOptions.OPTION_PreserveUnusedLocal, CompilerOptions.PRESERVE);
+
+ this.runConformTest(
+ new String[] {
+ "X.java",
+ "import java.util.*;\n" +
+ "\n" +
+ "public class X {\n" +
+ " \n" +
+ " void bar(boolean b) {\n" +
+ " if (b) {\n" +
+ " try {\n" +
+ " int i = 0;\n" +
+ " } catch(Exception e) {\n" +
+ " e.printStackTrace();\n" +
+ " }\n" +
+ " } else {\n" +
+ " int j = 0;\n" +
+ " }\n" +
+ " }\n" +
+ "}\n",
+ },
+ "",
+ null,
+ true,
+ null,
+ customOptions,
+ null); // custom requestor
+
+ String expectedOutput =
+ " Local variable table:\n" +
+ " [pc: 0, pc: 20] local: this index: 0 type: LX;\n" +
+ " [pc: 0, pc: 20] local: b index: 1 type: Z\n" +
+ " [pc: 6, pc: 9] local: i index: 2 type: I\n" +
+ " [pc: 10, pc: 14] local: e index: 2 type: Ljava/lang/Exception;\n";
+
+ try {
+ File f = new File(OUTPUT_DIR + File.separator + "X.class");
+ byte[] classFileBytes = org.eclipse.jdt.internal.compiler.util.Util.getFileByteContent(f);
+ ClassFileBytesDisassembler disassembler = ToolFactory.createDefaultClassFileBytesDisassembler();
+ String result = disassembler.disassemble(classFileBytes, "\n", ClassFileBytesDisassembler.DETAILED);
+ int index = result.indexOf(expectedOutput);
+ if (index == -1 || expectedOutput.length() == 0) {
+ System.out.println(Util.displayString(result, 3));
+ }
+ if (index == -1) {
+ assertEquals("Wrong contents", expectedOutput, result);
+ }
+ } catch (org.eclipse.jdt.core.util.ClassFormatException e) {
+ assertTrue(false);
+ } catch (IOException e) {
+ assertTrue(false);
+ }
+}
public static Class testClass() {
return TryStatementTest.class;
diff --git a/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties b/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties
index 7d6e1898ac..65fa86783a 100644
--- a/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties
+++ b/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties
@@ -14,7 +14,7 @@
#Format: compiler.name = word1 word2 word3
compiler.name = Eclipse Java Compiler
#Format: compiler.version = 0.XXX[, other words (don't forget the comma if adding other words)]
-compiler.version = 0.548, pre-3.1.0 milestone-7
+compiler.version = 0.548, pre-3.1.0 milestone-6
compiler.copyright = Copyright IBM Corp 2000, 2005. All rights reserved.
### scanning
diff --git a/org.eclipse.jdt.core/buildnotes_jdt-core.html b/org.eclipse.jdt.core/buildnotes_jdt-core.html
index fbad07a20d..3918909d2d 100644
--- a/org.eclipse.jdt.core/buildnotes_jdt-core.html
+++ b/org.eclipse.jdt.core/buildnotes_jdt-core.html
@@ -41,8 +41,8 @@
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
-Eclipse SDK 3.1M7 - ?st April 2005
-<br>Project org.eclipse.jdt.core v_548
+Eclipse SDK 3.1M6 - 1st April 2005
+<br>Project org.eclipse.jdt.core v_548 - 3.1 MILESTONE 6
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_548">cvs</a>).
<h2>
What's new in this drop</h2>
@@ -58,7 +58,7 @@ What's new in this drop</h2>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
-Eclipse SDK 3.1M6 - 31st March 2005 - 3.1 MILESTONE 6
+Eclipse SDK 3.1M6 - 31st March 2005
<br>Project org.eclipse.jdt.core v_547
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_547">cvs</a>).
<h2>

Back to the top