Package com.strobel.decompiler.languages
Class BytecodeLanguage
java.lang.Object
com.strobel.decompiler.languages.Language
com.strobel.decompiler.languages.BytecodeLanguage
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
private static final class
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
decompileField
(FieldDefinition field, ITextOutput output, DecompilationOptions options) void
decompileMethod
(MethodDefinition method, ITextOutput output, DecompilationOptions options) decompileType
(TypeDefinition type, ITextOutput output, DecompilationOptions options) private static BytecodeOutputOptions
getBytecodeOptions
(DecompilationOptions options) getName()
private static boolean
newlineIfNeeded
(ITextOutput output, boolean needNewLine) private boolean
tryWriteType
(ITextOutput output, MetadataParser parser, String text, String descriptor) private void
writeBlobAttribute
(ITextOutput output, BlobAttribute attribute) private void
writeBootstrapMethodEntry
(ITextOutput output, BootstrapMethodsTableEntry entry) private void
writeFieldAttribute
(ITextOutput output, FieldDefinition field, SourceAttribute attribute) private void
writeInnerClassEntry
(ITextOutput output, TypeDefinition type, InnerClassEntry entry) private void
writeMethodAttribute
(ITextOutput output, MethodDefinition method, SourceAttribute attribute) private void
writeMethodBody
(ITextOutput output, MethodDefinition method, DecompilationOptions options) private void
writeMethodBodyParseError
(ITextOutput output, Throwable error) private void
writeMethodEnd
(ITextOutput output, MethodDefinition method, DecompilationOptions options) private void
writeMethodHeader
(ITextOutput output, MethodDefinition method, DecompilationOptions options) static void
writeModuleBody
(ITextOutput output, ModuleAttribute module, boolean useDottedNames) private static void
writeModuleDependency
(ITextOutput output, ModuleDependency dependency) private static void
writePackageInfo
(ITextOutput output, PackageInfo export, boolean useDottedNames, boolean isExport) private static void
writeServiceInfo
(ITextOutput output, ServiceInfo service, boolean useDottedNames) private void
writeTypeAttribute
(ITextOutput output, TypeDefinition type, SourceAttribute attribute) private void
writeTypeHeader
(ITextOutput output, TypeDefinition type) Methods inherited from class com.strobel.decompiler.languages.Language
decompilePackage, formatTypeName, getHint, isMemberBrowsable, typeToString, writeCommentLine
-
Field Details
-
HEX_CHARS
private static final char[] HEX_CHARS
-
-
Constructor Details
-
BytecodeLanguage
public BytecodeLanguage()
-
-
Method Details
-
getName
-
getFileExtension
- Specified by:
getFileExtension
in classLanguage
-
decompileType
public TypeDecompilationResults decompileType(TypeDefinition type, ITextOutput output, DecompilationOptions options) - Overrides:
decompileType
in classLanguage
-
newlineIfNeeded
-
writeModuleBody
public static void writeModuleBody(ITextOutput output, ModuleAttribute module, boolean useDottedNames) -
writeModuleDependency
-
writePackageInfo
private static void writePackageInfo(ITextOutput output, PackageInfo export, boolean useDottedNames, boolean isExport) -
writeServiceInfo
private static void writeServiceInfo(ITextOutput output, ServiceInfo service, boolean useDottedNames) -
writeMethodBodyParseError
-
writeTypeAttribute
-
writeBlobAttribute
-
writeBootstrapMethodEntry
-
writeInnerClassEntry
-
tryWriteType
private boolean tryWriteType(@NotNull ITextOutput output, @NotNull MetadataParser parser, String text, String descriptor) -
writeTypeHeader
-
decompileField
- Overrides:
decompileField
in classLanguage
-
writeFieldAttribute
private void writeFieldAttribute(ITextOutput output, FieldDefinition field, SourceAttribute attribute) -
decompileMethod
public void decompileMethod(MethodDefinition method, ITextOutput output, DecompilationOptions options) - Overrides:
decompileMethod
in classLanguage
-
writeMethodHeader
private void writeMethodHeader(ITextOutput output, MethodDefinition method, DecompilationOptions options) -
writeMethodAttribute
private void writeMethodAttribute(ITextOutput output, MethodDefinition method, SourceAttribute attribute) -
writeMethodBody
private void writeMethodBody(ITextOutput output, MethodDefinition method, DecompilationOptions options) -
writeMethodEnd
private void writeMethodEnd(ITextOutput output, MethodDefinition method, DecompilationOptions options) -
getBytecodeOptions
-