@@ -46,9 +46,7 @@ object Completion {
46
46
private def completionMode (path : List [Tree ], pos : SourcePosition ): Mode = {
47
47
path match {
48
48
case (ref : RefTree ) :: _ =>
49
- if (ref.name == tpnme.ERROR ) Mode .Type
50
- else if (ref.name == nme.ERROR ) Mode .Term
51
- else if (ref.name.isTermName) Mode .Term
49
+ if (ref.name.isTermName) Mode .Term
52
50
else if (ref.name.isTypeName) Mode .Type
53
51
else Mode .None
54
52
@@ -220,20 +218,9 @@ object Completion {
220
218
! sym.is(allOf(Mutable , Accessor )) &&
221
219
(
222
220
(mode.is(Mode .Term ) && sym.isTerm)
223
- || (mode.is(Mode .StableTerm ) && sym.isTerm && validPathSegment(sym))
224
- || (mode.is(Mode .Type ) && sym.isType)
221
+ || (mode.is(Mode .Type ) && (sym.isType || sym.isStable))
225
222
)
226
223
227
- /** Can this symbol be part of a path? See SLS 3.1 for a definition of a valid path. */
228
- private def validPathSegment (sym : Symbol )(implicit ctx : Context ): Boolean = {
229
- def isRealizable = {
230
- val realizability = CheckRealizable .realizability(sym.info)
231
- realizability == CheckRealizable .Realizable
232
- }
233
-
234
- ! sym.is(Method ) && isRealizable
235
- }
236
-
237
224
/**
238
225
* Find all the members of `site` that are accessible and which should be included in `info`.
239
226
*
@@ -310,13 +297,11 @@ object Completion {
310
297
/** Term symbols are allowed */
311
298
val Term : Mode = new Mode (1 )
312
299
313
- val StableTerm : Mode = new Mode (2 )
314
-
315
- /** Type symbols are allowed */
316
- val Type : Mode = new Mode (4 ) | StableTerm
300
+ /** Type and stable term symbols are allowed */
301
+ val Type : Mode = new Mode (2 )
317
302
318
303
/** Both term and type symbols are allowed */
319
- val Import : Mode = new Mode (8 ) | Term | Type
304
+ val Import : Mode = new Mode (4 ) | Term | Type
320
305
}
321
306
322
307
}
0 commit comments