@@ -60,22 +60,18 @@ object Completion {
60
60
*/
61
61
def completionMode (path : List [Tree ], pos : SourcePosition ): Mode =
62
62
path match {
63
- case Ident (_) :: Import (_, _) :: _ =>
64
- Mode .Import
63
+ case Ident (_) :: Import (_, _) :: _ => Mode .ImportOrExport
65
64
case (ref : RefTree ) :: _ =>
66
65
if (ref.name.isTermName) Mode .Term
67
66
else if (ref.name.isTypeName) Mode .Type
68
67
else Mode .None
69
68
70
69
case (sel : untpd.ImportSelector ) :: _ =>
71
- if sel.imported.span.contains(pos.span) then Mode .Import
70
+ if sel.imported.span.contains(pos.span) then Mode .ImportOrExport
72
71
else Mode .None // Can't help completing the renaming
73
72
74
- case Import (_, _) :: _ =>
75
- Mode .Import
76
-
77
- case _ =>
78
- Mode .None
73
+ case (_ : ImportOrExport ) :: _ => Mode .ImportOrExport
74
+ case _ => Mode .None
79
75
}
80
76
81
77
/** When dealing with <errors> in varios palces we check to see if they are
@@ -103,8 +99,8 @@ object Completion {
103
99
case (sel : untpd.ImportSelector ) :: _ =>
104
100
completionPrefix(sel.imported :: Nil , pos)
105
101
106
- case Import (expr, selectors ) :: _ =>
107
- selectors.find(_.span.contains(pos.span)).map { selector =>
102
+ case ( tree : untpd. ImportOrExport ) :: _ =>
103
+ tree. selectors.find(_.span.contains(pos.span)).map { selector =>
108
104
completionPrefix(selector :: Nil , pos)
109
105
}.getOrElse(" " )
110
106
@@ -146,7 +142,7 @@ object Completion {
146
142
case Select (qual @ This (_), _) :: _ if qual.span.isSynthetic => completer.scopeCompletions
147
143
case Select (qual, _) :: _ if qual.tpe.hasSimpleKind => completer.selectionCompletions(qual)
148
144
case Select (qual, _) :: _ => Map .empty
149
- case Import (expr, _ ) :: _ => completer.directMemberCompletions(expr)
145
+ case ( tree : ImportOrExport ) :: _ => completer.directMemberCompletions(tree. expr)
150
146
case (_ : untpd.ImportSelector ) :: Import (expr, _) :: _ => completer.directMemberCompletions(expr)
151
147
case _ => completer.scopeCompletions
152
148
}
@@ -566,7 +562,7 @@ object Completion {
566
562
val Type : Mode = new Mode (2 )
567
563
568
564
/** Both term and type symbols are allowed */
569
- val Import : Mode = new Mode (4 ) | Term | Type
565
+ val ImportOrExport : Mode = new Mode (4 ) | Term | Type
570
566
}
571
567
}
572
568
0 commit comments