File tree Expand file tree Collapse file tree 1 file changed +9
-14
lines changed
compiler/src/dotty/tools/dotc/typer Expand file tree Collapse file tree 1 file changed +9
-14
lines changed Original file line number Diff line number Diff line change @@ -798,7 +798,7 @@ object Checking {
798798 tree
799799
800800 /** Check that experimental language imports in `trees`
801- * are done only in experimental scopes. For for top-level
801+ * are done only in experimental scopes. For top-level
802802 * experimental imports, all top-level definitions are transformed
803803 * to @experimental definitions.
804804 *
@@ -809,19 +809,14 @@ object Checking {
809809 ! sym.isExperimental
810810 && sym.source == ctx.compilationUnit.source
811811 && ! sym.isConstructor // not constructor of package object
812- && ! sym.is(Package ) && ! sym.isPackageObject && ! sym.name.endsWith(str.TOPLEVEL_SUFFIX )
813-
814- val packageMembers =
815- pack.info.decls
816- .toList.iterator
817- .filter(isNonExperimentalTopLevelDefinition)
818- val packageObjectMembers =
819- pack.info.decls
820- .toList.iterator
821- .filter(sym => sym.isClass && (sym.is(Package ) || sym.isPackageObject))
822- .flatMap(nonExperimentalTopLevelDefs)
823-
824- packageMembers ++ packageObjectMembers
812+ && ! sym.is(Package ) && ! sym.name.isPackageObjectName
813+
814+ pack.info.decls.toList.iterator.flatMap: sym =>
815+ if sym.isClass && (sym.is(Package ) || sym.isPackageObject) then
816+ nonExperimentalTopLevelDefs(sym)
817+ else if isNonExperimentalTopLevelDefinition(sym) then
818+ sym :: Nil
819+ else Nil
825820
826821 def unitExperimentalLanguageImports =
827822 def isAllowedImport (sel : untpd.ImportSelector ) =
You can’t perform that action at this time.
0 commit comments