summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/Parsers.scala2
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Types.scala2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
index fadd37f66c..0cb0babfcf 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
@@ -972,7 +972,7 @@ trait Parsers requires SyntaxAnalyzer {
val topinfo = opstack.head
opstack = opstack.tail
return Select(
- reduceStack(true, base, topinfo.operand, 0, true),
+ stripParens(reduceStack(true, base, topinfo.operand, 0, true)),
topinfo.operator.encode).setPos(topinfo.pos)
}
}
diff --git a/src/compiler/scala/tools/nsc/symtab/Types.scala b/src/compiler/scala/tools/nsc/symtab/Types.scala
index 01000dd7b2..546d650ce4 100644
--- a/src/compiler/scala/tools/nsc/symtab/Types.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Types.scala
@@ -1083,6 +1083,8 @@ trait Types requires SymbolTable {
closureDepthCache = maxDepth(closureCache)
}
}
+ if (closureCache eq null)
+ throw new TypeError("illegal cyclic reference involving " + sym)
closureCache
}