@@ -226,12 +226,12 @@ class ClassfileParser(
226
226
classRoot.setFlag(sflags)
227
227
moduleRoot.setFlag(Flags .JavaDefined | Flags .ModuleClassCreationFlags )
228
228
229
- val jflags1 = innerClasses.get(currentClassName.toString).fold(jflags : Int )(_.jflags)
230
- val privateWithin = getPrivateWithin(jflags1)
229
+ val privateWithin = getPrivateWithin(jflags)
231
230
232
- classRoot.setPrivateWithin(privateWithin)
233
- moduleRoot.setPrivateWithin(privateWithin)
234
- moduleRoot.sourceModule.setPrivateWithin(privateWithin)
231
+ if privateWithin.exists then
232
+ classRoot.setPrivateWithin(privateWithin)
233
+ moduleRoot.setPrivateWithin(privateWithin)
234
+ moduleRoot.sourceModule.setPrivateWithin(privateWithin)
235
235
236
236
for (i <- 0 until in.nextChar) parseMember(method = false )
237
237
for (i <- 0 until in.nextChar) parseMember(method = true )
@@ -884,13 +884,18 @@ class ClassfileParser(
884
884
*/
885
885
private def enterOwnInnerClasses ()(using Context , DataReader ): Unit = {
886
886
def enterClassAndModule (entry : InnerClassEntry , file : AbstractFile , jflags : Int ) =
887
- SymbolLoaders .enterClassAndModule(
887
+ val (cls, mod) = SymbolLoaders .enterClassAndModule(
888
888
getOwner(jflags),
889
- entry.originalName,
889
+ entry.originalName,
890
890
new ClassfileLoader (file),
891
891
classTranslation.flags(jflags),
892
892
getScope(jflags))
893
893
894
+ val privateWithin = getPrivateWithin(jflags)
895
+ cls.setPrivateWithin(privateWithin)
896
+ mod.setPrivateWithin(privateWithin)
897
+ mod.sourceModule.setPrivateWithin(privateWithin)
898
+
894
899
for entry <- innerClasses.valuesIterator do
895
900
// create a new class member for immediate inner classes
896
901
if entry.outer.name == currentClassName then
0 commit comments