diff -r f2f04935ef3f -r a2399c8db703 src/share/classes/com/sun/tools/javac/main/JavaCompiler.java --- a/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Wed Mar 16 09:41:30 2011 -0700 +++ b/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Wed Mar 16 17:21:52 2011 -0700 @@ -638,6 +638,19 @@ } } + /** Resolve an identifier which may be the binary name of a class or + * the Java name of a class or package. + * @param name The name to resolve + */ + public Symbol resolveBinaryNameOrIdent(String name) { + try { + Name flatname = names.fromString(name.replace("/", ".")); + return reader.loadClass(flatname); + } catch (CompletionFailure ignore) { + return resolveIdent(name); + } + } + /** Resolve an identifier. * @param name The identifier to resolve */ @@ -1058,7 +1071,7 @@ } else { boolean errors = false; for (String nameStr : classnames) { - Symbol sym = resolveIdent(nameStr); + Symbol sym = resolveBinaryNameOrIdent(nameStr); if (sym == null || (sym.kind == Kinds.PCK && !processPcks)) { log.error("proc.cant.find.class", nameStr); errors = true;