A tool to browse your Java/Kotlin compiled code
Kotlin Java
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

Classyshark Bytecode Viewer

alt text

Download & Run

To run, grab the latest JAR and run java -jar classyshark-bytecode-viewer.jar. Optionally you can add a class file to open.

Why

Instantaneously understand and assess any Kotlin code.

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 you will see 3 tabs:

  1. Equivalent Java code
  2. Equivalent Java bytecode
  3. Hex view

The (mind) flow will be as follows:

  1. From Kotlin code to Java code
  2. From Java code to Java bytecode (class format)
  3. From Java bytecode to hex view (raw binary format)

Here is the tricky part, instead of doing source to source translation from Kotlin to Java, it is better (faster and accurate) to decompile Kotlin generated class file right into Java.

To support the above the we use the following 2 libraries:

  • 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.