Package org.apache.pekko.util
Class LineNumbers
java.lang.Object
org.apache.pekko.util.LineNumbers
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).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic interfacestatic final classstatic classstatic final classstatic classstatic final classstatic class -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic LineNumbers.ResultScala API: Obtain line number information for the class defining the given object.static StringprettyName(Object obj) Extract source information if available and format a string to identify the class definition in question.
-
Constructor Details
-
LineNumbers
public LineNumbers()
-
-
Method Details
-
apply
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.
-
prettyName
Extract source information if available and format a string to identify the class definition in question. This will include the package name and either source file information or the class name.
-