Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ic4b4VQVEJWetTT1dYzyJ
73 lines
1.7 KiB
Plaintext
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
|