@@ -60,22 +60,18 @@ object Completion {
6060 */
6161 def completionMode (path : List [Tree ], pos : SourcePosition ): Mode =
6262 path match {
63- case Ident (_) :: Import (_, _) :: _ =>
64- Mode .Import
63+ case Ident (_) :: Import (_, _) :: _ => Mode .ImportOrExport
6564 case (ref : RefTree ) :: _ =>
6665 if (ref.name.isTermName) Mode .Term
6766 else if (ref.name.isTypeName) Mode .Type
6867 else Mode .None
6968
7069 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
7271 else Mode .None // Can't help completing the renaming
7372
74- case Import (_, _) :: _ =>
75- Mode .Import
76-
77- case _ =>
78- Mode .None
73+ case (_ : ImportOrExport ) :: _ => Mode .ImportOrExport
74+ case _ => Mode .None
7975 }
8076
8177 /** When dealing with <errors> in varios palces we check to see if they are
@@ -103,8 +99,8 @@ object Completion {
10399 case (sel : untpd.ImportSelector ) :: _ =>
104100 completionPrefix(sel.imported :: Nil , pos)
105101
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 =>
108104 completionPrefix(selector :: Nil , pos)
109105 }.getOrElse(" " )
110106
@@ -146,7 +142,7 @@ object Completion {
146142 case Select (qual @ This (_), _) :: _ if qual.span.isSynthetic => completer.scopeCompletions
147143 case Select (qual, _) :: _ if qual.tpe.hasSimpleKind => completer.selectionCompletions(qual)
148144 case Select (qual, _) :: _ => Map .empty
149- case Import (expr, _ ) :: _ => completer.directMemberCompletions(expr)
145+ case ( tree : ImportOrExport ) :: _ => completer.directMemberCompletions(tree. expr)
150146 case (_ : untpd.ImportSelector ) :: Import (expr, _) :: _ => completer.directMemberCompletions(expr)
151147 case _ => completer.scopeCompletions
152148 }
@@ -566,7 +562,7 @@ object Completion {
566562 val Type : Mode = new Mode (2 )
567563
568564 /** 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
570566 }
571567}
572568
0 commit comments