--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java Wed Jun 24 15:15:56 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java Sun Jun 28 12:58:24 2015 +0530
@@ -218,6 +218,7 @@
resolve.run();
chk.checkImportsUnique(toplevel);
chk.checkImportsResolvable(toplevel);
+ chk.checkImportedPackagesObservable(toplevel);
toplevel.namedImportScope.finalizeScope();
toplevel.starImportScope.finalizeScope();
} finally {
@@ -323,7 +324,10 @@
chk.importAccessible(sym, packge);
// Import-on-demand java.lang.
- importAll(tree.pos, syms.enterPackage(names.java_lang), env);
+ PackageSymbol javaLang = syms.enterPackage(names.java_lang);
+ if (javaLang.members().isEmpty() && !javaLang.exists())
+ throw new FatalError(diags.fragment("fatal.err.no.java.lang"));
+ importAll(tree.pos, javaLang, env);
// Process the package def and all import clauses.
if (tree.getPackage() != null)
@@ -414,16 +418,6 @@
private void importAll(int pos,
final TypeSymbol tsym,
Env<AttrContext> env) {
- // Check that packages imported from exist (JLS ???).
- if (tsym.kind == PCK && tsym.members().isEmpty() && !tsym.exists()) {
- // If we can't find java.lang, exit immediately.
- if (((PackageSymbol)tsym).fullname.equals(names.java_lang)) {
- JCDiagnostic msg = diags.fragment("fatal.err.no.java.lang");
- throw new FatalError(msg);
- } else {
- log.error(DiagnosticFlag.RESOLVE_ERROR, pos, "doesnt.exist", tsym);
- }
- }
env.toplevel.starImportScope.importAll(types, tsym.members(), typeImportFilter, false);
}