From 6135363f8730421202eeb39494d3720b9124131c Mon Sep 17 00:00:00 2001 From: Guillaume Martres Date: Mon, 20 Mar 2017 23:45:48 +0100 Subject: Fix desugaring of variable pattern leaking into API This was especially bad for incremental compilation since the temporary variable name is unstable. --- tests/run/variable-pattern-access.check | 7 +++++++ tests/run/variable-pattern-access.scala | 16 ++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 tests/run/variable-pattern-access.check create mode 100644 tests/run/variable-pattern-access.scala (limited to 'tests') diff --git a/tests/run/variable-pattern-access.check b/tests/run/variable-pattern-access.check new file mode 100644 index 000000000..1039f6a25 --- /dev/null +++ b/tests/run/variable-pattern-access.check @@ -0,0 +1,7 @@ +# Fields of A: +private final int A.a$$local +private final int A.b$$local +private final scala.Tuple2 A.$1$ +# Methods of A: +public int A.a() +public int A.b() diff --git a/tests/run/variable-pattern-access.scala b/tests/run/variable-pattern-access.scala new file mode 100644 index 000000000..1d27b3e42 --- /dev/null +++ b/tests/run/variable-pattern-access.scala @@ -0,0 +1,16 @@ +class A { + val (a, b) = (1, 2) +} +object Test { + def printFields(cls: Class[_]) = + println(cls.getDeclaredFields.map(_.toString).sorted.deep.mkString("\n")) + def printMethods(cls: Class[_]) = + println(cls.getDeclaredMethods.map(_.toString).sorted.deep.mkString("\n")) + + def main(args: Array[String]): Unit = { + println("# Fields of A:") + printFields(classOf[A]) + println("# Methods of A:") + printMethods(classOf[A]) + } +} -- cgit v1.2.3