Skip to content

Commit

Permalink
Adapt macro tests to the 2.13 stdlib
Browse files Browse the repository at this point in the history
  • Loading branch information
smarter authored and bishabosha committed Aug 19, 2019
1 parent 38a423d commit 02c5293
Show file tree
Hide file tree
Showing 8 changed files with 25 additions and 25 deletions.
8 changes: 4 additions & 4 deletions tests/run-macros/inferred-repeated-result.check
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
C.bar1 : scala.Option[scala.collection.Seq[scala.Predef.String]]
C.bar2 : scala.Option[scala.collection.Seq[scala.Predef.String]]
C.foo1 : scala.collection.Seq[scala.Predef.String]
C.foo2 : scala.collection.Seq[scala.Predef.String]
C.bar1 : scala.Option[scala.collection.immutable.Seq[scala.Predef.String]]
C.bar2 : scala.Option[scala.collection.immutable.Seq[scala.Predef.String]]
C.foo1 : scala.collection.immutable.Seq[scala.Predef.String]
C.foo2 : scala.collection.immutable.Seq[scala.Predef.String]
4 changes: 2 additions & 2 deletions tests/run-macros/quote-matcher-runtime.check
Original file line number Diff line number Diff line change
Expand Up @@ -787,13 +787,13 @@ Pattern: {
}
Result: None

Scrutinee: scala.List.apply[scala.Int]((1, 2, 3: scala.<repeated>[scala.Int])).map[scala.Double, scala.collection.immutable.List[scala.Double]](((x: scala.Int) => x.toDouble./(2)))(scala.collection.immutable.List.canBuildFrom[scala.Double]).map[java.lang.String, scala.collection.immutable.List[java.lang.String]](((y: scala.Double) => y.toString()))(scala.collection.immutable.List.canBuildFrom[java.lang.String])
Scrutinee: scala.List.apply[scala.Int]((1, 2, 3: scala.<repeated>[scala.Int])).map[scala.Double](((x: scala.Int) => x.toDouble./(2))).map[java.lang.String](((y: scala.Double) => y.toString()))
Pattern: {
@scala.internal.Quoted.patternBindHole type T
@scala.internal.Quoted.patternBindHole type U
@scala.internal.Quoted.patternBindHole type V

(scala.internal.Quoted.patternHole[scala.List[T]].map[U, scala.collection.immutable.List[U]](scala.internal.Quoted.patternHole[scala.Function1[T, U]])(scala.collection.immutable.List.canBuildFrom[U]).map[V, scala.collection.immutable.List[V]](scala.internal.Quoted.patternHole[scala.Function1[U, V]])(scala.collection.immutable.List.canBuildFrom[V]): scala.collection.immutable.List[scala.Any])
(scala.internal.Quoted.patternHole[scala.List[T]].map[U](scala.internal.Quoted.patternHole[scala.Function1[T, U]]).map[V](scala.internal.Quoted.patternHole[scala.Function1[U, V]]): scala.collection.immutable.List[scala.Any])
}
Result: Some(List(Type(scala.Int), Type(scala.Double), Type(java.lang.String), Expr(scala.List.apply[scala.Int]((1, 2, 3: scala.<repeated>[scala.Int]))), Expr(((x: scala.Int) => x.toDouble./(2))), Expr(((y: scala.Double) => y.toString()))))

Expand Down
12 changes: 6 additions & 6 deletions tests/run-macros/quote-matching-optimize-1.check
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,17 @@ Original: ls.filter(((x: scala.Int) => x.<(3))).foreach[scala.Unit](((x: scala.I
Optimized: ls.foreach[scala.Unit](((x: scala.Int) => if (x.<(3)) scala.Predef.println(x) else ()))
Result: ()

Original: scala.List.apply[scala.Int]((1, 2, 3: scala.<repeated>[scala.Int])).map[scala.Int, scala.collection.immutable.List[scala.Int]](((a: scala.Int) => a.*(2)))(scala.collection.immutable.List.canBuildFrom[scala.Int]).map[java.lang.String, scala.collection.immutable.List[java.lang.String]](((b: scala.Int) => b.toString()))(scala.collection.immutable.List.canBuildFrom[java.lang.String])
Optimized: scala.List.apply[scala.Int]((1, 2, 3: scala.<repeated>[scala.Int])).map[java.lang.String, scala.collection.immutable.List[java.lang.String]](((x: scala.Int) => {
Original: scala.List.apply[scala.Int]((1, 2, 3: scala.<repeated>[scala.Int])).map[scala.Int](((a: scala.Int) => a.*(2))).map[java.lang.String](((b: scala.Int) => b.toString()))
Optimized: scala.List.apply[scala.Int]((1, 2, 3: scala.<repeated>[scala.Int])).map[java.lang.String](((x: scala.Int) => {
val x$1: scala.Int = x.*(2)
x$1.toString()
}))(scala.collection.immutable.List.canBuildFrom[java.lang.String])
}))
Result: List(2, 4, 6)

Original: scala.List.apply[scala.Int]((55, 67, 87: scala.<repeated>[scala.Int])).map[scala.Char, scala.collection.immutable.List[scala.Char]](((a: scala.Int) => a.toChar))(scala.collection.immutable.List.canBuildFrom[scala.Char]).map[java.lang.String, scala.collection.immutable.List[java.lang.String]](((b: scala.Char) => b.toString()))(scala.collection.immutable.List.canBuildFrom[java.lang.String])
Optimized: scala.List.apply[scala.Int]((55, 67, 87: scala.<repeated>[scala.Int])).map[java.lang.String, scala.collection.immutable.List[java.lang.String]](((x: scala.Int) => {
Original: scala.List.apply[scala.Int]((55, 67, 87: scala.<repeated>[scala.Int])).map[scala.Char](((a: scala.Int) => a.toChar)).map[java.lang.String](((b: scala.Char) => b.toString()))
Optimized: scala.List.apply[scala.Int]((55, 67, 87: scala.<repeated>[scala.Int])).map[java.lang.String](((x: scala.Int) => {
val x$2: scala.Char = x.toChar
x$2.toString()
}))(scala.collection.immutable.List.canBuildFrom[java.lang.String])
}))
Result: List(7, C, W)

2 changes: 1 addition & 1 deletion tests/run-macros/quote-matching-optimize-1/Macro_1.scala
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ object Macro {
case '{ type $t; ($ls: List[`$t`]).filter($f).filter($g) } =>
optimize('{ $ls.filter(x => ${f('x)} && ${g('x)}) })

case '{ type $t; type $u; type $v; ($ls: List[`$t`]).map[`$u`, List[`$u`]]($f).map[`$v`, List[`$v`]]($g) } =>
case '{ type $t; type $u; type $v; ($ls: List[`$t`]).map[`$u`]($f).map[`$v`]($g) } =>
optimize('{ $ls.map(x => ${g(f('x))}) })

case '{ type $t; ($ls: List[`$t`]).filter($f).foreach[Unit]($g) } =>
Expand Down
12 changes: 6 additions & 6 deletions tests/run-macros/quote-matching-optimize-2.check
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,17 @@ Original: ls.filter(((x: scala.Int) => x.<(3))).foreach[scala.Unit](((x: scala.I
Optimized: ls.foreach[scala.Any](((x: scala.Int) => if (x.<(3)) scala.Predef.println(x) else ()))
Result: ()

Original: ls.map[scala.Int, scala.collection.immutable.List[scala.Int]](((a: scala.Int) => a.*(2)))(scala.collection.immutable.List.canBuildFrom[scala.Int]).map[java.lang.String, scala.collection.immutable.List[java.lang.String]](((b: scala.Int) => b.toString()))(scala.collection.immutable.List.canBuildFrom[java.lang.String])
Optimized: ls.map[java.lang.String, scala.collection.immutable.List[java.lang.String]](((x: scala.Int) => {
Original: ls.map[scala.Int](((a: scala.Int) => a.*(2))).map[java.lang.String](((b: scala.Int) => b.toString()))
Optimized: ls.map[java.lang.String](((x: scala.Int) => {
val x$1: scala.Int = x.*(2)
x$1.toString()
}))(scala.collection.immutable.List.canBuildFrom[java.lang.String])
}))
Result: List(2, 4, 6)

Original: ls.map[scala.Char, scala.collection.immutable.List[scala.Char]](((a: scala.Int) => a.toChar))(scala.collection.immutable.List.canBuildFrom[scala.Char]).map[java.lang.String, scala.collection.immutable.List[java.lang.String]](((b: scala.Char) => b.toString()))(scala.collection.immutable.List.canBuildFrom[java.lang.String])
Optimized: ls.map[java.lang.String, scala.collection.immutable.List[java.lang.String]](((x: scala.Int) => {
Original: ls.map[scala.Char](((a: scala.Int) => a.toChar)).map[java.lang.String](((b: scala.Char) => b.toString()))
Optimized: ls.map[java.lang.String](((x: scala.Int) => {
val x$2: scala.Char = x.toChar
x$2.toString()
}))(scala.collection.immutable.List.canBuildFrom[java.lang.String])
}))
Result: List(, , )

2 changes: 1 addition & 1 deletion tests/run-macros/quote-matching-optimize-2/Macro_1.scala
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ object Macro {
case '{ ($ls: List[$t]).filter($f).filter($g) } =>
optimize('{ $ls.filter(x => ${f('x)} && ${g('x)}) })

case '{ type $u; type $v; ($ls: List[$t]).map[`$u`, List[`$u`]]($f).map[`$v`, List[`$v`]]($g) } =>
case '{ type $u; type $v; ($ls: List[$t]).map[`$u`]($f).map[`$v`]($g) } =>
optimize('{ $ls.map(x => ${g(f('x))}) })

case '{ ($ls: List[$t]).filter($f).foreach[$u]($g) } =>
Expand Down
8 changes: 4 additions & 4 deletions tests/run-macros/quote-matching-optimize-3.check
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ Original: ls.filter(((x: scala.Int) => x.<(3))).foreach[scala.Unit](((x: scala.I
Optimized: ls.foreach[scala.Any](((x: scala.Int) => if (((x: scala.Int) => x.<(3)).apply(x)) ((x: scala.Int) => scala.Predef.println(x)).apply(x) else ()))
Result: ()

Original: ls.map[scala.Long, scala.collection.immutable.List[scala.Long]](((a: scala.Int) => a.toLong))(scala.collection.immutable.List.canBuildFrom[scala.Long]).map[java.lang.String, scala.collection.immutable.List[java.lang.String]](((b: scala.Long) => b.toString()))(scala.collection.immutable.List.canBuildFrom[java.lang.String])
Optimized: ls.map[java.lang.String, scala.collection.immutable.List[java.lang.String]](((x: scala.Int) => ((b: scala.Long) => b.toString()).apply(((a: scala.Int) => a.toLong).apply(x))))(scala.collection.immutable.List.canBuildFrom[java.lang.String])
Original: ls.map[scala.Long](((a: scala.Int) => a.toLong)).map[java.lang.String](((b: scala.Long) => b.toString()))
Optimized: ls.map[java.lang.String](((x: scala.Int) => ((b: scala.Long) => b.toString()).apply(((a: scala.Int) => a.toLong).apply(x))))
Result: List(1, 2, 3)

Original: ls.map[scala.Char, scala.collection.immutable.List[scala.Char]](((a: scala.Int) => a.toChar))(scala.collection.immutable.List.canBuildFrom[scala.Char]).map[java.lang.String, scala.collection.immutable.List[java.lang.String]](((b: scala.Char) => b.toString()))(scala.collection.immutable.List.canBuildFrom[java.lang.String])
Optimized: ls.map[java.lang.String, scala.collection.immutable.List[java.lang.String]](((x: scala.Int) => ((b: scala.Char) => b.toString()).apply(((a: scala.Int) => a.toChar).apply(x))))(scala.collection.immutable.List.canBuildFrom[java.lang.String])
Original: ls.map[scala.Char](((a: scala.Int) => a.toChar)).map[java.lang.String](((b: scala.Char) => b.toString()))
Optimized: ls.map[java.lang.String](((x: scala.Int) => ((b: scala.Char) => b.toString()).apply(((a: scala.Int) => a.toChar).apply(x))))
Result: List(, , )

2 changes: 1 addition & 1 deletion tests/run-macros/quote-matching-optimize-3/Macro_1.scala
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ object Macro {
case '{ ($ls: List[$t]).filter($f).filter($g) } =>
optimize('{ $ls.filter(x => $f(x) && $g(x)) })

case '{ type $uu; type $vv; ($ls: List[$tt]).map[`$uu`, List[`$uu`]]($f).map[String, List[String]]($g) } =>
case '{ type $uu; type $vv; ($ls: List[$tt]).map[`$uu`]($f).map[String]($g) } =>
optimize('{ $ls.map(x => $g($f(x))) })

case '{ ($ls: List[$t]).filter($f).foreach[$u]($g) } =>
Expand Down

0 comments on commit 02c5293

Please sign in to comment.