From f86527ce55f17e794e5705dfd4b0cb90bdce2672 Mon Sep 17 00:00:00 2001 From: nielsen Date: Thu, 5 Feb 2009 14:09:10 +0000 Subject: Test that make sure the implementation in SIP 0... Test that make sure the implementation in SIP 00002 behaves correctly --- .../lib/plugins.jar.desired.sha1 | 1 + test/files/neg/plugin-before-parser/misc/build.sh | 14 ++++++++ .../plugin-before-parser/misc/scalac-plugin.xml | 6 ++++ .../neg/plugin-before-parser/src/ThePlugin.scala | 32 +++++++++++++++++ .../neg/plugin-before-parser/testsource.scala | 4 +++ .../lib/plugins.jar.desired.sha1 | 1 + .../neg/plugin-cyclic-dependency/misc/build.sh | 14 ++++++++ .../misc/scalac-plugin.xml | 6 ++++ .../plugin-cyclic-dependency/src/ThePlugin.scala | 41 ++++++++++++++++++++++ .../neg/plugin-cyclic-dependency/testsource.scala | 4 +++ .../lib/plugins.jar.desired.sha1 | 1 + .../files/neg/plugin-multiple-rafter/misc/build.sh | 14 ++++++++ .../plugin-multiple-rafter/misc/scalac-plugin.xml | 6 ++++ .../neg/plugin-multiple-rafter/src/ThePlugin.scala | 31 ++++++++++++++++ .../neg/plugin-multiple-rafter/testsource.scala | 4 +++ .../lib/plugins.jar.desired.sha1 | 1 + .../files/neg/plugin-rafter-before-1/misc/build.sh | 14 ++++++++ .../plugin-rafter-before-1/misc/scalac-plugin.xml | 6 ++++ .../neg/plugin-rafter-before-1/src/ThePlugin.scala | 31 ++++++++++++++++ .../neg/plugin-rafter-before-1/testsource.scala | 4 +++ .../lib/plugins.jar.desired.sha1 | 1 + .../neg/plugin-rightafter-terminal/misc/build.sh | 14 ++++++++ .../misc/scalac-plugin.xml | 6 ++++ .../plugin-rightafter-terminal/src/ThePlugin.scala | 32 +++++++++++++++++ .../plugin-rightafter-terminal/testsource.scala | 4 +++ 25 files changed, 292 insertions(+) create mode 100644 test/files/neg/plugin-before-parser/lib/plugins.jar.desired.sha1 create mode 100755 test/files/neg/plugin-before-parser/misc/build.sh create mode 100644 test/files/neg/plugin-before-parser/misc/scalac-plugin.xml create mode 100644 test/files/neg/plugin-before-parser/src/ThePlugin.scala create mode 100644 test/files/neg/plugin-before-parser/testsource.scala create mode 100644 test/files/neg/plugin-cyclic-dependency/lib/plugins.jar.desired.sha1 create mode 100755 test/files/neg/plugin-cyclic-dependency/misc/build.sh create mode 100644 test/files/neg/plugin-cyclic-dependency/misc/scalac-plugin.xml create mode 100644 test/files/neg/plugin-cyclic-dependency/src/ThePlugin.scala create mode 100644 test/files/neg/plugin-cyclic-dependency/testsource.scala create mode 100644 test/files/neg/plugin-multiple-rafter/lib/plugins.jar.desired.sha1 create mode 100755 test/files/neg/plugin-multiple-rafter/misc/build.sh create mode 100644 test/files/neg/plugin-multiple-rafter/misc/scalac-plugin.xml create mode 100644 test/files/neg/plugin-multiple-rafter/src/ThePlugin.scala create mode 100644 test/files/neg/plugin-multiple-rafter/testsource.scala create mode 100644 test/files/neg/plugin-rafter-before-1/lib/plugins.jar.desired.sha1 create mode 100755 test/files/neg/plugin-rafter-before-1/misc/build.sh create mode 100644 test/files/neg/plugin-rafter-before-1/misc/scalac-plugin.xml create mode 100644 test/files/neg/plugin-rafter-before-1/src/ThePlugin.scala create mode 100644 test/files/neg/plugin-rafter-before-1/testsource.scala create mode 100644 test/files/neg/plugin-rightafter-terminal/lib/plugins.jar.desired.sha1 create mode 100755 test/files/neg/plugin-rightafter-terminal/misc/build.sh create mode 100644 test/files/neg/plugin-rightafter-terminal/misc/scalac-plugin.xml create mode 100644 test/files/neg/plugin-rightafter-terminal/src/ThePlugin.scala create mode 100644 test/files/neg/plugin-rightafter-terminal/testsource.scala (limited to 'test/files') diff --git a/test/files/neg/plugin-before-parser/lib/plugins.jar.desired.sha1 b/test/files/neg/plugin-before-parser/lib/plugins.jar.desired.sha1 new file mode 100644 index 0000000000..b9320adb9c --- /dev/null +++ b/test/files/neg/plugin-before-parser/lib/plugins.jar.desired.sha1 @@ -0,0 +1 @@ +9cca2242701f71f4369067e0fed8c7da2fd72f62 ?plugins.jar diff --git a/test/files/neg/plugin-before-parser/misc/build.sh b/test/files/neg/plugin-before-parser/misc/build.sh new file mode 100755 index 0000000000..8899009d7f --- /dev/null +++ b/test/files/neg/plugin-before-parser/misc/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/" + +BASE=`pwd` + +if [[ -d "${BASE}/src" ]] ; then + + mkdir -p build + ${SCALAC} -d build src/*.scala + jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build . + rm -rf build +fi + diff --git a/test/files/neg/plugin-before-parser/misc/scalac-plugin.xml b/test/files/neg/plugin-before-parser/misc/scalac-plugin.xml new file mode 100644 index 0000000000..58fff40950 --- /dev/null +++ b/test/files/neg/plugin-before-parser/misc/scalac-plugin.xml @@ -0,0 +1,6 @@ + + + beforeparser + scala.test.plugins.ThePlugin + + diff --git a/test/files/neg/plugin-before-parser/src/ThePlugin.scala b/test/files/neg/plugin-before-parser/src/ThePlugin.scala new file mode 100644 index 0000000000..8714a55dc4 --- /dev/null +++ b/test/files/neg/plugin-before-parser/src/ThePlugin.scala @@ -0,0 +1,32 @@ +package scala.test.plugins + +import scala.tools.nsc +import nsc.Global +import nsc.Phase +import nsc.plugins.Plugin +import nsc.plugins.PluginComponent + +class ThePlugin(val global: Global) extends Plugin { + import global._ + + val name = "beforeparser" + val description = "Declares one plugin that wants to be before the parser phase" + val components = List[PluginComponent](thePhase) + + private object thePhase extends PluginComponent { + val global = ThePlugin.this.global + + val runsAfter = List[String]() + override val runsBefore = List[String]("parser") + + val phaseName = ThePlugin.this.name + + def newPhase(prev: Phase) = new ThePhase(prev) + } + + private class ThePhase(prev: Phase) extends Phase(prev) { + def name = ThePlugin.this.name + def run {} + } +} + diff --git a/test/files/neg/plugin-before-parser/testsource.scala b/test/files/neg/plugin-before-parser/testsource.scala new file mode 100644 index 0000000000..9928aaa83c --- /dev/null +++ b/test/files/neg/plugin-before-parser/testsource.scala @@ -0,0 +1,4 @@ +object Test extends Application { + println("beforeparser") +} + diff --git a/test/files/neg/plugin-cyclic-dependency/lib/plugins.jar.desired.sha1 b/test/files/neg/plugin-cyclic-dependency/lib/plugins.jar.desired.sha1 new file mode 100644 index 0000000000..7d62792253 --- /dev/null +++ b/test/files/neg/plugin-cyclic-dependency/lib/plugins.jar.desired.sha1 @@ -0,0 +1 @@ +adfc1223549e592354b56821ee9ed808d391a859 ?plugins.jar diff --git a/test/files/neg/plugin-cyclic-dependency/misc/build.sh b/test/files/neg/plugin-cyclic-dependency/misc/build.sh new file mode 100755 index 0000000000..8899009d7f --- /dev/null +++ b/test/files/neg/plugin-cyclic-dependency/misc/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/" + +BASE=`pwd` + +if [[ -d "${BASE}/src" ]] ; then + + mkdir -p build + ${SCALAC} -d build src/*.scala + jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build . + rm -rf build +fi + diff --git a/test/files/neg/plugin-cyclic-dependency/misc/scalac-plugin.xml b/test/files/neg/plugin-cyclic-dependency/misc/scalac-plugin.xml new file mode 100644 index 0000000000..58fff40950 --- /dev/null +++ b/test/files/neg/plugin-cyclic-dependency/misc/scalac-plugin.xml @@ -0,0 +1,6 @@ + + + beforeparser + scala.test.plugins.ThePlugin + + diff --git a/test/files/neg/plugin-cyclic-dependency/src/ThePlugin.scala b/test/files/neg/plugin-cyclic-dependency/src/ThePlugin.scala new file mode 100644 index 0000000000..1dfc15cb28 --- /dev/null +++ b/test/files/neg/plugin-cyclic-dependency/src/ThePlugin.scala @@ -0,0 +1,41 @@ +package scala.test.plugins + +import scala.tools.nsc +import nsc.Global +import nsc.Phase +import nsc.plugins.Plugin +import nsc.plugins.PluginComponent + +class ThePlugin(val global: Global) extends Plugin { + import global._ + + val name = "cyclicdependency" + val description = "Declares two phases that have a cyclic dependency" + val components = List[PluginComponent](thePhase1,thePhase2) + + private object thePhase1 extends PluginComponent { + val global = ThePlugin.this.global + + val runsAfter = List[String]("tailcalls","cyclicdependency2") + + val phaseName = ThePlugin.this.name + "1" + + def newPhase(prev: Phase) = new ThePhase(prev) + } + + private object thePhase2 extends PluginComponent { + val global = ThePlugin.this.global + + val runsAfter = List[String]("dce","cyclicdependency1") + + val phaseName = ThePlugin.this.name + "2" + + def newPhase(prev: Phase) = new ThePhase(prev) + } + + private class ThePhase(prev: Phase) extends Phase(prev) { + def name = ThePlugin.this.name + def run {} + } +} + diff --git a/test/files/neg/plugin-cyclic-dependency/testsource.scala b/test/files/neg/plugin-cyclic-dependency/testsource.scala new file mode 100644 index 0000000000..f1513ec9a0 --- /dev/null +++ b/test/files/neg/plugin-cyclic-dependency/testsource.scala @@ -0,0 +1,4 @@ +object Test extends Application { + println("cyclicdependency") +} + diff --git a/test/files/neg/plugin-multiple-rafter/lib/plugins.jar.desired.sha1 b/test/files/neg/plugin-multiple-rafter/lib/plugins.jar.desired.sha1 new file mode 100644 index 0000000000..243acf76d7 --- /dev/null +++ b/test/files/neg/plugin-multiple-rafter/lib/plugins.jar.desired.sha1 @@ -0,0 +1 @@ +3f1b1571728dc322666ad8a78cdbb943eee0c013 ?plugins.jar diff --git a/test/files/neg/plugin-multiple-rafter/misc/build.sh b/test/files/neg/plugin-multiple-rafter/misc/build.sh new file mode 100755 index 0000000000..8899009d7f --- /dev/null +++ b/test/files/neg/plugin-multiple-rafter/misc/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/" + +BASE=`pwd` + +if [[ -d "${BASE}/src" ]] ; then + + mkdir -p build + ${SCALAC} -d build src/*.scala + jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build . + rm -rf build +fi + diff --git a/test/files/neg/plugin-multiple-rafter/misc/scalac-plugin.xml b/test/files/neg/plugin-multiple-rafter/misc/scalac-plugin.xml new file mode 100644 index 0000000000..58fff40950 --- /dev/null +++ b/test/files/neg/plugin-multiple-rafter/misc/scalac-plugin.xml @@ -0,0 +1,6 @@ + + + beforeparser + scala.test.plugins.ThePlugin + + diff --git a/test/files/neg/plugin-multiple-rafter/src/ThePlugin.scala b/test/files/neg/plugin-multiple-rafter/src/ThePlugin.scala new file mode 100644 index 0000000000..4c761517c1 --- /dev/null +++ b/test/files/neg/plugin-multiple-rafter/src/ThePlugin.scala @@ -0,0 +1,31 @@ +package scala.test.plugins + +import scala.tools.nsc +import nsc.Global +import nsc.Phase +import nsc.plugins.Plugin +import nsc.plugins.PluginComponent + +class ThePlugin(val global: Global) extends Plugin { + import global._ + + val name = "multi-rafter" + val description = "" + val components = List[PluginComponent](thePhase) + + private object thePhase extends PluginComponent { + val global = ThePlugin.this.global + + val runsAfter = List[String]() + override val runsRightAfter = Some("explicitouter") + val phaseName = ThePlugin.this.name + + def newPhase(prev: Phase) = new ThePhase(prev) + } + + private class ThePhase(prev: Phase) extends Phase(prev) { + def name = ThePlugin.this.name + def run {} + } +} + diff --git a/test/files/neg/plugin-multiple-rafter/testsource.scala b/test/files/neg/plugin-multiple-rafter/testsource.scala new file mode 100644 index 0000000000..f73db1eb60 --- /dev/null +++ b/test/files/neg/plugin-multiple-rafter/testsource.scala @@ -0,0 +1,4 @@ +object Test extends Application { + println("multi-rafter") +} + diff --git a/test/files/neg/plugin-rafter-before-1/lib/plugins.jar.desired.sha1 b/test/files/neg/plugin-rafter-before-1/lib/plugins.jar.desired.sha1 new file mode 100644 index 0000000000..1aa5a0aaf1 --- /dev/null +++ b/test/files/neg/plugin-rafter-before-1/lib/plugins.jar.desired.sha1 @@ -0,0 +1 @@ +4583290684b78581ce2e6affaa37b38d06e8dc45 ?plugins.jar diff --git a/test/files/neg/plugin-rafter-before-1/misc/build.sh b/test/files/neg/plugin-rafter-before-1/misc/build.sh new file mode 100755 index 0000000000..8899009d7f --- /dev/null +++ b/test/files/neg/plugin-rafter-before-1/misc/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/" + +BASE=`pwd` + +if [[ -d "${BASE}/src" ]] ; then + + mkdir -p build + ${SCALAC} -d build src/*.scala + jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build . + rm -rf build +fi + diff --git a/test/files/neg/plugin-rafter-before-1/misc/scalac-plugin.xml b/test/files/neg/plugin-rafter-before-1/misc/scalac-plugin.xml new file mode 100644 index 0000000000..58fff40950 --- /dev/null +++ b/test/files/neg/plugin-rafter-before-1/misc/scalac-plugin.xml @@ -0,0 +1,6 @@ + + + beforeparser + scala.test.plugins.ThePlugin + + diff --git a/test/files/neg/plugin-rafter-before-1/src/ThePlugin.scala b/test/files/neg/plugin-rafter-before-1/src/ThePlugin.scala new file mode 100644 index 0000000000..c42a914066 --- /dev/null +++ b/test/files/neg/plugin-rafter-before-1/src/ThePlugin.scala @@ -0,0 +1,31 @@ +package scala.test.plugins + +import scala.tools.nsc +import nsc.Global +import nsc.Phase +import nsc.plugins.Plugin +import nsc.plugins.PluginComponent + +class ThePlugin(val global: Global) extends Plugin { + import global._ + + val name = "rafter-before-1" + val description = "" + val components = List[PluginComponent](thePhase1) + + private object thePhase1 extends PluginComponent { + val global = ThePlugin.this.global + + val runsAfter = List[String]("refchecks") + override val runsBefore = List[String]("erasure") + val phaseName = ThePlugin.this.name + + def newPhase(prev: Phase) = new ThePhase(prev) + } + + private class ThePhase(prev: Phase) extends Phase(prev) { + def name = ThePlugin.this.name + def run {} + } +} + diff --git a/test/files/neg/plugin-rafter-before-1/testsource.scala b/test/files/neg/plugin-rafter-before-1/testsource.scala new file mode 100644 index 0000000000..836459db22 --- /dev/null +++ b/test/files/neg/plugin-rafter-before-1/testsource.scala @@ -0,0 +1,4 @@ +object Test extends Application { + println("rafter-before-1") +} + diff --git a/test/files/neg/plugin-rightafter-terminal/lib/plugins.jar.desired.sha1 b/test/files/neg/plugin-rightafter-terminal/lib/plugins.jar.desired.sha1 new file mode 100644 index 0000000000..be3c84d6dd --- /dev/null +++ b/test/files/neg/plugin-rightafter-terminal/lib/plugins.jar.desired.sha1 @@ -0,0 +1 @@ +2220a89d53daa59e0daedbfd432bb5e8810e20d3 ?plugins.jar diff --git a/test/files/neg/plugin-rightafter-terminal/misc/build.sh b/test/files/neg/plugin-rightafter-terminal/misc/build.sh new file mode 100755 index 0000000000..8899009d7f --- /dev/null +++ b/test/files/neg/plugin-rightafter-terminal/misc/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/" + +BASE=`pwd` + +if [[ -d "${BASE}/src" ]] ; then + + mkdir -p build + ${SCALAC} -d build src/*.scala + jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build . + rm -rf build +fi + diff --git a/test/files/neg/plugin-rightafter-terminal/misc/scalac-plugin.xml b/test/files/neg/plugin-rightafter-terminal/misc/scalac-plugin.xml new file mode 100644 index 0000000000..58fff40950 --- /dev/null +++ b/test/files/neg/plugin-rightafter-terminal/misc/scalac-plugin.xml @@ -0,0 +1,6 @@ + + + beforeparser + scala.test.plugins.ThePlugin + + diff --git a/test/files/neg/plugin-rightafter-terminal/src/ThePlugin.scala b/test/files/neg/plugin-rightafter-terminal/src/ThePlugin.scala new file mode 100644 index 0000000000..47dd06ec8a --- /dev/null +++ b/test/files/neg/plugin-rightafter-terminal/src/ThePlugin.scala @@ -0,0 +1,32 @@ +package scala.test.plugins + +import scala.tools.nsc +import nsc.Global +import nsc.Phase +import nsc.plugins.Plugin +import nsc.plugins.PluginComponent + +class ThePlugin(val global: Global) extends Plugin { + import global._ + + val name = "rightafterterminal" + val description = "Declares one plugin that wants to be right after the terminal phase" + val components = List[PluginComponent](thePhase) + + private object thePhase extends PluginComponent { + val global = ThePlugin.this.global + + val runsAfter = List[String]() + override val runsRightAfter = Some("terminal") + + val phaseName = ThePlugin.this.name + + def newPhase(prev: Phase) = new ThePhase(prev) + } + + private class ThePhase(prev: Phase) extends Phase(prev) { + def name = ThePlugin.this.name + def run {} + } +} + diff --git a/test/files/neg/plugin-rightafter-terminal/testsource.scala b/test/files/neg/plugin-rightafter-terminal/testsource.scala new file mode 100644 index 0000000000..7af767b638 --- /dev/null +++ b/test/files/neg/plugin-rightafter-terminal/testsource.scala @@ -0,0 +1,4 @@ +object Test extends Application { + println("rightafterterminal") +} + -- cgit v1.2.3