diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-07-24 14:29:23 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-07-24 14:29:23 +0200 |
commit | 0261ed09973d1a54fc80b0e0d0cefabde71b9eb2 (patch) | |
tree | fd42a7b0aeb6b942156740a91193a489338cd84a /src/dotty/tools/dotc/transform/PatternMatcher.scala | |
parent | 868591c81177397782a6bdad22a00112867ca74f (diff) | |
download | dotty-0261ed09973d1a54fc80b0e0d0cefabde71b9eb2.tar.gz dotty-0261ed09973d1a54fc80b0e0d0cefabde71b9eb2.tar.bz2 dotty-0261ed09973d1a54fc80b0e0d0cefabde71b9eb2.zip |
Workaround an issue in mixin.
Mixi does not define stored&substed in classes that inherit this trait.
Diffstat (limited to 'src/dotty/tools/dotc/transform/PatternMatcher.scala')
-rw-r--r-- | src/dotty/tools/dotc/transform/PatternMatcher.scala | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/transform/PatternMatcher.scala b/src/dotty/tools/dotc/transform/PatternMatcher.scala index 1e7d061bf..6a86392da 100644 --- a/src/dotty/tools/dotc/transform/PatternMatcher.scala +++ b/src/dotty/tools/dotc/transform/PatternMatcher.scala @@ -440,7 +440,11 @@ class PatternMatcher extends MiniPhaseTransform with DenotTransformer {thisTrans def emitVars = storedBinders.nonEmpty - private lazy val (stored, substed) = (subPatBinders, subPatRefs).zipped.partition{ case (sym, _) => storedBinders(sym) } + private lazy val storedSubsted = (subPatBinders, subPatRefs).zipped.partition{ case (sym, _) => storedBinders(sym) } + + def stored = storedSubsted._1 + + def substed = storedSubsted._2 // dd: this didn't yet trigger error. But I believe it would. if this causes double denition of symbol error this can be replaced with NoRebindings protected lazy val introducedRebindings: Rebindings = if (!emitVars) Rebindings(subPatBinders, subPatRefs) |