Files
javademos/classfile-api/output/01-parse.txt
T

73 lines
1.7 KiB
Plaintext

$ java -cp classes:asm-9.11.1.jar... demo.ParseDemo (25.0.5+8-LTS)
== header ==
bytes : 1488
this : demo/Target
super : java/lang/Object
version : 69.0 (ClassFile.JAVA_25_VERSION = 69)
flags : public,super
constant pool : 69 slots
== fields ==
final,private name Ljava/lang/String;
private calls I
== methods ==
public <init>(Ljava/lang/String;)V
public,static fib(I)I
public,static sumTo(I)J
public greet(Ljava/lang/String;)Ljava/lang/String;
public pause(J)V
public,static boom()V
public,static explode([I)I
public calls()I
== class elements, in file order (the model is a stream of elements) ==
AccessFlags
ClassFileVersion
Superclass
Interfaces
field name
field calls
method <init>
method fib
method sumTo
method greet
method pause
method boom
method explode
method calls
SourceFile=Target.java
BoundInnerClassesAttribute
== fib(I)I, instruction by instruction ==
ILOAD_0
ICONST_2
IF_ICMPGE
ILOAD_0
GOTO
ILOAD_0
ICONST_1
ISUB
INVOKESTATIC demo/Target.fib(I)I
ILOAD_0
ICONST_2
ISUB
INVOKESTATIC demo/Target.fib(I)I
IADD
IRETURN
== invoke targets in the whole class ==
2 x demo/Target.fib
1 x indy:makeConcatWithConstants
1 x java/lang/IllegalStateException.<init>
1 x java/lang/Object.<init>
1 x java/lang/Thread.sleep
== a JDK class from the runtime image: java.lang.String ==
bytes 50116, major 69, methods 171, fields 11, interfaces 5
PASS Target.class is class-file version 69 (compiled with --release 25)
PASS Target has 8 methods (constructor + 7)
PASS fib calls itself twice
PASS greet() uses invokedynamic string concatenation
exit=0