diff options
-rw-r--r-- | lint/libs/lint_checks/src/com/android/tools/lint/checks/ApiDetector.java | 7 | ||||
-rw-r--r-- | lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/ApiDetectorTest.java | 21 |
2 files changed, 15 insertions, 13 deletions
diff --git a/lint/libs/lint_checks/src/com/android/tools/lint/checks/ApiDetector.java b/lint/libs/lint_checks/src/com/android/tools/lint/checks/ApiDetector.java index fda22ad..8762a0c 100644 --- a/lint/libs/lint_checks/src/com/android/tools/lint/checks/ApiDetector.java +++ b/lint/libs/lint_checks/src/com/android/tools/lint/checks/ApiDetector.java @@ -343,7 +343,12 @@ public class ApiDetector extends ResourceXmlDetector implements Detector.ClassSc while (owner != null) { int api = mApiDatabase.getCallVersion(owner, name, desc); if (api > minSdk) { - String fqcn = owner.replace('/', '.') + '#' + name; + String fqcn; + if (CONSTRUCTOR_NAME.equals(name)) { + fqcn = "new " + owner.replace('/', '.'); //$NON-NLS-1$ + } else { + fqcn = owner.replace('/', '.') + '#' + name; + } String message = String.format( "Call requires API level %1$d (current min is %2$d): %3$s", api, minSdk, fqcn); diff --git a/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/ApiDetectorTest.java b/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/ApiDetectorTest.java index bfd7c0f..f455f84 100644 --- a/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/ApiDetectorTest.java +++ b/lint/libs/lint_checks/tests/src/com/android/tools/lint/checks/ApiDetectorTest.java @@ -375,11 +375,10 @@ public class ApiDetectorTest extends AbstractCheckTest { public void testIOException() throws Exception { // See http://code.google.com/p/android/issues/detail?id=35190 assertEquals( - "src/test/pkg/ApiCallTest6.java:8: Error: Call requires API level 9 (current min is 1): java.io.IOException#<init> [NewApi]\n" + + "src/test/pkg/ApiCallTest6.java:8: Error: Call requires API level 9 (current min is 1): new java.io.IOException [NewApi]\n" + " IOException ioException = new IOException(throwable);\n" + " ~~~~~~~~~~~\n" + - "1 errors, 0 warnings\n" + - "", + "1 errors, 0 warnings\n", lintProject( "apicheck/classpath=>.classpath", @@ -462,14 +461,13 @@ public class ApiDetectorTest extends AbstractCheckTest { // These errors are correctly -not- suppressed because they // appear outside the middle inner class suppressing its own errors // and its child's errors - "src/test/pkg/ApiCallTest4.java:9: Error: Call requires API level 14 (current min is 1): android.widget.GridLayout#<init> [NewApi]\n" + + "src/test/pkg/ApiCallTest4.java:9: Error: Call requires API level 14 (current min is 1): new android.widget.GridLayout [NewApi]\n" + " new GridLayout(null, null, 0);\n" + " ~~~~~~~~~~\n" + - "src/test/pkg/ApiCallTest4.java:38: Error: Call requires API level 14 (current min is 1): android.widget.GridLayout#<init> [NewApi]\n" + + "src/test/pkg/ApiCallTest4.java:38: Error: Call requires API level 14 (current min is 1): new android.widget.GridLayout [NewApi]\n" + " new GridLayout(null, null, 0);\n" + " ~~~~~~~~~~\n" + - "2 errors, 0 warnings\n" + - "", + "2 errors, 0 warnings\n", lintProject( "apicheck/classpath=>.classpath", @@ -508,11 +506,10 @@ public class ApiDetectorTest extends AbstractCheckTest { public void testTargetAnnotationInner() throws Exception { assertEquals( - "src/test/pkg/ApiTargetTest2.java:32: Error: Call requires API level 14 (current min is 3): android.widget.GridLayout#<init> [NewApi]\n" + + "src/test/pkg/ApiTargetTest2.java:32: Error: Call requires API level 14 (current min is 3): new android.widget.GridLayout [NewApi]\n" + " new GridLayout(null, null, 0);\n" + " ~~~~~~~~~~\n" + - "1 errors, 0 warnings\n" + - "", + "1 errors, 0 warnings\n", lintProject( "apicheck/classpath=>.classpath", @@ -548,10 +545,10 @@ public class ApiDetectorTest extends AbstractCheckTest { public void testSuper() throws Exception { // See http://code.google.com/p/android/issues/detail?id=36384 assertEquals( - "src/test/pkg/ApiCallTest7.java:8: Error: Call requires API level 9 (current min is 4): java.io.IOException#<init> [NewApi]\n" + + "src/test/pkg/ApiCallTest7.java:8: Error: Call requires API level 9 (current min is 4): new java.io.IOException [NewApi]\n" + " super(message, cause); // API 9\n" + " ~~~~~\n" + - "src/test/pkg/ApiCallTest7.java:12: Error: Call requires API level 9 (current min is 4): java.io.IOException#<init> [NewApi]\n" + + "src/test/pkg/ApiCallTest7.java:12: Error: Call requires API level 9 (current min is 4): new java.io.IOException [NewApi]\n" + " super.toString(); throw new IOException((Throwable) null); // API 9\n" + " ~~~~~~~~~~~\n" + "2 errors, 0 warnings\n", |