diff options
author | Philipe Mulet | 2005-04-01 09:42:57 +0000 |
---|---|---|
committer | Philipe Mulet | 2005-04-01 09:42:57 +0000 |
commit | 47771900cbbb5bb3caa27909268dd0af98465bcb (patch) | |
tree | db4a3d78d10e218e6ff72b1e6c5bc3299f98a58c | |
parent | 7376fb10956e4a03cc528e86b634b5ca73ef755b (diff) | |
download | eclipse.jdt.core-47771900cbbb5bb3caa27909268dd0af98465bcb.tar.gz eclipse.jdt.core-47771900cbbb5bb3caa27909268dd0af98465bcb.tar.xz eclipse.jdt.core-47771900cbbb5bb3caa27909268dd0af98465bcb.zip |
*** empty log message ***
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 <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 <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> |