1.1 --- a/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Wed Mar 16 09:41:30 2011 -0700 1.2 +++ b/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Wed Mar 16 17:21:52 2011 -0700 1.3 @@ -638,6 +638,19 @@ 1.4 } 1.5 } 1.6 1.7 + /** Resolve an identifier which may be the binary name of a class or 1.8 + * the Java name of a class or package. 1.9 + * @param name The name to resolve 1.10 + */ 1.11 + public Symbol resolveBinaryNameOrIdent(String name) { 1.12 + try { 1.13 + Name flatname = names.fromString(name.replace("/", ".")); 1.14 + return reader.loadClass(flatname); 1.15 + } catch (CompletionFailure ignore) { 1.16 + return resolveIdent(name); 1.17 + } 1.18 + } 1.19 + 1.20 /** Resolve an identifier. 1.21 * @param name The identifier to resolve 1.22 */ 1.23 @@ -1058,7 +1071,7 @@ 1.24 } else { 1.25 boolean errors = false; 1.26 for (String nameStr : classnames) { 1.27 - Symbol sym = resolveIdent(nameStr); 1.28 + Symbol sym = resolveBinaryNameOrIdent(nameStr); 1.29 if (sym == null || (sym.kind == Kinds.PCK && !processPcks)) { 1.30 log.error("proc.cant.find.class", nameStr); 1.31 errors = true;