Classyshark Bytecode Viewer
Why
Instantaneously assess performance impact of my Kotlin code on a class level.
How
The most accurate and measurable way is to look at Kotlin generated executable (.class) files, the same files that both JVM and Android DX tool see.
What
From every kotlin-compiler generated class file the user sees side by side comparison of:
- Equivalent Java code
- Raw class file internals
The user (mind) flow will be as follows:
- From Kotlin code to Java code
- From Java code to Java bytecode (class format)
Here is the tricky part, instead of doing source to source translation from Kotlin to Java, it is better (faster and more accurate) to decompile Kotlin generated class file right into Java.
To support the above the following 2 libraries are the best fit
- Procyon- an open source Java decompiler.
- ASM - the best Java bytecode reading library (used both by Kotlin and Android Studio).
This is not an official Google product.
License
Copyright 2017 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License
is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
or implied. See the License for the specific language governing permissions and limitations under
the License.