### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: compiler/org/eclipse/jdt/internal/compiler/ast/JavadocQualifiedTypeReference.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/JavadocQualifiedTypeReference.java,v retrieving revision 1.26 diff -u -r1.26 JavadocQualifiedTypeReference.java --- compiler/org/eclipse/jdt/internal/compiler/ast/JavadocQualifiedTypeReference.java 3 Nov 2009 15:12:57 -0000 1.26 +++ compiler/org/eclipse/jdt/internal/compiler/ast/JavadocQualifiedTypeReference.java 18 Mar 2010 16:22:13 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -56,8 +56,6 @@ } return null; } - if (isTypeUseDeprecated(type, scope)) - reportDeprecatedType(type, scope, Integer.MAX_VALUE); // https://bugs.eclipse.org/bugs/show_bug.cgi?id=209936 // raw convert all enclosing types when dealing with Javadoc references if (type.isGenericType() || type.isParameterizedType()) { Index: compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedTypeReference.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedTypeReference.java,v retrieving revision 1.49 diff -u -r1.49 QualifiedTypeReference.java --- compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedTypeReference.java 3 Nov 2009 15:12:57 -0000 1.49 +++ compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedTypeReference.java 18 Mar 2010 16:22:13 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. + * Copyright (c) 2000, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -86,7 +86,7 @@ scope.problemReporter().illegalAccessFromTypeVariable((TypeVariableBinding) this.resolvedType, this); return null; } - if (i < last && isTypeUseDeprecated(this.resolvedType, scope)) { + if (i <= last && isTypeUseDeprecated(this.resolvedType, scope)) { reportDeprecatedType(this.resolvedType, scope, i); } if (isClassScope) Index: compiler/org/eclipse/jdt/internal/compiler/ast/TypeReference.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TypeReference.java,v retrieving revision 1.43 diff -u -r1.43 TypeReference.java --- compiler/org/eclipse/jdt/internal/compiler/ast/TypeReference.java 3 Feb 2010 06:34:20 -0000 1.43 +++ compiler/org/eclipse/jdt/internal/compiler/ast/TypeReference.java 18 Mar 2010 16:22:13 -0000 @@ -148,7 +148,8 @@ scope.problemReporter().cannotAllocateVoidArray(this); return null; } - if (isTypeUseDeprecated(type, scope)) { + if (!(this instanceof QualifiedTypeReference) // QualifiedTypeReference#getTypeBinding called above will have already checked deprecation + && isTypeUseDeprecated(type, scope)) { reportDeprecatedType(type, scope); } type = scope.environment().convertToRawType(type, false /*do not force conversion of enclosing types*/); Index: compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java,v retrieving revision 1.407 diff -u -r1.407 ProblemReporter.java --- compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java 17 Mar 2010 16:10:01 -0000 1.407 +++ compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java 18 Mar 2010 16:22:13 -0000 @@ -1356,20 +1356,36 @@ int severity = computeSeverity(isConstructor ? IProblem.UsingDeprecatedConstructor : IProblem.UsingDeprecatedMethod); if (severity == ProblemSeverities.Ignore) return; if (isConstructor) { + int start = -1; + if(location instanceof AllocationExpression) { + // omit the new keyword from the warning marker + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=300031 + AllocationExpression allocationExpression = (AllocationExpression) location; + if (allocationExpression.enumConstant != null) { + start = allocationExpression.enumConstant.sourceStart; + } + start = allocationExpression.type.sourceStart; + } this.handle( IProblem.UsingDeprecatedConstructor, new String[] {new String(method.declaringClass.readableName()), typesAsString(method.isVarargs(), method.parameters, false)}, new String[] {new String(method.declaringClass.shortReadableName()), typesAsString(method.isVarargs(), method.parameters, true)}, severity, - location.sourceStart, + (start == -1) ? location.sourceStart : start, location.sourceEnd); } else { + int start = -1; + if (location instanceof MessageSend) { + // start the warning marker from the location where the name of the method starts + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=300031 + start = (int) (((MessageSend)location).nameSourcePosition >>> 32); + } this.handle( IProblem.UsingDeprecatedMethod, new String[] {new String(method.declaringClass.readableName()), new String(method.selector), typesAsString(method.isVarargs(), method.parameters, false)}, new String[] {new String(method.declaringClass.shortReadableName()), new String(method.selector), typesAsString(method.isVarargs(), method.parameters, true)}, severity, - location.sourceStart, + (start == -1) ? location.sourceStart : start, location.sourceEnd); } } @@ -1383,12 +1399,19 @@ int severity = computeSeverity(IProblem.UsingDeprecatedType); if (severity == ProblemSeverities.Ignore) return; type = type.leafComponentType(); + int sourceStart = -1; + if (location instanceof QualifiedTypeReference) { // https://bugs.eclipse.org/bugs/show_bug.cgi?id=300031 + QualifiedTypeReference ref = (QualifiedTypeReference) location; + if (index < Integer.MAX_VALUE) { + sourceStart = (int) (ref.sourcePositions[index] >> 32); + } + } this.handle( IProblem.UsingDeprecatedType, new String[] {new String(type.readableName())}, new String[] {new String(type.shortReadableName())}, severity, - location.sourceStart, + (sourceStart == -1) ? location.sourceStart : sourceStart, nodeSourceEnd(null, location, index)); } public void disallowedTargetForAnnotation(Annotation annotation) { #P org.eclipse.jdt.core.tests Index: Eclipse Java Tests Compiler/org/eclipse/jdt/tests/compiler/regression/NegativeTest.java =================================================================== RCS file: /home/cvs/numbat/org.eclipse.jdt.core.tests/Eclipse Java Tests Compiler/org/eclipse/jdt/tests/compiler/regression/NegativeTest.java,v retrieving revision 1.335 diff -u -r1.335 NegativeTest.java --- Eclipse Java Tests Compiler/org/eclipse/jdt/tests/compiler/regression/NegativeTest.java 17 Mar 2010 16:10:04 -0000 1.335 +++ Eclipse Java Tests Compiler/org/eclipse/jdt/tests/compiler/regression/NegativeTest.java 18 Mar 2010 16:22:14 -0000 @@ -6959,12 +6959,12 @@ "----------\n" + "1. WARNING in p\\AYHelper.java (at line 7)\n" + " new AY().foo();\n" + - " ^^^^^^^^\n" + + " ^^^^\n" + "The constructor AY() is deprecated\n" + "----------\n" + "2. WARNING in p\\AYHelper.java (at line 7)\n" + " new AY().foo();\n" + - " ^^^^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type AY is deprecated\n" + "----------\n"); } @@ -9313,7 +9313,7 @@ "----------\n" + "1. WARNING in p\\ea\\EAHelper.java (at line 4)\n" + " new EA().foo();\n" + - " ^^^^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type EA is deprecated\n" + "----------\n" ); @@ -10992,7 +10992,7 @@ "----------\n" + "4. WARNING in X.java (at line 15)\n" + " int i = someI.foo(); // should complain about foo() deprecation \n" + - " ^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type I is deprecated\n" + "----------\n" + "5. WARNING in X.java (at line 20)\n" + @@ -11012,7 +11012,7 @@ "----------\n" + "8. WARNING in X.java (at line 25)\n" + " someI.foo(); // should complain about foo() deprecation \n" + - " ^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type I is deprecated\n" + "----------\n", null, @@ -11104,12 +11104,12 @@ "----------\n" + "6. WARNING in X.java (at line 15)\n" + " int i = someI.foo(); // should complain about foo() deprecation \n" + - " ^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type I is deprecated\n" + "----------\n" + "7. WARNING in X.java (at line 18)\n" + " int j = someI.bar(); // should complain about bar() deprecation \n" + - " ^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method bar() from the type I is deprecated\n" + "----------\n" + "8. WARNING in X.java (at line 20)\n" + @@ -11134,12 +11134,12 @@ "----------\n" + "12. WARNING in X.java (at line 25)\n" + " someI.foo(); // should complain about foo() deprecation \n" + - " ^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type I is deprecated\n" + "----------\n" + "13. WARNING in X.java (at line 30)\n" + " someI.foo(); // should complain about foo() deprecation \n" + - " ^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type I is deprecated\n" + "----------\n", null, @@ -12308,7 +12308,12 @@ "} \n", }, "----------\n" + - "1. WARNING in p\\X.java (at line 4)\n" + + "1. WARNING in p\\X.java (at line 3)\n" + + " private class Y { \n" + + " ^\n" + + "The type X.Y is never used locally\n" + + "----------\n" + + "2. WARNING in p\\X.java (at line 4)\n" + " public class Z { \n" + " ^\n" + "The type X.Y.Z is never used locally\n" + @@ -14161,12 +14166,12 @@ "----------\n" + "1. WARNING in p\\AYHelper.java (at line 7)\n" + " new AY().foo();\n" + - " ^^^^^^^^\n" + + " ^^^^\n" + "The constructor AY() is deprecated\n" + "----------\n" + "2. WARNING in p\\AYHelper.java (at line 7)\n" + " new AY().foo();\n" + - " ^^^^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type AY is deprecated\n" + "----------\n"); } @@ -15069,7 +15074,7 @@ "----------\n" + "3. WARNING in X.java (at line 15)\n" + " int i = someI.foo(); // should complain about foo() deprecation \n" + - " ^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type I is deprecated\n" + "----------\n" + "4. WARNING in X.java (at line 20)\n" + @@ -15089,7 +15094,7 @@ "----------\n" + "7. WARNING in X.java (at line 25)\n" + " someI.foo(); // should complain about foo() deprecation \n" + - " ^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type I is deprecated\n" + "----------\n", null, @@ -15182,12 +15187,12 @@ "----------\n" + "6. WARNING in X.java (at line 15)\n" + " int i = someI.foo(); // should complain about foo() deprecation \n" + - " ^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type I is deprecated\n" + "----------\n" + "7. WARNING in X.java (at line 18)\n" + " int j = someI.bar(); // should complain about bar() deprecation \n" + - " ^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method bar() from the type I is deprecated\n" + "----------\n" + "8. WARNING in X.java (at line 20)\n" + @@ -15212,12 +15217,12 @@ "----------\n" + "12. WARNING in X.java (at line 25)\n" + " someI.foo(); // should complain about foo() deprecation \n" + - " ^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type I is deprecated\n" + "----------\n" + "13. WARNING in X.java (at line 30)\n" + " someI.foo(); // should complain about foo() deprecation \n" + - " ^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type I is deprecated\n" + "----------\n", null, #P org.eclipse.jdt.core.tests.builder Index: src/org/eclipse/jdt/core/tests/builder/AnnotationDependencyTests.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.builder/src/org/eclipse/jdt/core/tests/builder/AnnotationDependencyTests.java,v retrieving revision 1.2 diff -u -r1.2 AnnotationDependencyTests.java --- src/org/eclipse/jdt/core/tests/builder/AnnotationDependencyTests.java 12 Jan 2009 18:37:12 -0000 1.2 +++ src/org/eclipse/jdt/core/tests/builder/AnnotationDependencyTests.java 18 Mar 2010 16:22:14 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, Walter Harley and others. + * Copyright (c) 2009, 2010 Walter Harley and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Walter Harley (eclipse@cafewalter.com) - initial implementation + * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jdt.core.tests.builder; @@ -259,7 +260,7 @@ env.addClass( this.srcRoot, "question", "package-info", deprecatedQuestion ); incrementalBuild( this.projectPath ); - expectingOnlySpecificProblemFor(notypesPath, new Problem("", "The type SimpleAnnotation is deprecated", notypesPath, 1, 26, CategorizedProblem.CAT_DEPRECATION, IMarker.SEVERITY_WARNING)); //$NON-NLS-1$ + expectingOnlySpecificProblemFor(notypesPath, new Problem("", "The type SimpleAnnotation is deprecated", notypesPath, 10, 26, CategorizedProblem.CAT_DEPRECATION, IMarker.SEVERITY_WARNING)); //$NON-NLS-1$ env.addClass( this.srcRoot, "question", "package-info", question ); incrementalBuild( this.projectPath ); Index: src/org/eclipse/jdt/core/tests/builder/DependencyTests.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.builder/src/org/eclipse/jdt/core/tests/builder/DependencyTests.java,v retrieving revision 1.32 diff -u -r1.32 DependencyTests.java --- src/org/eclipse/jdt/core/tests/builder/DependencyTests.java 9 Mar 2010 04:28:17 -0000 1.32 +++ src/org/eclipse/jdt/core/tests/builder/DependencyTests.java 18 Mar 2010 16:22:14 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,11 +10,11 @@ *******************************************************************************/ package org.eclipse.jdt.core.tests.builder; -import junit.framework.*; +import junit.framework.Test; import org.eclipse.core.resources.IMarker; -import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; import org.eclipse.jdt.core.JavaModelException; import org.eclipse.jdt.core.compiler.CategorizedProblem; import org.eclipse.jdt.core.tests.util.AbstractCompilerTest; @@ -1237,18 +1237,18 @@ expectingOnlyProblemsFor(new IPath[] {M1Path}); expectingSpecificProblemFor(M1Path, new Problem("", "The type N1.N2.N3 is deprecated", - M1Path, 190, 200, CategorizedProblem.CAT_DEPRECATION, IMarker.SEVERITY_WARNING)); + M1Path, 198, 200, CategorizedProblem.CAT_DEPRECATION, IMarker.SEVERITY_WARNING)); expectingSpecificProblemFor(M1Path, new Problem("", "The method foo() from the type N1.N2.N3 is deprecated", - M1Path, 215, 222, CategorizedProblem.CAT_DEPRECATION, IMarker.SEVERITY_WARNING)); + M1Path, 217, 222, CategorizedProblem.CAT_DEPRECATION, IMarker.SEVERITY_WARNING)); M1Path = env.addClass(rootPath, "p", "M1", M1Contents); incrementalBuild(projectPath); expectingOnlyProblemsFor(new IPath[] {M1Path}); expectingSpecificProblemFor(M1Path, new Problem("", "The type N1.N2.N3 is deprecated", - M1Path, 190, 200, CategorizedProblem.CAT_DEPRECATION, IMarker.SEVERITY_WARNING)); + M1Path, 198, 200, CategorizedProblem.CAT_DEPRECATION, IMarker.SEVERITY_WARNING)); expectingSpecificProblemFor(M1Path, new Problem("", "The method foo() from the type N1.N2.N3 is deprecated", - M1Path, 215, 222, CategorizedProblem.CAT_DEPRECATION, IMarker.SEVERITY_WARNING)); + M1Path, 217, 222, CategorizedProblem.CAT_DEPRECATION, IMarker.SEVERITY_WARNING)); } } #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.213 diff -u -r1.213 AnnotationTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/AnnotationTest.java 3 Mar 2010 18:18:59 -0000 1.213 +++ src/org/eclipse/jdt/core/tests/compiler/regression/AnnotationTest.java 18 Mar 2010 16:22:15 -0000 @@ -3640,7 +3640,7 @@ "----------\n" + "3. WARNING in Y.java (at line 2)\n" + " void foo(){ super.foo(); }\n" + - " ^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type X is deprecated\n" + "----------\n" + "4. ERROR in Y.java (at line 3)\n" + @@ -3677,7 +3677,7 @@ "----------\n" + "3. WARNING in Y.java (at line 2)\n" + " void foo(){ super.foo(); }\n" + - " ^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type X is deprecated\n" + "----------\n" + "4. ERROR in Y.java (at line 3)\n" + @@ -4041,7 +4041,7 @@ "----------\n" + "1. WARNING in X.java (at line 7)\n" + " W.deprecated();\n" + - " ^^^^^^^^^^^^^^\n" + + " ^^^^^^^^^^^^\n" + "The method deprecated() from the type W is deprecated\n" + "----------\n" + "2. WARNING in X.java (at line 8)\n" + @@ -4281,7 +4281,7 @@ "----------\n" + "3. WARNING in X.java (at line 8)\n" + " W.deprecated();\n" + - " ^^^^^^^^^^^^^^\n" + + " ^^^^^^^^^^^^\n" + "The method deprecated() from the type W is deprecated\n" + "----------\n" + "4. WARNING in X.java (at line 9)\n" + @@ -4549,12 +4549,12 @@ "----------\n" + "2. ERROR in X.java (at line 2)\n" + " public class X extends p.OldStuff {\n" + - " ^^^^^^^^^^\n" + + " ^^^^^^^^\n" + "The type OldStuff is deprecated\n" + "----------\n" + "3. ERROR in X.java (at line 8)\n" + " super.foo();\n" + - " ^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type OldStuff is deprecated\n" + "----------\n", JavacTestOptions.Excuse.EclipseWarningConfiguredAsError); @@ -4581,7 +4581,7 @@ "----------\n" + "1. WARNING in X.java (at line 1)\n" + " public class X extends p.OldStuff {\n" + - " ^^^^^^^^^^\n" + + " ^^^^^^^^\n" + "The type OldStuff is deprecated\n" + "----------\n" + "----------\n" + @@ -6029,7 +6029,7 @@ "----------\n" + "1. WARNING in X.java (at line 3)\n" + " Y.initialize i;\n" + - " ^^^^^^^^^^^^\n" + + " ^^^^^^^^^^\n" + "The type Y.initialize is deprecated\n" + "----------\n" + "----------\n" + Index: src/org/eclipse/jdt/core/tests/compiler/regression/Deprecated15Test.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/Deprecated15Test.java,v retrieving revision 1.12 diff -u -r1.12 Deprecated15Test.java --- src/org/eclipse/jdt/core/tests/compiler/regression/Deprecated15Test.java 4 Jan 2010 19:28:16 -0000 1.12 +++ src/org/eclipse/jdt/core/tests/compiler/regression/Deprecated15Test.java 18 Mar 2010 16:22:15 -0000 @@ -13,10 +13,10 @@ import java.util.HashMap; import java.util.Map; -import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; - import junit.framework.Test; +import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; + public class Deprecated15Test extends AbstractRegressionTest { public Deprecated15Test(String name) { super(name); @@ -84,22 +84,22 @@ "7. WARNING in Y.java (at line 9)\n" + " p.X x;\n" + " ^^^\n" + - "The type X is deprecated\n" + + "X is a raw type. References to generic type X should be parameterized\n" + "----------\n" + "8. WARNING in Y.java (at line 9)\n" + " p.X x;\n" + - " ^^^\n" + - "X is a raw type. References to generic type X should be parameterized\n" + + " ^\n" + + "The type X is deprecated\n" + "----------\n" + "9. WARNING in Y.java (at line 10)\n" + " p.X[] xs = { x };\n" + " ^^^\n" + - "The type X is deprecated\n" + + "X is a raw type. References to generic type X should be parameterized\n" + "----------\n" + "10. WARNING in Y.java (at line 10)\n" + " p.X[] xs = { x };\n" + - " ^^^\n" + - "X is a raw type. References to generic type X should be parameterized\n" + + " ^\n" + + "The type X is deprecated\n" + "----------\n", null, true, @@ -138,17 +138,17 @@ "----------\n" + "1. ERROR in p\\M1.java (at line 4)\n" + " a.N1.N2.N3 m = null;\n" + - " ^^^^^^^\n" + + " ^^\n" + "The type N1.N2 is deprecated\n" + "----------\n" + "2. ERROR in p\\M1.java (at line 4)\n" + " a.N1.N2.N3 m = null;\n" + - " ^^^^^^^^^^\n" + + " ^^\n" + "The type N1.N2.N3 is deprecated\n" + "----------\n" + "3. ERROR in p\\M1.java (at line 5)\n" + " m.foo();\n" + - " ^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type N1.N2.N3 is deprecated\n" + "----------\n", JavacTestOptions.Excuse.EclipseWarningConfiguredAsError); Index: src/org/eclipse/jdt/core/tests/compiler/regression/DeprecatedTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/DeprecatedTest.java,v retrieving revision 1.40 diff -u -r1.40 DeprecatedTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/DeprecatedTest.java 4 Jan 2010 19:28:17 -0000 1.40 +++ src/org/eclipse/jdt/core/tests/compiler/regression/DeprecatedTest.java 18 Mar 2010 16:22:15 -0000 @@ -164,7 +164,7 @@ "----------\n" + "2. WARNING in p\\Warning.java (at line 7)\n" + " dateObj.UTC(1,2,3,4,5,6);\n" + - " ^^^^^^^^^^^^^^^^^^^^^^^^\n" + + " ^^^^^^^^^^^^^^^^\n" + "The method UTC(int, int, int, int, int, int) from the type Date is deprecated\n" + "----------\n"); } @@ -197,7 +197,7 @@ "----------\n" + "1. WARNING in A.java (at line 1)\n" + " public class A extends X.Y {}\n" + - " ^^^\n" + + " ^\n" + "The type X.Y is deprecated\n" + "----------\n",// expected output null, @@ -549,12 +549,12 @@ "----------\n" + "5. WARNING in Y.java (at line 9)\n" + " p.X x;\n" + - " ^^^\n" + + " ^\n" + "The type X is deprecated\n" + "----------\n" + "6. WARNING in Y.java (at line 10)\n" + " p.X[] xs = { x };\n" + - " ^^^\n" + + " ^\n" + "The type X is deprecated\n" + "----------\n"); } @@ -594,17 +594,17 @@ "----------\n" + /* expected compiler log */ "1. ERROR in p\\M1.java (at line 4)\n" + " a.N1.N2.N3 m = null;\n" + - " ^^^^^^^\n" + + " ^^\n" + "The type N1.N2 is deprecated\n" + "----------\n" + "2. ERROR in p\\M1.java (at line 4)\n" + " a.N1.N2.N3 m = null;\n" + - " ^^^^^^^^^^\n" + + " ^^\n" + "The type N1.N2.N3 is deprecated\n" + "----------\n" + "3. ERROR in p\\M1.java (at line 5)\n" + " m.foo();\n" + - " ^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type N1.N2.N3 is deprecated\n" + "----------\n", // javac options @@ -646,17 +646,17 @@ "----------\n" + /* expected compiler log */ "1. ERROR in p\\M1.java (at line 4)\n" + " a.N1.N2.N3 m = null;\n" + - " ^^^^^^^\n" + + " ^^\n" + "The type N1.N2 is deprecated\n" + "----------\n" + "2. ERROR in p\\M1.java (at line 4)\n" + " a.N1.N2.N3 m = null;\n" + - " ^^^^^^^^^^\n" + + " ^^\n" + "The type N1.N2.N3 is deprecated\n" + "----------\n" + "3. ERROR in p\\M1.java (at line 5)\n" + " m.foo();\n" + - " ^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type N1.N2.N3 is deprecated\n" + "----------\n", // javac options @@ -742,17 +742,17 @@ "----------\n" + /* expected compiler log */ "1. ERROR in p\\M1.java (at line 4)\n" + " a.N1.N2.N3 m = null;\n" + - " ^^^^^^^\n" + + " ^^\n" + "The type N1.N2 is deprecated\n" + "----------\n" + "2. ERROR in p\\M1.java (at line 4)\n" + " a.N1.N2.N3 m = null;\n" + - " ^^^^^^^^^^\n" + + " ^^\n" + "The type N1.N2.N3 is deprecated\n" + "----------\n" + "3. ERROR in p\\M1.java (at line 5)\n" + " m.foo();\n" + - " ^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type N1.N2.N3 is deprecated\n" + "----------\n", // javac options @@ -799,6 +799,81 @@ // javac options JavacTestOptions.Excuse.EclipseWarningConfiguredAsError /* javac test options */); } +// https://bugs.eclipse.org/bugs/show_bug.cgi?id=300031 +public void test020() { + Map customOptions = new HashMap(); + customOptions.put(CompilerOptions.OPTION_ReportDeprecation, CompilerOptions.ERROR); + runNegativeTest( + // test directory preparation + true /* flush output directory */, + new String[] { /* test files */ + "a.b.c.d/Deprecated.java", + "package a.b.c.d;\n" + + "public class Deprecated {\n" + + " /** @deprecated */\n" + + " public class Inner {\n" + + " /** @deprecated */\n" + + " public class Inn {\n" + + " }\n" + + " }\n" + + " /** @deprecated */\n" + + " public Deprecated foo(){ return null;}\n" + + " /** @deprecated */\n" + + " public Deprecated goo(){ return null;}\n" + + " /** @deprecated */\n" + + " public static Deprecated bar(){ return null;}\n" + + "}\n", + "a.b.c.d.e/T.java", + "package a.b.c.d.e;\n" + + "import a.b.c.d.Deprecated;\n" + + "public class T {\n" + + " a.b.c.d.Deprecated f;\n" + + " a.b.c.d.Deprecated.Inner.Inn g;\n" + + " Deprecated.Inner i;\n" + + " public void m() {\n" + + " f.foo().goo();\n" + + " a.b.c.d.Deprecated.bar();\n" + + " }\n" + + "}" + }, + // compiler options + null /* no class libraries */, + customOptions /* custom options */, + // compiler results + "----------\n" + /* expected compiler log */ + "1. ERROR in a.b.c.d.e\\T.java (at line 5)\n" + + " a.b.c.d.Deprecated.Inner.Inn g;\n" + + " ^^^^^\n" + + "The type Deprecated.Inner is deprecated\n" + + "----------\n" + + "2. ERROR in a.b.c.d.e\\T.java (at line 5)\n" + + " a.b.c.d.Deprecated.Inner.Inn g;\n" + + " ^^^\n" + + "The type Deprecated.Inner.Inn is deprecated\n" + + "----------\n" + + "3. ERROR in a.b.c.d.e\\T.java (at line 6)\n" + + " Deprecated.Inner i;\n" + + " ^^^^^\n" + + "The type Deprecated.Inner is deprecated\n" + + "----------\n" + + "4. ERROR in a.b.c.d.e\\T.java (at line 8)\n" + + " f.foo().goo();\n" + + " ^^^^^\n" + + "The method foo() from the type Deprecated is deprecated\n" + + "----------\n" + + "5. ERROR in a.b.c.d.e\\T.java (at line 8)\n" + + " f.foo().goo();\n" + + " ^^^^^\n" + + "The method goo() from the type Deprecated is deprecated\n" + + "----------\n" + + "6. ERROR in a.b.c.d.e\\T.java (at line 9)\n" + + " a.b.c.d.Deprecated.bar();\n" + + " ^^^^^\n" + + "The method bar() from the type Deprecated is deprecated\n" + + "----------\n", + // javac options + JavacTestOptions.Excuse.EclipseWarningConfiguredAsError /* javac test options */); +} public static Class testClass() { return DeprecatedTest.class; } Index: src/org/eclipse/jdt/core/tests/compiler/regression/GenericTypeTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/GenericTypeTest.java,v retrieving revision 1.816 diff -u -r1.816 GenericTypeTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/GenericTypeTest.java 9 Mar 2010 04:28:15 -0000 1.816 +++ src/org/eclipse/jdt/core/tests/compiler/regression/GenericTypeTest.java 18 Mar 2010 16:22:17 -0000 @@ -30,7 +30,7 @@ // Static initializer to specify tests subset using TESTS_* static variables // All specified tests which does not belong to the class are skipped... static { -// TESTS_NAMES = new String[] { "test0788" }; +// TESTS_NAMES = new String[] { "test1245" }; // TESTS_NUMBERS = new int[] { 1455 }; // TESTS_RANGE = new int[] { 1097, -1 }; } @@ -42628,6 +42628,11 @@ " public class X {\n" + " ^^^^^^^^^^^^^^^^^\n" + "The type Secondary.Private is not visible\n" + + "----------\n" + + "2. WARNING in X.java (at line 4)\n" + + " static private class Private {}\n" + + " ^^^^^^^\n" + + "The type Secondary.Private is never used locally\n" + "----------\n"); } //https://bugs.eclipse.org/bugs/show_bug.cgi?id=216100 - variation Index: src/org/eclipse/jdt/core/tests/compiler/regression/InnerEmulationTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/InnerEmulationTest.java,v retrieving revision 1.58 diff -u -r1.58 InnerEmulationTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/InnerEmulationTest.java 3 Mar 2010 18:19:01 -0000 1.58 +++ src/org/eclipse/jdt/core/tests/compiler/regression/InnerEmulationTest.java 18 Mar 2010 16:22:17 -0000 @@ -5491,12 +5491,12 @@ "----------\n" + "3. WARNING in p\\X.java (at line 6)\n" + " A.M2.MM1 mm1 = (A.M2.MM1) o;\n" + - " ^^^^\n" + + " ^^\n" + "The type A.M2 is deprecated\n" + "----------\n" + "4. WARNING in p\\X.java (at line 6)\n" + " A.M2.MM1 mm1 = (A.M2.MM1) o;\n" + - " ^^^^^^^^\n" + + " ^^^\n" + "The type A.M1.MM1 is deprecated\n" + "----------\n" + "5. WARNING in p\\X.java (at line 6)\n" + @@ -5506,12 +5506,12 @@ "----------\n" + "6. WARNING in p\\X.java (at line 6)\n" + " A.M2.MM1 mm1 = (A.M2.MM1) o;\n" + - " ^^^^\n" + + " ^^\n" + "The type A.M2 is deprecated\n" + "----------\n" + "7. WARNING in p\\X.java (at line 6)\n" + " A.M2.MM1 mm1 = (A.M2.MM1) o;\n" + - " ^^^^^^^^\n" + + " ^^^\n" + "The type A.M1.MM1 is deprecated\n" + "----------\n" + "8. WARNING in p\\X.java (at line 7)\n" + @@ -5521,12 +5521,12 @@ "----------\n" + "9. WARNING in p\\X.java (at line 7)\n" + " A.M2.MM1[] mm1s = (A.M2.MM1[]) os;\n" + - " ^^^^\n" + + " ^^\n" + "The type A.M2 is deprecated\n" + "----------\n" + "10. WARNING in p\\X.java (at line 7)\n" + " A.M2.MM1[] mm1s = (A.M2.MM1[]) os;\n" + - " ^^^^^^^^\n" + + " ^^^\n" + "The type A.M1.MM1 is deprecated\n" + "----------\n" + "11. WARNING in p\\X.java (at line 7)\n" + @@ -5536,12 +5536,12 @@ "----------\n" + "12. WARNING in p\\X.java (at line 7)\n" + " A.M2.MM1[] mm1s = (A.M2.MM1[]) os;\n" + - " ^^^^\n" + + " ^^\n" + "The type A.M2 is deprecated\n" + "----------\n" + "13. WARNING in p\\X.java (at line 7)\n" + " A.M2.MM1[] mm1s = (A.M2.MM1[]) os;\n" + - " ^^^^^^^^\n" + + " ^^^\n" + "The type A.M1.MM1 is deprecated\n" + "----------\n" + "14. ERROR in p\\X.java (at line 16)\n" + Index: src/org/eclipse/jdt/core/tests/compiler/regression/JavadocBugsTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/JavadocBugsTest.java,v retrieving revision 1.70 diff -u -r1.70 JavadocBugsTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocBugsTest.java 3 Mar 2010 18:18:58 -0000 1.70 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocBugsTest.java 18 Mar 2010 16:22:18 -0000 @@ -3386,7 +3386,7 @@ "----------\n" + "1. ERROR in X.java (at line 12)\n" + " new Y().bar();\n" + - " ^^^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method bar() from the type Y is deprecated\n" + "----------\n", JavacTestOptions.Excuse.EclipseWarningConfiguredAsError Index: src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForConstructor.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForConstructor.java,v retrieving revision 1.21 diff -u -r1.21 JavadocTestForConstructor.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForConstructor.java 27 Jun 2008 16:04:45 -0000 1.21 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForConstructor.java 18 Mar 2010 16:22:18 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. + * Copyright (c) 2000, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -66,7 +66,7 @@ "----------\n" + "1. WARNING in X.java (at line 4)\n" + " new Z();\n" - + " ^^^^^^^\n" + + " ^^^\n" + "The constructor Z() is deprecated\n" + "----------\n", null, null, JavacTestOptions.Excuse.EclipseHasSomeMoreWarnings); @@ -100,7 +100,7 @@ "----------\n" + "1. WARNING in X.java (at line 4)\n" + " new Z(2);\n" - + " ^^^^^^^^\n" + + " ^^^^\n" + "The constructor Z(int) is deprecated\n" + "----------\n"); } @@ -135,7 +135,7 @@ "----------\n" + "1. WARNING in X.java (at line 4)\n" + " new Z();\n" - + " ^^^^^^^\n" + + " ^^^\n" + "The constructor Z() is deprecated\n" + "----------\n" + "----------\n" Index: src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForInterface.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForInterface.java,v retrieving revision 1.24 diff -u -r1.24 JavadocTestForInterface.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForInterface.java 27 Jun 2008 16:04:45 -0000 1.24 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForInterface.java 18 Mar 2010 16:22:18 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. + * Copyright (c) 2000, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -983,7 +983,7 @@ "----------\n" + "1. WARNING in X.java (at line 3)\n" + " x.foo();\n" - + " ^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type IX is deprecated\n" + "----------\n", null, null, JavacTestOptions.Excuse.EclipseHasSomeMoreWarnings); @@ -1075,7 +1075,7 @@ "----------\n" + "1. WARNING in X.java (at line 4)\n" + " x.foo(2);\n" - + " ^^^^^^^^\n" + + " ^^^^^^\n" + "The method foo(int) from the type IX is deprecated\n" + "----------\n"); } @@ -1109,7 +1109,7 @@ "----------\n" + "1. WARNING in X.java (at line 4)\n" + " x.foo(2);\n" - + " ^^^^^^^^\n" + + " ^^^^^^\n" + "The method foo(int) from the type IX is deprecated\n" + "----------\n" + "----------\n" Index: src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForMethod.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForMethod.java,v retrieving revision 1.28 diff -u -r1.28 JavadocTestForMethod.java --- src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForMethod.java 27 Jun 2008 16:04:45 -0000 1.28 +++ src/org/eclipse/jdt/core/tests/compiler/regression/JavadocTestForMethod.java 18 Mar 2010 16:22:18 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. + * Copyright (c) 2000, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -76,7 +76,7 @@ "----------\n" + "1. WARNING in X.java (at line 4)\n" + " new Z().foo();\n" - + " ^^^^^^^^^^^^^\n" + + " ^^^^^\n" + "The method foo() from the type Z is deprecated\n" + "----------\n", null, null, JavacTestOptions.Excuse.EclipseHasSomeMoreWarnings); @@ -173,7 +173,7 @@ "----------\n" + "1. WARNING in X.java (at line 4)\n" + " new Z().foo(2);\n" + - " ^^^^^^^^^^^^^^\n" + + " ^^^^^^\n" + "The method foo(int) from the type Z is deprecated\n" + "----------\n" ); @@ -210,7 +210,7 @@ "----------\n" + "1. WARNING in X.java (at line 4)\n" + " new Z().foo(2);\n" + - " ^^^^^^^^^^^^^^\n" + + " ^^^^^^\n" + "The method foo(int) from the type Z is deprecated\n" + "----------\n" + "----------\n" + @@ -278,7 +278,7 @@ "----------\n" + "1. WARNING in X.java (at line 4)\n" + " new Z().foo(2);\n" + - " ^^^^^^^^^^^^^^\n" + + " ^^^^^^\n" + "The method foo(int) from the type Z is deprecated\n" + "----------\n" ); @@ -316,7 +316,7 @@ "----------\n" + "1. WARNING in X.java (at line 4)\n" + " new Z().foo(2);\n" + - " ^^^^^^^^^^^^^^\n" + + " ^^^^^^\n" + "The method foo(int) from the type Z is deprecated\n" + "----------\n" + "----------\n" + @@ -384,7 +384,7 @@ "----------\n" + "1. WARNING in X.java (at line 4)\n" + " new Z().foo(2);\n" + - " ^^^^^^^^^^^^^^\n" + + " ^^^^^^\n" + "The method foo(int) from the type Z is deprecated\n" + "----------\n" ); @@ -421,7 +421,7 @@ "----------\n" + "1. WARNING in X.java (at line 4)\n" + " new Z().foo(2);\n" + - " ^^^^^^^^^^^^^^\n" + + " ^^^^^^\n" + "The method foo(int) from the type Z is deprecated\n" + "----------\n" + "----------\n" + Index: src/org/eclipse/jdt/core/tests/compiler/regression/ProblemTypeAndMethodTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/ProblemTypeAndMethodTest.java,v retrieving revision 1.27 diff -u -r1.27 ProblemTypeAndMethodTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/ProblemTypeAndMethodTest.java 18 Jan 2010 12:41:39 -0000 1.27 +++ src/org/eclipse/jdt/core/tests/compiler/regression/ProblemTypeAndMethodTest.java 18 Mar 2010 16:22:18 -0000 @@ -3359,7 +3359,12 @@ " ^\n" + "The type Foo.Private is not visible\n" + "----------\n" + - "3. WARNING in X.java (at line 13)\n" + + "3. WARNING in X.java (at line 12)\n" + + " private class Private {\n" + + " ^^^^^^^\n" + + "The type Foo.Private is never used locally\n" + + "----------\n" + + "4. WARNING in X.java (at line 13)\n" + " private void foo(){}\n" + " ^^^^^\n" + "The method foo() from the type Foo.Private is never used locally\n" +