summaryrefslogtreecommitdiff
path: root/test/files/scalacheck/quasiquotes/TermConstructionProps.scala
diff options
context:
space:
mode:
authorDen Shabalin <den.shabalin@gmail.com>2013-12-02 15:12:54 +0100
committerDen Shabalin <den.shabalin@gmail.com>2013-12-10 16:02:13 +0100
commit0ccd4bcac64efe72d9758fbfb6a6dbce44cf308e (patch)
treea3531dc11a14924c9c527a086215c2b2504b296d /test/files/scalacheck/quasiquotes/TermConstructionProps.scala
parent26959249070cc0a00270e192885940dab050a693 (diff)
downloadscala-0ccd4bcac64efe72d9758fbfb6a6dbce44cf308e.tar.gz
scala-0ccd4bcac64efe72d9758fbfb6a6dbce44cf308e.tar.bz2
scala-0ccd4bcac64efe72d9758fbfb6a6dbce44cf308e.zip
SI-6842 Make splicing less sensitive to precise types of trees
Previously trees that represent parameters, case clauses and type variables had strictly defined ValDef, TypeDef and CaseDef types which caused problems in compositionality. Now this checks are moved to runtime so it's possible to pass a tree that is CaseDef but has Tree type.
Diffstat (limited to 'test/files/scalacheck/quasiquotes/TermConstructionProps.scala')
-rw-r--r--test/files/scalacheck/quasiquotes/TermConstructionProps.scala6
1 files changed, 6 insertions, 0 deletions
diff --git a/test/files/scalacheck/quasiquotes/TermConstructionProps.scala b/test/files/scalacheck/quasiquotes/TermConstructionProps.scala
index ded8fd9c16..338c379fc3 100644
--- a/test/files/scalacheck/quasiquotes/TermConstructionProps.scala
+++ b/test/files/scalacheck/quasiquotes/TermConstructionProps.scala
@@ -210,6 +210,12 @@ object TermConstructionProps extends QuasiquoteProperties("term construction") {
assertEqAst(q"{..$xs}", "{1; 2}")
}
+ property("SI-6842") = test {
+ val cases: List[Tree] = cq"a => b" :: cq"_ => c" :: Nil
+ assertEqAst(q"1 match { case ..$cases }", "1 match { case a => b case _ => c }")
+ assertEqAst(q"try 1 catch { case ..$cases }", "try 1 catch { case a => b case _ => c }")
+ }
+
property("SI-8009") = test {
q"`foo`".asInstanceOf[reflect.internal.SymbolTable#Ident].isBackquoted
}