--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Fri Aug 21 11:25:45 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Fri Aug 21 14:58:21 2009 -0700
@@ -119,6 +119,7 @@
options.get("-relax") != null);
useBeforeDeclarationWarning = options.get("useBeforeDeclarationWarning") != null;
allowInvokedynamic = options.get("invokedynamic") != null;
+ enableSunApiLintControl = options.get("enableSunApiLintControl") != null;
}
/** Switch: relax some constraints for retrofit mode.
@@ -160,6 +161,12 @@
*/
boolean useBeforeDeclarationWarning;
+ /**
+ * Switch: allow lint infrastructure to control Sun proprietary
+ * API warnings.
+ */
+ boolean enableSunApiLintControl;
+
/** Check kind and type of given tree against protokind and prototype.
* If check succeeds, store type in tree and return it.
* If check fails, store errType in tree and return it.
@@ -2215,8 +2222,12 @@
sym.outermostClass() != env.info.scope.owner.outermostClass())
chk.warnDeprecated(tree.pos(), sym);
- if ((sym.flags() & PROPRIETARY) != 0)
- log.strictWarning(tree.pos(), "sun.proprietary", sym);
+ if ((sym.flags() & PROPRIETARY) != 0) {
+ if (enableSunApiLintControl)
+ chk.warnSunApi(tree.pos(), "sun.proprietary", sym);
+ else
+ log.strictWarning(tree.pos(), "sun.proprietary", sym);
+ }
// Test (3): if symbol is a variable, check that its type and
// kind are compatible with the prototype and protokind.