langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java
changeset 4871 655bba719625
parent 1264 076a3cde30d5
child 5008 3a90203fa91e
--- 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) {