### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: compiler/org/eclipse/jdt/internal/compiler/lookup/TagBits.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/TagBits.java,v retrieving revision 1.38 diff -u -r1.38 TagBits.java --- compiler/org/eclipse/jdt/internal/compiler/lookup/TagBits.java 22 Jun 2009 14:00:52 -0000 1.38 +++ compiler/org/eclipse/jdt/internal/compiler/lookup/TagBits.java 18 Sep 2009 14:07:02 -0000 @@ -36,14 +36,14 @@ // for the type cycle hierarchy check used by ClassScope long BeginHierarchyCheck = ASTNode.Bit9; // type long EndHierarchyCheck = ASTNode.Bit10; // type - long HasParameterAnnotations = ASTNode.Bit11; // method + long HasParameterAnnotations = ASTNode.Bit11; // method/constructor // test bit to see if default abstract methods were computed long KnowsDefaultAbstractMethods = ASTNode.Bit11; // type long IsArgument = ASTNode.Bit11; // local - long ClearPrivateModifier = ASTNode.Bit11; // constructor binding + long ClearPrivateModifier = ASTNode.Bit10; // constructor binding // test bits to see if parts of binary types are faulted long AreFieldsSorted = ASTNode.Bit13; #P org.eclipse.jdt.core.tests.compiler Index: src/org/eclipse/jdt/core/tests/compiler/regression/AnnotationTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AnnotationTest.java,v retrieving revision 1.202 diff -u -r1.202 AnnotationTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/AnnotationTest.java 16 Sep 2009 16:57:16 -0000 1.202 +++ src/org/eclipse/jdt/core/tests/compiler/regression/AnnotationTest.java 18 Sep 2009 14:07:02 -0000 @@ -44,7 +44,7 @@ // All specified tests which do not belong to the class are skipped... static { // TESTS_NAMES = new String[] { "test127" }; -// TESTS_NUMBERS = new int[] { 272 }; +// TESTS_NUMBERS = new int[] { 271, 273 }; // TESTS_RANGE = new int[] { 249, -1 }; } @@ -8889,7 +8889,7 @@ checkDisassembledClassFile(OUTPUT_DIR + File.separator +"X.class", "X", expectedOutput, ClassFileBytesDisassembler.DETAILED); } -//https://bugs.eclipse.org/bugs/show_bug.cgi?id=289576 +//https://bugs.eclipse.org/bugs/show_bug.cgi?id=289516 public void test272() throws Exception { if (this.complianceLevel != ClassFileConstants.JDK1_5) { return; @@ -8922,4 +8922,24 @@ checkDisassembledClassFile(OUTPUT_DIR + File.separator +"X.class", "X", expectedOutput, ClassFileBytesDisassembler.DETAILED); } +//https://bugs.eclipse.org/bugs/show_bug.cgi?id=289576 +public void test273() throws Exception { + this.runConformTest( + new String[] { + "X.java", + "@interface A {}\n" + + "public class X {\n" + + " @SuppressWarnings(\"unused\")\n" + + " private X(@A Object o) {}\n" + + "}" + }, + ""); + + String expectedOutput = + " // Method descriptor #6 (Ljava/lang/Object;)V\n" + + " // Stack: 1, Locals: 2\n" + + " private X(@A java.lang.Object o);\n"; + + checkDisassembledClassFile(OUTPUT_DIR + File.separator +"X.class", "X", expectedOutput, ClassFileBytesDisassembler.DETAILED); +} }