@@ -7,19 +7,19 @@ import dotty.tools.dotc.config.CompilerCommand
77import dotty .tools .dotc .core .Contexts .FreshContext
88import scala .tools .asm .tree .MethodNode
99
10- class SimplifyPosTests extends DottyBytecodeOptimisedTest with SimplifyEquivalences
11- class SimplifyNegTests extends DottyBytecodeTest with SimplifyEquivalences
10+ class SimplifyPosTests extends SimplifyTests (optimise = true )
11+ class SimplifyNegTests extends SimplifyTests (optimise = false )
1212
13- class DottyBytecodeOptimisedTest extends DottyBytecodeTest {
13+ abstract class SimplifyTests ( val optimise : Boolean ) extends DottyBytecodeTest {
1414 override protected def initializeCtx (c : FreshContext ): Unit = {
1515 super .initializeCtx(c)
16- val flags = Array (" -optimise" ) // :+ "-Xprint:simplify"
17- val summary = CompilerCommand .distill(flags)(c)
18- c.setSettings(summary.sstate)
16+ if (optimise) {
17+ val flags = Array (" -optimise" ) // :+ "-Xprint:simplify"
18+ val summary = CompilerCommand .distill(flags)(c)
19+ c.setSettings(summary.sstate)
20+ }
1921 }
20- }
2122
22- trait SimplifyEquivalences { self : DottyBytecodeTest =>
2323 def check (source : String , expected : String , shared : String = " " ): Unit = {
2424 import ASMConverters ._
2525 val src =
@@ -45,7 +45,7 @@ trait SimplifyEquivalences { self: DottyBytecodeTest =>
4545 val A = instructions(" A" )
4646 val B = instructions(" B" )
4747 val diff = diffInstructions(A , B )
48- if (this . isInstanceOf [ DottyBytecodeOptimisedTest ] )
48+ if (optimise )
4949 assert(A == B , s " Bytecode doesn't match: (lhs = source, rhs = expected) \n $diff" )
5050 else
5151 assert(A != B , s " Same Bytecodes without -optimise: you are testing the wrong thing! " )
0 commit comments