Quelle const-method-handle.txt
Sprache: Text
Processing 'const-method-handle.dex'...
Opened 'const-method-handle.dex', DEX version '039 '
DEX file header:
magic : 'dex\n039\0 '
checksum : 16656 a27
signature : 1953 ...5 aa5
file_size : 2524
header_size : 112
link_size : 0
link_off : 0 (0 x000000)
string_ids_size : 57
string_ids_off : 112 (0 x000070)
type_ids_size : 26
type_ids_off : 340 (0 x000154)
proto_ids_size : 18
proto_ids_off : 444 (0 x0001bc)
field_ids_size : 2
field_ids_off : 660 (0 x000294)
method_ids_size : 23
method_ids_off : 676 (0 x0002a4)
class_defs_size : 2
class_defs_off : 860 (0 x00035c)
data_size : 1588
data_off : 936 (0 x0003a8)
Class #0 header:
class_idx : 5
access_flags : 1 (0 x0001)
superclass_idx : 11
interfaces_off : 0 (0 x000000)
source_file_idx : 29
annotations_off : 1336 (0 x000538)
class_data_off : 2270 (0 x0008de)
static_fields_size : 0
instance_fields_size: 0
direct_methods_size : 2
virtual_methods_size: 0
Class #0 annotations:
Annotations on method #1 'main'
VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Class #0 -
Class descriptor : 'LMain;'
Access flags : 0 x0001 (PUBLIC)
Superclass : 'Ljava/lang/Object;'
Interfaces -
Static fields -
Instance fields -
Direct methods -
#0 : (in LMain;)
name : '<init>'
type : '()V'
access : 0 x10001 (PUBLIC CONSTRUCTOR)
method_idx : 0
code -
registers : 1
ins : 1
outs : 1
insns size : 4 16 -bit code units
0003 b0: |[0003 b0] Main.<init>:()V
0003 c0: 7010 0 a00 0000 |0000 : invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@000 a
0003 c6: 0 e00 |0003 : return-void
catches : (none)
positions :
0 x0000 line=22
locals :
0 x0000 - 0 x0004 reg=0 this LMain;
#1 : (in LMain;)
name : 'main'
type : '([Ljava/lang/String;)V'
access : 0 x0009 (PUBLIC STATIC)
method_idx : 1
code -
registers : 6
ins : 1
outs : 4
insns size : 25 16 -bit code units
0003 c8: |[0003 c8] Main.main:([Ljava/lang/String;)V
0003 d8: 7100 1500 0000 |0000 : invoke-static {}, Ljava/lang/invoke/MethodHandles;.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; // method@0015
0003 de: 0 c00 |0003 : move-result-object v0
0003 e0: 1 c01 0600 |0004 : const-class v1, Lconstmethodhandle/ConstTest; // type@0006
0003 e4: 1 a02 3000 |0006 : const-string v2, "main" // string@0030
0003 e8: 6203 0100 |0008 : sget-object v3, Ljava/lang/Void;.TYPE:Ljava/lang/Class; // field@0001
0003 ec: 1 c04 1900 |000 a: const-class v4, [Ljava/lang/String; // type@0019
0003 f0: 7120 1600 4300 |000 c: invoke-static {v3, v4}, Ljava/lang/invoke/MethodType;.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType; // method@0016
0003 f6: 0 c03 |000 f: move-result-object v3
0003 f8: 6 e40 1400 1032 |0010 : invoke-virtual {v0, v1, v2, v3}, Ljava/lang/invoke/MethodHandles$Lookup;.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; // method@0014
0003 fe: 0 c00 |0013 : move-result-object v0
000400 : fa20 1200 5000 1000 |0014 : invoke-polymorphic {v0, v5}, Ljava/lang/invoke/MethodHandle;.invokeExact:([Ljava/lang/Object;)Ljava/lang/Object;, ([Ljava/lang/String;)V // method@0012 , proto@0010
000408 : 0 e00 |0018 : return-void
catches : (none)
positions :
0 x0000 line=26
0 x000c line=27
0 x0014 line=28
0 x0018 line=29
locals :
0 x0000 - 0 x0019 reg=5 (null) [Ljava/lang/String;
Virtual methods -
source_file_idx : 29 (Main.java)
Class #1 header:
class_idx : 6
access_flags : 1 (0 x0001)
superclass_idx : 11
interfaces_off : 0 (0 x000000)
source_file_idx : 3
annotations_off : 1360 (0 x000550)
class_data_off : 2284 (0 x0008ec)
static_fields_size : 0
instance_fields_size: 0
direct_methods_size : 6
virtual_methods_size: 0
Class #1 annotations:
Annotations on method #3 'displayMethodHandle'
VISIBILITY_SYSTEM Ldalvik/annotation/Throws; value={ Ljava/lang/Throwable; }
Class #1 -
Class descriptor : 'Lconstmethodhandle/ConstTest;'
Access flags : 0 x0001 (PUBLIC)
Superclass : 'Ljava/lang/Object;'
Interfaces -
Static fields -
Instance fields -
Direct methods -
#0 : (in Lconstmethodhandle/ConstTest;)
name : '<init>'
type : '()V'
access : 0 x10001 (PUBLIC CONSTRUCTOR)
method_idx : 2
code -
registers : 1
ins : 1
outs : 1
insns size : 4 16 -bit code units
00040 c: |[00040 c] constmethodhandle.ConstTest.<init>:()V
00041 c: 7010 0 a00 0000 |0000 : invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@000 a
000422 : 0 e00 |0003 : return-void
catches : (none)
positions :
0 x0000 line=22
locals :
0 x0000 - 0 x0004 reg=0 this Lconstmethodhandle/ConstTest;
#1 : (in Lconstmethodhandle/ConstTest;)
name : 'displayMethodHandle'
type : '(Ljava/lang/invoke/MethodHandle;)V'
access : 0 x000a (PRIVATE STATIC)
method_idx : 3
code -
registers : 4
ins : 1
outs : 2
insns size : 47 16 -bit code units
000424 : |[000424 ] constmethodhandle.ConstTest.displayMethodHandle:(Ljava/lang/invoke/MethodHandle;)V
000434 : 6200 0000 |0000 : sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0000
000438 : 2201 0 d00 |0002 : new-instance v1, Ljava/lang/StringBuilder; // type@000 d
00043 c: 7010 0 c00 0100 |0004 : invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@000 c
000442 : 1 a02 1 e00 |0007 : const-string v2, "MethodHandle " // string@001 e
000446 : 6 e20 0 e00 2100 |0009 : invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@000 e
00044 c: 0 c01 |000 c: move-result-object v1
00044 e: 6 e20 0 d00 3100 |000 d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@000 d
000454 : 0 c01 |0010 : move-result-object v1
000456 : 1 a02 0000 |0011 : const-string v2, " => " // string@0000
00045 a: 6 e20 0 e00 2100 |0013 : invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@000 e
000460 : 0 c01 |0016 : move-result-object v1
000462 : 1402 0030 4046 |0017 : const v2, #float 12300 // #46403000
000468 : 7110 0900 0200 |001 a: invoke-static {v2}, Ljava/lang/Float;.valueOf:(F)Ljava/lang/Float; // method@0009
00046 e: 0 c02 |001 d: move-result-object v2
000470 : fa20 1100 2300 0100 |001 e: invoke-polymorphic {v3, v2}, Ljava/lang/invoke/MethodHandle;.invoke:([Ljava/lang/Object;)Ljava/lang/Object;, (Ljava/lang/Object;)Ljava/lang/Class; // method@0011 , proto@0001
000478 : 0 c02 |0022 : move-result-object v2
00047 a: 6 e20 0 d00 2100 |0023 : invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@000 d
000480 : 0 c01 |0026 : move-result-object v1
000482 : 6 e10 0 f00 0100 |0027 : invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@000 f
000488 : 0 c01 |002 a: move-result-object v1
00048 a: 6 e20 0800 1000 |002 b: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0008
000490 : 0 e00 |002 e: return-void
catches : (none)
positions :
0 x0000 line=24
0 x001a line=25
0 x002b line=24
0 x002e line=26
locals :
0 x0000 - 0 x002f reg=3 (null) Ljava/lang/invoke/MethodHandle;
#2 : (in Lconstmethodhandle/ConstTest;)
name : 'displayMethodType'
type : '(Ljava/lang/invoke/MethodType;)V'
access : 0 x000a (PRIVATE STATIC)
method_idx : 4
code -
registers : 4
ins : 1
outs : 2
insns size : 25 16 -bit code units
000494 : |[000494 ] constmethodhandle.ConstTest.displayMethodType:(Ljava/lang/invoke/MethodType;)V
0004 a4: 6200 0000 |0000 : sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0000
0004 a8: 2201 0 d00 |0002 : new-instance v1, Ljava/lang/StringBuilder; // type@000 d
0004 ac: 7010 0 c00 0100 |0004 : invoke-direct {v1}, Ljava/lang/StringBuilder;.<init>:()V // method@000 c
0004 b2: 1 a02 1 f00 |0007 : const-string v2, "MethodType " // string@001 f
0004 b6: 6 e20 0 e00 2100 |0009 : invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@000 e
0004 bc: 0 c01 |000 c: move-result-object v1
0004 be: 6 e20 0 d00 3100 |000 d: invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; // method@000 d
0004 c4: 0 c01 |0010 : move-result-object v1
0004 c6: 6 e10 0 f00 0100 |0011 : invoke-virtual {v1}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@000 f
0004 cc: 0 c01 |0014 : move-result-object v1
0004 ce: 6 e20 0800 1000 |0015 : invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@0008
0004 d4: 0 e00 |0018 : return-void
catches : (none)
positions :
0 x0000 line=29
0 x0018 line=30
locals :
0 x0000 - 0 x0019 reg=3 (null) Ljava/lang/invoke/MethodType;
#3 : (in Lconstmethodhandle/ConstTest;)
name : 'main'
type : '([Ljava/lang/String;)V'
access : 0 x0009 (PUBLIC STATIC)
method_idx : 5
code -
registers : 2
ins : 1
outs : 1
insns size : 15 16 -bit code units
0004 d8: |[0004 d8] constmethodhandle.ConstTest.main:([Ljava/lang/String;)V
0004 e8: 7100 0600 0000 |0000 : invoke-static {}, Lconstmethodhandle/ConstTest;.test1:()Ljava/lang/invoke/MethodHandle; // method@0006
0004 ee: 0 c00 |0003 : move-result-object v0
0004 f0: 7110 0300 0000 |0004 : invoke-static {v0}, Lconstmethodhandle/ConstTest;.displayMethodHandle:(Ljava/lang/invoke/MethodHandle;)V // method@0003
0004 f6: 7100 0700 0000 |0007 : invoke-static {}, Lconstmethodhandle/ConstTest;.test2:()Ljava/lang/invoke/MethodType; // method@0007
0004 fc: 0 c00 |000 a: move-result-object v0
0004 fe: 7110 0400 0000 |000 b: invoke-static {v0}, Lconstmethodhandle/ConstTest;.displayMethodType:(Ljava/lang/invoke/MethodType;)V // method@0004
000504 : 0 e00 |000 e: return-void
catches : (none)
positions :
locals :
#4 : (in Lconstmethodhandle/ConstTest;)
name : 'test1'
type : '()Ljava/lang/invoke/MethodHandle;'
access : 0 x0009 (PUBLIC STATIC)
method_idx : 6
code -
registers : 1
ins : 0
outs : 0
insns size : 3 16 -bit code units
000508 : |[000508 ] constmethodhandle.ConstTest.test1:()Ljava/lang/invoke/MethodHandle;
000518 : fe00 0000 |0000 : const-method-handle v0, method_handle@0000
00051 c: 1100 |0002 : return-object v0
catches : (none)
positions :
locals :
#5 : (in Lconstmethodhandle/ConstTest;)
name : 'test2'
type : '()Ljava/lang/invoke/MethodType;'
access : 0 x0009 (PUBLIC STATIC)
method_idx : 7
code -
registers : 1
ins : 0
outs : 0
insns size : 3 16 -bit code units
000520 : |[000520 ] constmethodhandle.ConstTest.test2:()Ljava/lang/invoke/MethodType;
000530 : ff00 1100 |0000 : const-method-type v0, (CSIJFDLjava/lang/Object;)Z // proto@0011
000534 : 1100 |0002 : return-object v0
catches : (none)
positions :
locals :
Virtual methods -
source_file_idx : 3 (ConstTest.java)
Method handle #0 :
type : invoke-instance
target : Ljava/lang/Object; getClass
target_type : (Ljava/lang/Object;)Ljava/lang/Class;
Messung V0.5 in Prozent C=89 H=96 G=92
¤ Dauer der Verarbeitung: 0.22 Sekunden
(vorverarbeitet am 2026-06-29)
¤
*© Formatika GbR, Deutschland
2026-07-09