diff options
Diffstat (limited to 'test/files/presentation/ide-t1001326')
-rw-r--r-- | test/files/presentation/ide-t1001326/Test.scala | 91 | ||||
-rw-r--r-- | test/files/presentation/ide-t1001326/src/a/A.scala | 5 |
2 files changed, 0 insertions, 96 deletions
diff --git a/test/files/presentation/ide-t1001326/Test.scala b/test/files/presentation/ide-t1001326/Test.scala deleted file mode 100644 index ff63b9770a..0000000000 --- a/test/files/presentation/ide-t1001326/Test.scala +++ /dev/null @@ -1,91 +0,0 @@ -import scala.tools.nsc.interactive.tests.InteractiveTest -import scala.reflect.internal.util.SourceFile -import scala.tools.nsc.interactive.Response - -object Test extends InteractiveTest { - - override def execute(): Unit = { - val sf = sourceFiles.find(_.file.name == "A.scala").head - uniqueParseTree_t1001326(sf) - unattributedParseTree_t1001326(sf) - neverModifyParseTree_t1001326(sf) - shouldAlwaysReturnParseTree_t1001326(sf) - } - - /** - * Asking twice for a parseTree on the same source should always return a new tree - */ - private def uniqueParseTree_t1001326(sf: SourceFile) { - val parseTree1 = compiler.parseTree(sf) - val parseTree2 = compiler.parseTree(sf) - if (parseTree1 != parseTree2) { - reporter.println("Unique OK") - } else { - reporter.println("Unique FAILED") - } - } - - /** - * A parseTree should never contain any symbols or types - */ - private def unattributedParseTree_t1001326(sf: SourceFile) { - if (noSymbolsOrTypes(compiler.parseTree(sf))) { - reporter.println("Unattributed OK") - } else { - reporter.println("Unattributed FAILED") - } - } - - /** - * Once you have obtained a parseTree it should never change - */ - private def neverModifyParseTree_t1001326(sf: SourceFile) { - val parsedTree = compiler.parseTree(sf) - loadSourceAndWaitUntilTypechecked(sf) - if (noSymbolsOrTypes(parsedTree)) { - reporter.println("NeverModify OK") - } else { - reporter.println("NeverModify FAILED") - } - } - - /** - * Should always return a parse tree - */ - private def shouldAlwaysReturnParseTree_t1001326(sf: SourceFile) { - loadSourceAndWaitUntilTypechecked(sf) - if (noSymbolsOrTypes(compiler.parseTree(sf))) { - reporter.println("AlwaysParseTree OK") - } else { - reporter.println("AlwaysParseTree FAILED") - } - } - - /** - * Load a source and block while it is type-checking. - */ - private def loadSourceAndWaitUntilTypechecked(sf: SourceFile): Unit = { - compiler.askToDoFirst(sf) - val res = new Response[Unit] - compiler.askReload(List(sf), res) - res.get - askLoadedTyped(sf).get - } - - /** - * Traverses a tree and makes sure that there are no types or symbols present in the tree with - * the exception of the symbol for the package 'scala'. This is because that symbol will be - * present in some of the nodes that the compiler generates. - */ - private def noSymbolsOrTypes(tree: compiler.Tree): Boolean = { - tree.forAll { t => - (t.symbol == null || - t.symbol == compiler.NoSymbol || - t.symbol == compiler.definitions.ScalaPackage // ignore the symbol for the scala package for now - ) && ( - t.tpe == null || - t.tpe == compiler.NoType) - } - } - -}
\ No newline at end of file diff --git a/test/files/presentation/ide-t1001326/src/a/A.scala b/test/files/presentation/ide-t1001326/src/a/A.scala deleted file mode 100644 index c82ca02231..0000000000 --- a/test/files/presentation/ide-t1001326/src/a/A.scala +++ /dev/null @@ -1,5 +0,0 @@ -package a - -class A { - def foo(s: String) = s + s -}
\ No newline at end of file |