cat sample_intrinsics.txt
./out/production/BytecodeSample/MainKt.class
Compiled from "Main.kt"
public final class MainKt {
public static final void main();
Code:
0: ldc #11 // String Hello
2: invokestatic #17 // Method StringExtKt.toConsole:(Ljava/lang/String;)V
5: iconst_1
6: invokestatic #23 // Method IntExtKt.increase:(I)I
9: pop
10: new #25 // class Book
13: dup
14: invokespecial #28 // Method Book."<init>":()V
17: getfield #32 // Field Book.name:Ljava/lang/String;
20: dup
21: ifnonnull 27
24: invokestatic #37 // Method kotlin/jvm/internal/Intrinsics.throwNpe:()V
27: invokevirtual #43 // Method java/lang/String.toString:()Ljava/lang/String;
30: pop
31: return
public static void main(java.lang.String[]);
Code:
0: invokestatic #9 // Method main:()V
3: return
}
./out/production/BytecodeSample/StringExtKt.class
Compiled from "StringExt.kt"
public final class StringExtKt {
public static final void toConsole(java.lang.String);
Code:
0: aload_0
1: ldc #9 // String $this$toConsole
3: invokestatic #15 // Method kotlin/jvm/internal/Intrinsics.checkParameterIsNotNull:(Ljava/lang/Object;Ljava/lang/String;)V
6: iconst_0
7: istore_1
8: getstatic #21 // Field java/lang/System.out:Ljava/io/PrintStream;
11: aload_0
12: invokevirtual #27 // Method java/io/PrintStream.println:(Ljava/lang/Object;)V
15: return
}
问题排查
1
2
3
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- colorize (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/androidyue/Documents/OneDrive/scripts//searchBytecode.rb:3:in `<main>'
需手动安装ruby gems依赖
1
2
3
4
5
6
7
➜ gem install colorize
YAML safe loading is not available. Please upgrade psych to a version that supports safe loading (>= 2.0).
Fetching: colorize-0.8.1.gem (100%)
Successfully installed colorize-0.8.1
Parsing documentation for colorize-0.8.1
Installing ri documentation for colorize-0.8.1
1 gem installed