summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/symtab/classfile/MetaParser.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/scala/tools/nsc/symtab/classfile/MetaParser.scala')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/MetaParser.scala10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/MetaParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/MetaParser.scala
index c52cc236fe..905a473a96 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/MetaParser.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/MetaParser.scala
@@ -134,7 +134,10 @@ abstract class MetaParser{
def parse(): Type = {
nextToken();
if (token == "[") PolyType(parseTypeParams(), parse())
- else if (token == "(") MethodType(parseParams(), parse())
+ else if (token == "(") {
+ val formals = parseParams()
+ MethodType(owner.newSyntheticValueParams(formals), parse())
+ }
else parseType()
}
owner.setInfo(parse())
@@ -151,7 +154,10 @@ abstract class MetaParser{
protected def parseConstr() {
def parse(): Type = {
nextToken()
- if (token == "(") MethodType(parseParams(), parse())
+ if (token == "(") {
+ val formals = parseParams()
+ MethodType(owner.newSyntheticValueParams(formals), parse())
+ }
else owner.owner.tpe
}
owner.setInfo(parse())