diff options
author | Li Haoyi <haoyi@dropbox.com> | 2014-11-16 18:18:29 -0800 |
---|---|---|
committer | Li Haoyi <haoyi@dropbox.com> | 2014-11-16 18:18:29 -0800 |
commit | ee1d60aa8f1a2761a7cb06381e4eae602d5f25dc (patch) | |
tree | 24f1a7340794f89e034abd5723d024214a33a2be /scalatexApi/src/main/scala/torimatomeru/ScalaSyntax.scala | |
parent | 90963daf606ea1c0854132a3e8cbafd17a5a346a (diff) | |
download | hands-on-scala-js-ee1d60aa8f1a2761a7cb06381e4eae602d5f25dc.tar.gz hands-on-scala-js-ee1d60aa8f1a2761a7cb06381e4eae602d5f25dc.tar.bz2 hands-on-scala-js-ee1d60aa8f1a2761a7cb06381e4eae602d5f25dc.zip |
Failing test case for `|` in pattern matches
Diffstat (limited to 'scalatexApi/src/main/scala/torimatomeru/ScalaSyntax.scala')
-rw-r--r-- | scalatexApi/src/main/scala/torimatomeru/ScalaSyntax.scala | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/scalatexApi/src/main/scala/torimatomeru/ScalaSyntax.scala b/scalatexApi/src/main/scala/torimatomeru/ScalaSyntax.scala index cb907e3..fcc9637 100644 --- a/scalatexApi/src/main/scala/torimatomeru/ScalaSyntax.scala +++ b/scalatexApi/src/main/scala/torimatomeru/ScalaSyntax.scala @@ -71,7 +71,7 @@ class ScalaSyntax(val input: ParserInput) extends Parser with Basic with Identif // Qualifiers and Ids /////////////////////////////////////////// - def QualId = rule { oneOrMore(IdS()) separatedBy '.' } + def QualId(G: B = t) = rule { oneOrMore(IdS(false)) separatedBy '.' ~ W(G) } def Ids = rule { oneOrMore(IdS()) separatedBy ',' } //path and stableId were refactored (wrt spec) to avoid recursiveness and be more specific @@ -332,7 +332,14 @@ class ScalaSyntax(val input: ParserInput) extends Parser with Basic with Identif def TopStatSeq: Rule0 = rule { zeroOrMore(TopStat).separatedBy(SemiS) } def TopStat: Rule0 = rule { Packaging | PackageObject(false) | Import(false) | zeroOrMore(Annotation ~ optional(NewlineS)) ~ zeroOrMore(Modifier) ~ TmplDef(false) | MATCH } - def Packaging: Rule0 = rule { "package" ~ QualId ~ optional(NewlineS) ~ '{' ~ TopStatSeq ~ '}' } + def Packaging: Rule0 = rule { "package" ~ QualId() ~ '{' ~ TopStatSeq ~ '}' } def PackageObject(G: B = t): Rule0 = rule { "package" ~ "object" ~ ObjectDef(G) } - def CompilationUnit: Rule1[String] = rule { capture(zeroOrMore(SemiS) ~ zeroOrMore("package" ~ QualId).separatedBy(SemiS) ~ TopStatSeq ~ EOI) } + def CompilationUnit: Rule1[String] = rule { + capture( + zeroOrMore(SemiS) ~ + zeroOrMore("package" ~ QualId(false)).separatedBy(SemiS) ~ + TopStatSeq ~ + EOI + ) + } } |