summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Haoyi <haoyi@dropbox.com>2014-11-16 21:17:23 -0800
committerLi Haoyi <haoyi@dropbox.com>2014-11-16 21:17:23 -0800
commit79fa15b304d36f24fa9dd9c9d9552a6c598c5739 (patch)
tree35d674ebc1f722e687a0b3d2ffc8570c52b8cd22
parent5a15a2b9a46e1fe86651d16a512ed96f5d5309e9 (diff)
downloadhands-on-scala-js-79fa15b304d36f24fa9dd9c9d9552a6c598c5739.tar.gz
hands-on-scala-js-79fa15b304d36f24fa9dd9c9d9552a6c598c5739.tar.bz2
hands-on-scala-js-79fa15b304d36f24fa9dd9c9d9552a6c598c5739.zip
Minimized another perf problem from ParserTests.scala also related to too-much-nesting probably being exponential
-rw-r--r--scalatexApi/src/main/scala/scalaparser/ScalaSyntax.scala10
-rw-r--r--scalatexApi/src/test/scala/scalaparser/SyntaxTest.scala8
2 files changed, 11 insertions, 7 deletions
diff --git a/scalatexApi/src/main/scala/scalaparser/ScalaSyntax.scala b/scalatexApi/src/main/scala/scalaparser/ScalaSyntax.scala
index 71e87bd..989e6d9 100644
--- a/scalatexApi/src/main/scala/scalaparser/ScalaSyntax.scala
+++ b/scalatexApi/src/main/scala/scalaparser/ScalaSyntax.scala
@@ -103,10 +103,8 @@ class ScalaSyntax(val input: ParserInput) extends Parser with Basic with Identif
}
def SimpleType(G: B = t): R0 = rule {
BasicType(false) ~
- optional(WL ~
- '#' ~ Id(false)) ~
- optional(WL ~
- TypeArgs(false)) ~
+ optional(WL ~ '#' ~ Id(false)) ~
+ optional(WL ~ TypeArgs(false)) ~
W(G)
}
def BasicType(G: B = t): R0 = rule {
@@ -148,9 +146,7 @@ class ScalaSyntax(val input: ParserInput) extends Parser with Basic with Identif
def SimpleExpr(G: B = t): R0 = rule {
SimpleExpr1(false) ~
- zeroOrMore(
- WL ~ ('.' ~ Id(false) | TypeArgs(false) | ArgumentExprs(false))
- ) ~
+ zeroOrMore(WL ~ ('.' ~ Id(false) | TypeArgs(false) | ArgumentExprs(false))) ~
optional(WL ~ StrW("_", false)) ~
W(G)
}
diff --git a/scalatexApi/src/test/scala/scalaparser/SyntaxTest.scala b/scalatexApi/src/test/scala/scalaparser/SyntaxTest.scala
index a174e63..8036896 100644
--- a/scalatexApi/src/test/scala/scalaparser/SyntaxTest.scala
+++ b/scalatexApi/src/test/scala/scalaparser/SyntaxTest.scala
@@ -203,6 +203,14 @@ object SyntaxTest extends TestSuite{
|
""".stripMargin
)
+ * - check(
+ """
+ |object O{
+ | A(A(A(A(A(A(A(A(A(A(A(A(A(A(A(A())))))))))))))))
+ |}
+ """.stripMargin
+
+ )
}
println("Checking")
'file{