aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/transform/PatternMatcher.scala
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2015-07-24 14:29:23 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-07-24 14:29:23 +0200
commit0261ed09973d1a54fc80b0e0d0cefabde71b9eb2 (patch)
treefd42a7b0aeb6b942156740a91193a489338cd84a /src/dotty/tools/dotc/transform/PatternMatcher.scala
parent868591c81177397782a6bdad22a00112867ca74f (diff)
downloaddotty-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.scala6
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)