Skip to content

Instantly share code, notes, and snippets.

@aallam
Created November 22, 2018 12:47
Show Gist options
  • Save aallam/0e6de2591ece329fb6ade9fb98bef444 to your computer and use it in GitHub Desktop.
Save aallam/0e6de2591ece329fb6ade9fb98bef444 to your computer and use it in GitHub Desktop.
Processing 'classes.dex'...
Opened 'classes.dex', DEX version '035'
Class #0 -
Class descriptor : 'LJava8$Logger-CC;'
Access flags : 0x1011 (PUBLIC FINAL SYNTHETIC)
Superclass : 'Ljava/lang/Object;'
Interfaces -
Static fields -
Instance fields -
Direct methods -
#0 : (in LJava8$Logger-CC;)
name : '$default$log'
type : '(LJava8$Logger;Ljava/lang/String;Ljava/lang/String;)V'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 4
ins : 3
outs : 2
insns size : 24 16-bit code units
000434: |[000434] Java8.Logger-CC.$default$log:(LJava8$Logger;Ljava/lang/String;Ljava/lang/String;)V
000444: 2200 0c00 |0000: new-instance v0, Ljava/lang/StringBuilder; // type@000c
000448: 7010 1200 0000 |0002: invoke-direct {v0}, Ljava/lang/StringBuilder;.<init>:()V // method@0012
00044e: 6e20 1300 2000 |0005: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0013
000454: 1a02 0100 |0008: const-string v2, ": " // string@0001
000458: 6e20 1300 2000 |000a: invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0013
00045e: 6e20 1300 3000 |000d: invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; // method@0013
000464: 6e10 1400 0000 |0010: invoke-virtual {v0}, Ljava/lang/StringBuilder;.toString:()Ljava/lang/String; // method@0014
00046a: 0c02 |0013: move-result-object v2
00046c: 7220 0900 2100 |0014: invoke-interface {v1, v2}, LJava8$Logger;.log:(Ljava/lang/String;)V // method@0009
000472: 0e00 |0017: return-void
catches : (none)
positions :
0x0000 line=7
locals :
#1 : (in LJava8$Logger-CC;)
name : 'systemOut'
type : '()LJava8$Logger;'
access : 0x0009 (PUBLIC STATIC)
code -
registers : 2
ins : 0
outs : 2
insns size : 11 16-bit code units
00040c: |[00040c] Java8.Logger-CC.systemOut:()LJava8$Logger;
00041c: 6200 0200 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
000420: 6e10 1100 0000 |0002: invoke-virtual {v0}, Ljava/lang/Object;.getClass:()Ljava/lang/Class; // method@0011
000426: 2201 0100 |0005: new-instance v1, L-$$Lambda$teOjDu261Kz9uXGt1wlPvIP5S04; // type@0001
00042a: 7020 0400 0100 |0007: invoke-direct {v1, v0}, L-$$Lambda$teOjDu261Kz9uXGt1wlPvIP5S04;.<init>:(Ljava/io/PrintStream;)V // method@0004
000430: 1101 |000a: return-object v1
catches : (none)
positions :
0x0000 line=11
locals :
Virtual methods -
source_file_idx : 6 (Java8.java)
Class #1 -
Class descriptor : 'LJava8$Logger;'
Access flags : 0x0600 (INTERFACE ABSTRACT)
Superclass : 'Ljava/lang/Object;'
Interfaces -
Static fields -
Instance fields -
Direct methods -
Virtual methods -
#0 : (in LJava8$Logger;)
name : 'log'
type : '(Ljava/lang/String;)V'
access : 0x0401 (PUBLIC ABSTRACT)
code : (none)
#1 : (in LJava8$Logger;)
name : 'log'
type : '(Ljava/lang/String;Ljava/lang/String;)V'
access : 0x0401 (PUBLIC ABSTRACT)
code : (none)
source_file_idx : 6 (Java8.java)
Class #2 -
Class descriptor : 'LJava8;'
Access flags : 0x0000 ()
Superclass : 'Ljava/lang/Object;'
Interfaces -
Static fields -
Instance fields -
Direct methods -
#0 : (in LJava8;)
name : '<init>'
type : '()V'
access : 0x10000 (CONSTRUCTOR)
code -
registers : 1
ins : 1
outs : 1
insns size : 4 16-bit code units
000474: |[000474] Java8.<init>:()V
000484: 7010 1000 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0010
00048a: 0e00 |0003: return-void
catches : (none)
positions :
0x0000 line=1
locals :
0x0000 - 0x0004 reg=0 this LJava8;
#1 : (in LJava8;)
name : 'lambda$main$0'
type : '(Ljava/lang/String;)V'
access : 0x1008 (STATIC SYNTHETIC)
code -
registers : 2
ins : 1
outs : 2
insns size : 6 16-bit code units
00048c: |[00048c] Java8.lambda$main$0:(Ljava/lang/String;)V
00049c: 6200 0200 |0000: sget-object v0, Ljava/lang/System;.out:Ljava/io/PrintStream; // field@0002
0004a0: 6e20 0f00 1000 |0002: invoke-virtual {v0, v1}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@000f
0004a6: 0e00 |0005: return-void
catches : (none)
positions :
0x0000 line=16
locals :
#2 : (in LJava8;)
name : 'main'
type : '([Ljava/lang/String;)V'
access : 0x0089 (PUBLIC STATIC VARARGS)
code -
registers : 2
ins : 1
outs : 2
insns size : 15 16-bit code units
0004a8: |[0004a8] Java8.main:([Ljava/lang/String;)V
0004b8: 6201 0000 |0000: sget-object v1, L-$$Lambda$Java8$QkyWJ8jlAksLjYziID4cZLvHwoY;.INSTANCE:L-$$Lambda$Java8$QkyWJ8jlAksLjYziID4cZLvHwoY; // field@0000
0004bc: 7110 0e00 0100 |0002: invoke-static {v1}, LJava8;.sayHi:(LJava8$Logger;)V // method@000e
0004c2: 7100 0800 0000 |0005: invoke-static {}, LJava8$Logger-CC;.systemOut:()LJava8$Logger; // method@0008
0004c8: 0c01 |0008: move-result-object v1
0004ca: 1a00 2300 |0009: const-string v0, "hello from static" // string@0023
0004ce: 7220 0900 0100 |000b: invoke-interface {v1, v0}, LJava8$Logger;.log:(Ljava/lang/String;)V // method@0009
0004d4: 0e00 |000e: return-void
catches : (none)
positions :
0x0000 line=16
0x0005 line=17
locals :
#3 : (in LJava8;)
name : 'sayHi'
type : '(LJava8$Logger;)V'
access : 0x000a (PRIVATE STATIC)
code -
registers : 3
ins : 1
outs : 3
insns size : 13 16-bit code units
0004d8: |[0004d8] Java8.sayHi:(LJava8$Logger;)V
0004e8: 1a00 0400 |0000: const-string v0, "Hello!" // string@0004
0004ec: 7220 0900 0200 |0002: invoke-interface {v2, v0}, LJava8$Logger;.log:(Ljava/lang/String;)V // method@0009
0004f2: 1a00 2200 |0005: const-string v0, "hello from" // string@0022
0004f6: 1a01 1f00 |0007: const-string v1, "default" // string@001f
0004fa: 7230 0a00 0201 |0009: invoke-interface {v2, v0, v1}, LJava8$Logger;.log:(Ljava/lang/String;Ljava/lang/String;)V // method@000a
000500: 0e00 |000c: return-void
catches : (none)
positions :
0x0002 line=21
0x0009 line=22
locals :
Virtual methods -
source_file_idx : 6 (Java8.java)
Class #3 -
Class descriptor : 'L-$$Lambda$Java8$QkyWJ8jlAksLjYziID4cZLvHwoY;'
Access flags : 0x1011 (PUBLIC FINAL SYNTHETIC)
Superclass : 'Ljava/lang/Object;'
Interfaces -
#0 : 'LJava8$Logger;'
Static fields -
#0 : (in L-$$Lambda$Java8$QkyWJ8jlAksLjYziID4cZLvHwoY;)
name : 'INSTANCE'
type : 'L-$$Lambda$Java8$QkyWJ8jlAksLjYziID4cZLvHwoY;'
access : 0x1019 (PUBLIC STATIC FINAL SYNTHETIC)
Instance fields -
Direct methods -
#0 : (in L-$$Lambda$Java8$QkyWJ8jlAksLjYziID4cZLvHwoY;)
name : '<clinit>'
type : '()V'
access : 0x11008 (STATIC SYNTHETIC CONSTRUCTOR)
code -
registers : 1
ins : 0
outs : 1
insns size : 8 16-bit code units
000354: |[000354] -..Lambda.Java8.QkyWJ8jlAksLjYziID4cZLvHwoY.<clinit>:()V
000364: 2200 0000 |0000: new-instance v0, L-$$Lambda$Java8$QkyWJ8jlAksLjYziID4cZLvHwoY; // type@0000
000368: 7010 0100 0000 |0002: invoke-direct {v0}, L-$$Lambda$Java8$QkyWJ8jlAksLjYziID4cZLvHwoY;.<init>:()V // method@0001
00036e: 6900 0000 |0005: sput-object v0, L-$$Lambda$Java8$QkyWJ8jlAksLjYziID4cZLvHwoY;.INSTANCE:L-$$Lambda$Java8$QkyWJ8jlAksLjYziID4cZLvHwoY; // field@0000
000372: 0e00 |0007: return-void
catches : (none)
positions :
locals :
#1 : (in L-$$Lambda$Java8$QkyWJ8jlAksLjYziID4cZLvHwoY;)
name : '<init>'
type : '()V'
access : 0x11002 (PRIVATE SYNTHETIC CONSTRUCTOR)
code -
registers : 1
ins : 1
outs : 1
insns size : 4 16-bit code units
000374: |[000374] -..Lambda.Java8.QkyWJ8jlAksLjYziID4cZLvHwoY.<init>:()V
000384: 7010 1000 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0010
00038a: 0e00 |0003: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in L-$$Lambda$Java8$QkyWJ8jlAksLjYziID4cZLvHwoY;)
name : 'log'
type : '(Ljava/lang/String;)V'
access : 0x0011 (PUBLIC FINAL)
code -
registers : 2
ins : 2
outs : 1
insns size : 4 16-bit code units
00038c: |[00038c] -..Lambda.Java8.QkyWJ8jlAksLjYziID4cZLvHwoY.log:(Ljava/lang/String;)V
00039c: 7110 0c00 0100 |0000: invoke-static {v1}, LJava8;.lambda$main$0:(Ljava/lang/String;)V // method@000c
0003a2: 0e00 |0003: return-void
catches : (none)
positions :
locals :
#1 : (in L-$$Lambda$Java8$QkyWJ8jlAksLjYziID4cZLvHwoY;)
name : 'log'
type : '(Ljava/lang/String;Ljava/lang/String;)V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 3
outs : 3
insns size : 4 16-bit code units
0003a4: |[0003a4] -..Lambda.Java8.QkyWJ8jlAksLjYziID4cZLvHwoY.log:(Ljava/lang/String;Ljava/lang/String;)V
0003b4: 7130 0700 1002 |0000: invoke-static {v0, v1, v2}, LJava8$Logger-CC;.$default$log:(LJava8$Logger;Ljava/lang/String;Ljava/lang/String;)V // method@0007
0003ba: 0e00 |0003: return-void
catches : (none)
positions :
locals :
source_file_idx : 36 (lambda)
Class #4 -
Class descriptor : 'L-$$Lambda$teOjDu261Kz9uXGt1wlPvIP5S04;'
Access flags : 0x1011 (PUBLIC FINAL SYNTHETIC)
Superclass : 'Ljava/lang/Object;'
Interfaces -
#0 : 'LJava8$Logger;'
Static fields -
Instance fields -
#0 : (in L-$$Lambda$teOjDu261Kz9uXGt1wlPvIP5S04;)
name : 'f$0'
type : 'Ljava/io/PrintStream;'
access : 0x1012 (PRIVATE FINAL SYNTHETIC)
Direct methods -
#0 : (in L-$$Lambda$teOjDu261Kz9uXGt1wlPvIP5S04;)
name : '<init>'
type : '(Ljava/io/PrintStream;)V'
access : 0x11001 (PUBLIC SYNTHETIC CONSTRUCTOR)
code -
registers : 2
ins : 2
outs : 1
insns size : 6 16-bit code units
0003bc: |[0003bc] -..Lambda.teOjDu261Kz9uXGt1wlPvIP5S04.<init>:(Ljava/io/PrintStream;)V
0003cc: 7010 1000 0000 |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0010
0003d2: 5b01 0100 |0003: iput-object v1, v0, L-$$Lambda$teOjDu261Kz9uXGt1wlPvIP5S04;.f$0:Ljava/io/PrintStream; // field@0001
0003d6: 0e00 |0005: return-void
catches : (none)
positions :
locals :
Virtual methods -
#0 : (in L-$$Lambda$teOjDu261Kz9uXGt1wlPvIP5S04;)
name : 'log'
type : '(Ljava/lang/String;)V'
access : 0x0011 (PUBLIC FINAL)
code -
registers : 3
ins : 2
outs : 2
insns size : 6 16-bit code units
0003d8: |[0003d8] -..Lambda.teOjDu261Kz9uXGt1wlPvIP5S04.log:(Ljava/lang/String;)V
0003e8: 5410 0100 |0000: iget-object v0, v1, L-$$Lambda$teOjDu261Kz9uXGt1wlPvIP5S04;.f$0:Ljava/io/PrintStream; // field@0001
0003ec: 6e20 0f00 2000 |0002: invoke-virtual {v0, v2}, Ljava/io/PrintStream;.println:(Ljava/lang/String;)V // method@000f
0003f2: 0e00 |0005: return-void
catches : (none)
positions :
locals :
#1 : (in L-$$Lambda$teOjDu261Kz9uXGt1wlPvIP5S04;)
name : 'log'
type : '(Ljava/lang/String;Ljava/lang/String;)V'
access : 0x0001 (PUBLIC)
code -
registers : 3
ins : 3
outs : 3
insns size : 4 16-bit code units
0003f4: |[0003f4] -..Lambda.teOjDu261Kz9uXGt1wlPvIP5S04.log:(Ljava/lang/String;Ljava/lang/String;)V
000404: 7130 0700 1002 |0000: invoke-static {v0, v1, v2}, LJava8$Logger-CC;.$default$log:(LJava8$Logger;Ljava/lang/String;Ljava/lang/String;)V // method@0007
00040a: 0e00 |0003: return-void
catches : (none)
positions :
locals :
source_file_idx : 36 (lambda)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment