object AkkaLineNumbers
This parser has been copied from the akka-typed project and modified,
as always these guys are way ahead of us! ;)
https://github.com/akka/akka/blob/4729a80e7e6f2923a7e6369b21b2693f82c64589/akka-actor/src/main/scala/akka/util/LineNumbers.scala
This is a minimized byte-code parser that concentrates exclusively on line numbers and source file extraction. It works for all normal classes up to format 52:0 (JDK8), and it also works for Lambdas that are Serializable. The latter restriction is due to the fact that the proxy object generated by LambdaMetafactory otherwise contains no information about which method backs this particular lambda (and there might be multiple defined within a single class).
- Alphabetic
- By Inheritance
- AkkaLineNumbers
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- sealed abstract class Result extends AnyRef
- final case class SourceFile(filename: String) extends Result with Product with Serializable
- final case class SourceFileLines(filename: String, from: Int, to: Int, className: String, methodName: String) extends Result with Product with Serializable
- final case class UnknownSourceFormat(explanation: String) extends Result with Product with Serializable
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
- final def apply(obj: AnyRef): Result
Scala API: Obtain line number information for the class defining the given object.
Scala API: Obtain line number information for the class defining the given object. This is done by reading the byte code (a potentially blocking IO operation) and interpreting the debug information that it may contain.
This does not work for Java 8 lambdas that are not Serializable, because the language designers have consciously made it impossible to obtain the byte code for those.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- 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
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- 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()
- case object NoSourceInfo extends Result with Product with Serializable