summaryrefslogtreecommitdiff
path: root/test/junit/scala/tools/nsc/backend
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2016-01-22 22:33:29 +0100
committerLukas Rytz <lukas.rytz@gmail.com>2016-01-23 07:26:13 +0100
commit8d3be4dc79cb4679fc4994c32b21e10847e5518f (patch)
tree526242bc68fd901933a961dc14e55633129fb65d /test/junit/scala/tools/nsc/backend
parent7443037a6d1376709b3d83f10e66c9155f76dbaa (diff)
downloadscala-8d3be4dc79cb4679fc4994c32b21e10847e5518f.tar.gz
scala-8d3be4dc79cb4679fc4994c32b21e10847e5518f.tar.bz2
scala-8d3be4dc79cb4679fc4994c32b21e10847e5518f.zip
Harden methods to recognize method invocations to optimize
The previous methods to identify method invocations that can be optimized, such as `isPredefAutoBox`, were String-based. Now we obtain class and method signatures from symbols through the BTypes infrastructure. We also piggy-back on specialization's type transformer to create all specialized subclasses of Tuple1/Tuple2. We'll do the same in the future for FunctionN, but the current JFunctionN are written in Java and specialized artisanally.
Diffstat (limited to 'test/junit/scala/tools/nsc/backend')
-rw-r--r--test/junit/scala/tools/nsc/backend/jvm/analysis/NullnessAnalyzerTest.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/test/junit/scala/tools/nsc/backend/jvm/analysis/NullnessAnalyzerTest.scala b/test/junit/scala/tools/nsc/backend/jvm/analysis/NullnessAnalyzerTest.scala
index a7d1dc168a..daff6fc223 100644
--- a/test/junit/scala/tools/nsc/backend/jvm/analysis/NullnessAnalyzerTest.scala
+++ b/test/junit/scala/tools/nsc/backend/jvm/analysis/NullnessAnalyzerTest.scala
@@ -33,7 +33,7 @@ class NullnessAnalyzerTest extends ClearAfterClass {
val noOptCompiler = NullnessAnalyzerTest.noOptCompiler
import noOptCompiler.genBCode.bTypes.backendUtils._
- def newNullnessAnalyzer(methodNode: MethodNode, classInternalName: InternalName = "C") = new AsmAnalyzer(methodNode, classInternalName, new NullnessAnalyzer)
+ def newNullnessAnalyzer(methodNode: MethodNode, classInternalName: InternalName = "C") = new AsmAnalyzer(methodNode, classInternalName, new NullnessAnalyzer(noOptCompiler.genBCode.bTypes))
def testNullness(analyzer: AsmAnalyzer[NullnessValue], method: MethodNode, query: String, index: Int, nullness: NullnessValue): Unit = {
for (i <- findInstr(method, query)) {