File tree 1 file changed +9
-14
lines changed
compiler/src/dotty/tools/dotc/typer
1 file changed +9
-14
lines changed Original file line number Diff line number Diff line change @@ -798,7 +798,7 @@ object Checking {
798
798
tree
799
799
800
800
/** 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
802
802
* experimental imports, all top-level definitions are transformed
803
803
* to @experimental definitions.
804
804
*
@@ -809,19 +809,14 @@ object Checking {
809
809
! sym.isExperimental
810
810
&& sym.source == ctx.compilationUnit.source
811
811
&& ! 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
825
820
826
821
def unitExperimentalLanguageImports =
827
822
def isAllowedImport (sel : untpd.ImportSelector ) =
You can’t perform that action at this time.
0 commit comments