--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java Fri Jan 29 16:06:51 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java Fri Jan 29 16:54:52 2010 -0800
@@ -100,6 +100,7 @@
MemberEnter memberEnter;
Types types;
Lint lint;
+ Names names;
JavaFileManager fileManager;
private final Todo todo;
@@ -123,6 +124,7 @@
types = Types.instance(context);
annotate = Annotate.instance(context);
lint = Lint.instance(context);
+ names = Names.instance(context);
predefClassDef = make.ClassDef(
make.Modifiers(PUBLIC),
@@ -308,6 +310,17 @@
}
}
}
+
+ for (Symbol q = tree.packge; q != null && q.kind == PCK; q = q.owner)
+ q.flags_field |= EXISTS;
+
+ Name name = names.package_info;
+ ClassSymbol c = reader.enterClass(name, tree.packge);
+ c.flatname = names.fromString(tree.packge + "." + name);
+ c.sourcefile = tree.sourcefile;
+ c.completer = null;
+ c.members_field = new Scope(c);
+ tree.packge.package_info = c;
}
classEnter(tree.defs, env);
if (addEnv) {