@@ -1072,12 +1072,8 @@ object Parsers {
10721072 }
10731073
10741074 /** Accept identifier and return Ident with its name as a term name. */
1075- def rawTermIdent (): Ident =
1076- makeIdent(in.token, in.offset, ident())
1077-
1078- /** Call `rawTermIdent`, and check it isn't a root package name. */
10791075 def termIdent (): Ident =
1080- val ident = rawTermIdent( )
1076+ val ident = makeIdent(in.token, in.offset, ident() )
10811077 if ident.name == nme.ROOTPKG then
10821078 syntaxError(em " Illegal use of root package name. " )
10831079 ident
@@ -1119,7 +1115,7 @@ object Parsers {
11191115 * | [id ‘.’] ‘this’
11201116 * | [id ‘.’] ‘super’ [ClassQualifier] ‘.’ id
11211117 */
1122- def simpleRef (allowRoot : Boolean = true ): Tree =
1118+ def simpleRef (): Tree =
11231119 val start = in.offset
11241120
11251121 def handleThis (qual : Ident ) =
@@ -1135,19 +1131,21 @@ object Parsers {
11351131
11361132 if in.token == THIS then handleThis(EmptyTypeIdent )
11371133 else if in.token == SUPER then handleSuper(EmptyTypeIdent )
1138- else
1139- val t = if allowRoot then rawTermIdent() else termIdent()
1140- if in.token == DOT then
1141- def qual = cpy.Ident (t)(t.name.toTypeName)
1142- in.lookahead.token match
1143- case THIS =>
1144- in.nextToken()
1145- handleThis(qual)
1146- case SUPER =>
1147- in.nextToken()
1148- handleSuper(qual)
1149- case _ => t
1150- else t
1134+ else if in.lookahead.token == DOT then
1135+ val tok = in.token
1136+ val offset = in.offset
1137+ val name = ident()
1138+ def qual = makeIdent(tok, offset, name.toTypeName)
1139+ in.lookahead.token match
1140+ case THIS =>
1141+ in.nextToken()
1142+ handleThis(qual)
1143+ case SUPER =>
1144+ in.nextToken()
1145+ handleSuper(qual)
1146+ case _ =>
1147+ makeIdent(tok, offset, name)
1148+ else termIdent()
11511149 end simpleRef
11521150
11531151 /** MixinQualifier ::= `[' id `]'
@@ -2972,7 +2970,7 @@ object Parsers {
29722970 */
29732971 def simplePattern (): Tree = in.token match {
29742972 case IDENTIFIER | BACKQUOTED_IDENT | THIS | SUPER =>
2975- simpleRef(allowRoot = false ) match
2973+ simpleRef() match
29762974 case id @ Ident (nme.raw.MINUS ) if isNumericLit => literal(startOffset(id))
29772975 case t => simplePatternRest(t)
29782976 case USCORE =>
0 commit comments