Make default package name an empty string
diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/processor/DeclarationPackageNameProcessor.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/processor/DeclarationPackageNameProcessor.kt
index 21a902f..3116b09 100644
--- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/processor/DeclarationPackageNameProcessor.kt
+++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/processor/DeclarationPackageNameProcessor.kt
@@ -26,12 +26,17 @@
     val result = mutableListOf<String>()
 
     override fun toResult(): List<String> {
-        return result
+        return result.sorted()
     }
 
     override fun process(resolver: Resolver): List<KSAnnotated> {
         val visitor = NameCollector()
         resolver.getNewFiles().forEach{ it.accept(visitor, result) }
+        listOf("K1", "J1").mapNotNull {
+            resolver.getClassDeclarationByName(resolver.getKSNameFromString(it))
+        }.forEach {
+            it.accept(visitor, result)
+        }
         return emptyList()
     }
 }
diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSFileJavaImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSFileJavaImpl.kt
index 23ba7af..f445af9 100644
--- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSFileJavaImpl.kt
+++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/java/KSFileJavaImpl.kt
@@ -50,7 +50,7 @@
         psi.virtualFile.path
     }
 
-    override val packageName: KSName = KSNameImpl.getCached(if (psi.packageName == "") "<root>" else psi.packageName)
+    override val packageName: KSName = KSNameImpl.getCached(psi.packageName)
 
     override fun <D, R> accept(visitor: KSVisitor<D, R>, data: D): R {
         return visitor.visitFile(this, data)
diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSFileImpl.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSFileImpl.kt
index 9b417d0..3a05ca3 100644
--- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSFileImpl.kt
+++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/symbol/impl/kotlin/KSFileImpl.kt
@@ -37,7 +37,7 @@
     }
 
     override val packageName: KSName by lazy {
-        KSNameImpl.getCached(file.packageFqName.toString())
+        KSNameImpl.getCached(file.packageFqName.asString())
     }
 
     override val annotations: Sequence<KSAnnotation> by lazy {
diff --git a/compiler-plugin/testData/api/declarationPackageName.kt b/compiler-plugin/testData/api/declarationPackageName.kt
index 49e4fa5..bf3df55 100644
--- a/compiler-plugin/testData/api/declarationPackageName.kt
+++ b/compiler-plugin/testData/api/declarationPackageName.kt
@@ -17,29 +17,54 @@
 
 // TEST PROCESSOR: DeclarationPackageNameProcessor
 // EXPECTED:
-// test.pack:Outer
-// test.pack:Val
-// test.pack:Outer.Foo
-// test.pack:Inner
-// test.pack:innerVal
-// test.pack:Inner.innerFoo
-// test.pack:InnerLocal
-// test.pack:InnerLocal.<init>
-// test.pack:Inner.<init>
-// test.pack:Nested
-// test.pack:nestedVal
-// test.pack:Nested.nestedFoo
-// test.pack:a
-// test.pack:Nested.<init>
-// test.pack:Outer.<init>
+// <no name>:J1
+// <no name>:J1.<init>
+// <no name>:J2
+// <no name>:J2.<init>
+// <no name>:K1
+// <no name>:K1.<init>
+// <no name>:K2
+// <no name>:K2.<init>
 // test.java.pack:C
+// test.java.pack:C.<init>
 // test.java.pack:Inner
 // test.java.pack:Inner.<init>
 // test.java.pack:Nested
 // test.java.pack:Nested.<init>
-// test.java.pack:C.<init>
+// test.pack:Inner
+// test.pack:Inner.<init>
+// test.pack:Inner.innerFoo
+// test.pack:InnerLocal
+// test.pack:InnerLocal.<init>
+// test.pack:Nested
+// test.pack:Nested.<init>
+// test.pack:Nested.nestedFoo
+// test.pack:Outer
+// test.pack:Outer.<init>
+// test.pack:Outer.Foo
+// test.pack:Val
+// test.pack:a
+// test.pack:innerVal
+// test.pack:nestedVal
 // END
-//FILE: a.kt
+
+// MODULE: module1
+// FILE: K1.kt
+class K1
+
+// FILE: J1.java
+class J1 {
+}
+
+// MODULE: main(module1)
+// FILE: K2.kt
+class K2
+
+// FILE: J2.java
+class J2 {
+}
+
+// FILE: a.kt
 package test.pack
 
 class Outer {