abstract class IcodeComparison extends DirectTest
A class for testing icode. All you need is this in a partest source file --
object Test extends IcodeComparison
-- and the generated output will be the icode for everything in that file. See scaladoc for possible customizations. TODO promote me to partest
- Source
- IcodeComparison.scala
- Alphabetic
- By Inheritance
- IcodeComparison
- DirectTest
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new IcodeComparison()
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from IcodeComparison toany2stringadd[IcodeComparison] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (IcodeComparison, B)
- Implicit
- This member is added by an implicit conversion from IcodeComparison toArrowAssoc[IcodeComparison] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def code: String
The source code to compile defaults to the test file.
The source code to compile defaults to the test file. I.e., the test file compiles itself. For a comparison, the test file will be compiled three times.
- Definition Classes
- IcodeComparison → DirectTest
- def collectIcode(): List[String]
Collect icode at the default phase,
printIcodeAfterPhase
. - def collectIcode(arg0: String, args: String*): List[String]
Compile the test code and return the contents of all (sorted) .icode files, which are immediately deleted.
Compile the test code and return the contents of all (sorted) .icode files, which are immediately deleted.
- arg0
at least one arg is required
- args
must include -Vprint-icode:phase
- def compilationUnits(global: Global)(sourceCodes: String*): List[nsc.Global.CompilationUnit]
- Definition Classes
- DirectTest
- def compile(args: String*): Boolean
- Definition Classes
- DirectTest
- def compileString(global: Global)(sourceCode: String): Boolean
- Definition Classes
- DirectTest
- def ensuring(cond: (IcodeComparison) => Boolean, msg: => Any): IcodeComparison
- Implicit
- This member is added by an implicit conversion from IcodeComparison toEnsuring[IcodeComparison] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (IcodeComparison) => Boolean): IcodeComparison
- Implicit
- This member is added by an implicit conversion from IcodeComparison toEnsuring[IcodeComparison] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): IcodeComparison
- Implicit
- This member is added by an implicit conversion from IcodeComparison toEnsuring[IcodeComparison] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): IcodeComparison
- Implicit
- This member is added by an implicit conversion from IcodeComparison toEnsuring[IcodeComparison] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def extraSettings: String
By default, the test code is compiled with -usejavacp.
By default, the test code is compiled with -usejavacp.
- Definition Classes
- IcodeComparison → DirectTest
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from IcodeComparison toStringFormat[IcodeComparison] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def javaCompilationUnits(global: Global)(sourceCodes: String*): collection.immutable.List[nsc.Global.CompilationUnit]
- Definition Classes
- DirectTest
- def main(args: Array[String]): Unit
Constructor/main body *
Constructor/main body *
- Definition Classes
- DirectTest
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newCompiler(settings: Settings): Global
- Definition Classes
- DirectTest
- def newCompiler(args: String*): Global
- Definition Classes
- DirectTest
- def newJavaSources(codes: String*): List[BatchSourceFile]
- Definition Classes
- DirectTest
- def newSettings(args: List[String]): Settings
- Definition Classes
- DirectTest
- def newSources(codes: String*): List[BatchSourceFile]
- Definition Classes
- DirectTest
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def printIcodeAfterPhase: String
The phase after which icode is printed.
The phase after which icode is printed. Override to check icode at a different point, but you can't print at a phase that is not enabled in this compiler run. Defaults to "icode".
- def printSuboptimalIcodeAfterPhase: String
When comparing the output of two phases, this is the other phase of interest, normally the preceding phase.
When comparing the output of two phases, this is the other phase of interest, normally the preceding phase. Defaults to "icode" for tests of optimizer phases.
- def reporter(settings: Settings): Reporter
- Definition Classes
- DirectTest
- def settings: Settings
- Definition Classes
- DirectTest
- def show(): Unit
Default show is showComparison.
Default show is showComparison. May be overridden for showIcode or similar.
- Definition Classes
- IcodeComparison → DirectTest
- def showComparison(): Unit
Compile the test code with and without optimization, and then print the diff of the icode.
- def showIcode(): Unit
Print icode at the default phase,
printIcodeAfterPhase
. - def sourceFilesToCompiledUnits(global: Global)(files: List[SourceFile]): collection.immutable.List[nsc.Global.CompilationUnit]
- Definition Classes
- DirectTest
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def testOutput: reflect.io.Directory
- Definition Classes
- DirectTest
- def testPath: reflect.io.File
- Definition Classes
- DirectTest
- def testUnderJavaAtLeast[A](version: String)(yesRun: => A): TestUnderJavaAtLeast[A]
Run a test only if the current java version is at least the version specified.
Run a test only if the current java version is at least the version specified.
- Definition Classes
- DirectTest
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def withRun[T](global: Global)(f: (Run) => T): T
- Definition Classes
- DirectTest
Deprecated Value Members
- def →[B](y: B): (IcodeComparison, B)
- Implicit
- This member is added by an implicit conversion from IcodeComparison toArrowAssoc[IcodeComparison] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.