Skip to content

Commit 7590dce

Browse files
committed
Exclude Java module classes in completion
1 parent 0579311 commit 7590dce

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

compiler/src/dotty/tools/dotc/interactive/Interactive.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ object Interactive {
223223
!sym.isPrimaryConstructor &&
224224
sym.sourceSymbol.exists &&
225225
(!sym.is(Package) || !sym.moduleClass.exists) &&
226+
(!sym.is(allOf(JavaDefined, Module), butNot = Package)) &&
226227
!sym.is(allOf(Mutable, Accessor)) &&
227228
(!termOnly || sym.isTerm) &&
228229
(!typeOnly || sym.isType)

language-server/test/dotty/tools/languageserver/CompletionTest.scala

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,4 +116,19 @@ class CompletionTest {
116116
("myClass", Class, "Object{...}"),
117117
("myTrait", Class, "Object{...}")))
118118
}
119+
120+
@Test def importJavaClass: Unit = {
121+
code"""import java.io.FileDesc${m1}""".withSource
122+
.completion(m1, Set(("FileDescriptor", Class, "Object{...}")))
123+
}
124+
125+
@Test def importJavaStaticMethod: Unit = {
126+
code"""import java.lang.System.lineSep${m1}""".withSource
127+
.completion(m1, Set(("lineSeparator", Method, "(): String")))
128+
}
129+
130+
@Test def importJavaStaticField: Unit = {
131+
code"""import java.lang.System.ou${m1}""".withSource
132+
.completion(m1, Set(("out", Field, "java.io.PrintStream")))
133+
}
119134
}

0 commit comments

Comments
 (0)