src/share/classes/com/sun/tools/javac/main/JavaCompiler.java

changeset 937
a2399c8db703
parent 931
c9432f06d9bc
child 1096
b0d5f00e69f7
     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;

mercurial