object BytecodeTesting
- Source
- BytecodeTesting.scala
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- BytecodeTesting
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Type Members
- implicit final class MortalInstruction extends AnyVal
- implicit final class listStringLines[T] extends AnyVal
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- implicit def aliveInstruction(ins: Instruction): (Instruction, Boolean)
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def assertDoesNotInvoke(l: List[Instruction], method: String): Unit
- def assertDoesNotInvoke(m: Method, method: String): Unit
- def assertHandlerLabelPostions(h: ExceptionHandler, instructions: List[Instruction], startIndex: Int, endIndex: Int, handlerIndex: Int): Unit
- def assertInvoke(l: List[Instruction], receiver: String, method: String): Unit
- def assertInvoke(m: Method, receiver: String, method: String): Unit
- def assertInvokedMethods(l: List[Instruction], expected: List[String]): Unit
- def assertInvokedMethods(m: Method, expected: List[String]): Unit
- def assertNoIndy(l: List[Instruction]): Unit
- def assertNoIndy(m: Method): Unit
- def assertNoInvoke(ins: List[Instruction]): Unit
- def assertNoInvoke(m: Method): Unit
- def assertSameCode(actual: List[Instruction], expected: List[Instruction]): Unit
- def assertSameCode(method: Method, expected: List[Instruction]): Unit
- def assertSameSummary(actual: List[Instruction], expected: List[Any]): Unit
- def assertSameSummary(method: Method, expected: List[Any]): Unit
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def compileClassesSeparately(codes: List[String], extraArgs: String = "", allowMessage: (Info) => Boolean = _ => false, afterEach: (AbstractFile) => Unit = _ => ()): List[ClassNode]
- def compileToBytesSeparately(codes: List[String], extraArgs: String = "", allowMessage: (Info) => Boolean = _ => false, afterEach: (AbstractFile) => Unit = _ => ()): List[(String, Array[Byte])]
Compile multiple Scala files separately into a single output directory.
Compile multiple Scala files separately into a single output directory.
Note that a new compiler instance is created for compiling each file because symbols survive across runs. This makes separate compilation slower.
The output directory is a physical directory, I have not figured out if / how it's possible to add a VirtualDirectory to the classpath of a compiler.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def findClass(cs: List[ClassNode], name: String): ClassNode
- def findInstr(method: MethodNode, query: String): AbstractInsnNode
Instruction that matches
querywhen textified.Instruction that matches
querywhen textified. Ifquerystarts with a+, the next instruction is returned. - def findInstrs(method: MethodNode, query: String): List[AbstractInsnNode]
Instructions that match
querywhen textified.Instructions that match
querywhen textified. Ifquerystarts with a+, the next instruction is returned. - def genMethod(flags: Int = Opcodes.ACC_PUBLIC, name: String = "m", descriptor: String = "()V", genericSignature: String = null, throwsExceptions: Array[String] = null, handlers: List[ExceptionHandler] = Nil, localVars: List[LocalVariable] = Nil)(body: Instruction*): MethodNode
- def getAsmMethod(c: ClassNode, name: String): MethodNode
- def getAsmMethods(c: ClassNode, name: String): List[MethodNode]
- def getAsmMethods(c: ClassNode, p: (String) => Boolean): List[MethodNode]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getGeneratedClassfiles(outDir: AbstractFile): List[(String, Array[Byte])]
- def getInstructions(c: ClassNode, name: String): List[Instruction]
- def getMethod(c: ClassNode, name: String): Method
- def getMethods(c: ClassNode, name: String): List[Method]
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val ignoreDeprecations: (Info) => Boolean
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def makeSourceFile(code: String, filename: String): BatchSourceFile
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newCompiler(defaultArgs: String = "-usejavacp", extraArgs: String = ""): Compiler
- def newCompilerWithoutVirtualOutdir(defaultArgs: String = "-usejavacp", extraArgs: String = ""): Compiler
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def readAsmClasses(classfiles: List[(String, Array[Byte])]): collection.immutable.List[ClassNode]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- 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 wrapInClass(method: MethodNode): ClassNode