All Classes and Interfaces

Class
Description
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Example: // Byte code: // 0: aconst_null // 1: astore_2 // 2: aconst_null // 3: astore_3 // 4: aload_0 // 5: aload_1 // 6: invokeinterface 142 2 0 // 11: astore_2 // 12: aload_2 // 13: ifnull +49 -> 62 // 16: aload_2 // 17: invokestatic 146 jd/core/process/deserializer/ClassFileDeserializer:Deserialize (Ljava/io/DataInput;)Ljd/core/model/classfile/ClassFile; // 20: astore_3 // 21: goto +41 -> 62 // 24: astore 4 // 26: aconst_null // 27: astore_3 // 28: aload_2 // 29: ifnull +46 -> 75 // 32: aload_2 // 33: invokevirtual 149 java/io/DataInputStream:close ()V // 36: goto +39 -> 75 // 39: astore 6 // 41: goto +34 -> 75 // 44: astore 5 // 46: aload_2 // 47: ifnull +12 -> 59 // 50: aload_2 // 51: invokevirtual 149 java/io/DataInputStream:close ()V // 54: goto +5 -> 59 // 57: astore 6 // 59: aload 5 // 61: athrow // 62: aload_2 // 63: ifnull +12 -> 75 // 66: aload_2 // 67: invokevirtual 149 java/io/DataInputStream:close ()V // 70: goto +5 -> 75 // 73: astore 6 // 75: aload_3 // 76: areturn // Line number table: // #Java source line -> byte code offset // #112 -> 0 // #113 -> 2 // #117 -> 4 // #118 -> 12 // #119 -> 16 // #120 -> 21 // #121 -> 24 // #123 -> 26 // #128 -> 28 // #129 -> 32 // #127 -> 44 // #128 -> 46 // #129 -> 50 // #130 -> 59 // #128 -> 62 // #129 -> 66 // #132 -> 75 // Local variable table: // start length slot name signature // 0 77 0 loader Loader // 0 77 1 internalClassPath String // 1 66 2 dis java.io.DataInputStream // 3 73 3 classFile ClassFile // 24 3 4 e IOException // 44 16 5 localObject Object // 39 1 6 localIOException1 IOException // 57 1 6 localIOException2 IOException // 73 1 6 localIOException3 IOException // Exception table: // from to target type // 4 21 24 java/io/IOException // 32 36 39 java/io/IOException // 4 28 44 finally // 50 54 57 java/io/IOException // 66 70 73 java/io/IOException
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Convert ClassFile model to Java syntax model.

Input: ClassFile
Output: CompilationUnit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
POJO for CONSTANT_Fieldref, CONSTANT_Methodref and CONSTANT_InterfaceMethodref.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Convert ClassFile model to Java syntax model.

Input: ClassFile
Output: CompilationUnit
 
 
 
 
 
 
 
 
 
 
 
 
Create a ClassFile model from a loader and a internal lastType name.

Input: -
Output: ClassFile
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A fragment is a part of a concrete syntax tree.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Convert a list of fragments to a list of tokens.

Input: Listinvalid input: '<'Fragment>
Output: Listinvalid input: '<'Token>
 
Convert a Java syntax model to a list of fragments.

Input: CompilationUnit
Output: Listinvalid input: '<'Fragment>
 
 
 
 
 
Layout (compact, expend, move) a list of fragments.

Input: Listinvalid input: '<'Fragment>
Output: Listinvalid input: '<'Fragment>
 
 
Must be create between StartStatementToken and EndStatementToken
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Must be create outside of blocks [StartStatementToken ...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Create statements, init fields, merge declarations.

Input: CompilationUnit
Output: CompilationUnit
 
 
 
 
 
 
 
 
 
 
 
 
Write a list of tokens to a Printer.

Input: Listinvalid input: '<'Token>
Output: -