diff options
author | Li Haoyi <haoyi@dropbox.com> | 2014-11-16 21:17:23 -0800 |
---|---|---|
committer | Li Haoyi <haoyi@dropbox.com> | 2014-11-16 21:17:23 -0800 |
commit | 79fa15b304d36f24fa9dd9c9d9552a6c598c5739 (patch) | |
tree | 35d674ebc1f722e687a0b3d2ffc8570c52b8cd22 /scalatexApi | |
parent | 5a15a2b9a46e1fe86651d16a512ed96f5d5309e9 (diff) | |
download | hands-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
Diffstat (limited to 'scalatexApi')
-rw-r--r-- | scalatexApi/src/main/scala/scalaparser/ScalaSyntax.scala | 10 | ||||
-rw-r--r-- | scalatexApi/src/test/scala/scalaparser/SyntaxTest.scala | 8 |
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{ |