Skip to content

Commit

Permalink
Fix unused method types propagation to next ()
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolasstucki committed Oct 18, 2017
1 parent 28a8554 commit ab32456
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 15 deletions.
14 changes: 7 additions & 7 deletions compiler/src/dotty/tools/dotc/parsing/Parsers.scala
Original file line number Diff line number Diff line change
Expand Up @@ -1843,12 +1843,12 @@ object Parsers {
def typeParamClauseOpt(ownerKind: ParamOwner.Value): List[TypeDef] =
if (in.token == LBRACKET) typeParamClause(ownerKind) else Nil

/** ClsParamClauses ::= {ClsParamClause} [[nl] `(' `implicit' ClsParams `)']
* ClsParamClause ::= [nl] `(' [ClsParams] ')'
/** ClsParamClauses ::= {ClsParamClause} [[nl] `(' `implicit' [`unused'] ClsParams `)']
* ClsParamClause ::= [nl] `(' [`unused'] [ClsParams] ')'
* ClsParams ::= ClsParam {`' ClsParam}
* ClsParam ::= {Annotation} [{Modifier} (`val' | `var') | `inline'] Param
* DefParamClauses ::= {DefParamClause} [[nl] `(' `implicit' DefParams `)']
* DefParamClause ::= [nl] `(' [DefParams] ')'
* DefParamClauses ::= {DefParamClause} [[nl] `(' `implicit' [`unused'] DefParams `)']
* DefParamClause ::= [nl] `(' [`unused'] [DefParams] ')'
* DefParams ::= DefParam {`,' DefParam}
* DefParam ::= {Annotation} [`inline'] Param
* Param ::= id `:' ParamType [`=' Expr]
Expand Down Expand Up @@ -1907,7 +1907,6 @@ object Parsers {
if (in.token == RPAREN) Nil
else {
if (in.token == IMPLICIT || in.token == UNUSED) {
imods = EmptyModifiers
if (in.token == IMPLICIT) {
implicitOffset = in.offset
imods = implicitMods(imods)
Expand All @@ -1920,12 +1919,13 @@ object Parsers {
}
def clauses(): List[List[ValDef]] = {
newLineOptWhenFollowedBy(LPAREN)
if (in.token == LPAREN)
if (in.token == LPAREN) {
imods = EmptyModifiers
paramClause() :: {
firstClauseOfCaseClass = false
if (imods is Implicit) Nil else clauses()
}
else Nil
} else Nil
}
val start = in.offset
val result = clauses()
Expand Down
4 changes: 2 additions & 2 deletions tests/run/unused-4.check
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
foo
foo2
fun
fun 42
foo
foo2
fun2
fun2 abc
4 changes: 2 additions & 2 deletions tests/run/unused-4.scala
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ object Test {
}

def fun(a: Int)(unused b: String): Unit = {
println("fun")
println("fun " + a)
}

def fun2(unused a: Int)(b: String): Unit = {
println("fun2")
println("fun2 " + b)
}
}
4 changes: 2 additions & 2 deletions tests/run/unused-5.check
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ foo
foo
foo
foo
fun
fun 42 42
foo
foo
foo
foo
fun2
fun2 42 42
4 changes: 2 additions & 2 deletions tests/run/unused-5.scala
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ object Test {
}

def fun(a: Int)(unused b: Int)(c: Int)(unused d: Int): Unit = {
println("fun")
println("fun " + a + " " + c)
}

def fun2(unused a2: Int)(b2: Int)(unused c2: Int)(d2: Int): Unit = {
println("fun2")
println("fun2 " + b2 + " " + d2)
}
}

0 comments on commit ab32456

Please sign in to comment.