Class BytecodeDecompilerView
java.lang.Object
org.jrd.frontend.frame.main.decompilerview.BytecodeDecompilerView
Class that creates GUI for attached VM.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ActionListenerprivate HexWithControlsprivate TextWithControlsprivate TextWithControlsprivate ActionListenerprivate static final Stringprivate HexWithControlsprivate final JTabbedPaneprivate JPanelprivate JPanelprivate TextWithControlsprivate JButtonprivate JPanelstatic final Stringprivate TextWithControlsprivate JTextFieldprivate JPanelprivate ActionListenerprivate JPanelprivate JScrollPaneprivate JTextFieldprivate final Colorprivate JPanelprivate ClasspathProviderprivate QuickCompilerprivate JButtonprivate JButtonprivate ClassesAndMethodsProviderprivate DependenciesReaderprivate static final Stringprivate JButtonprivate JFrameprivate JButtonprivate ClassListRendererprivate ActionListenerprivate JButtonprivate JButtonprivate Fileprivate Stringprivate Stringprivate Stringprivate Stringprivate ClassInfo[]private final MainFrameViewprivate JCheckBoxprivate OverwriteActionListenerprivate JButtonprivate static final Insetsprivate JComboBox<DecompilerWrapper>private JButtonprivate JButtonprivate ActionListenerprivate JButtonprivate booleanprivate JCheckBoxprivate JSplitPaneprivate booleanprivate JButton -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) voidaddClassesGui(boolean boot, String[] fqnFilePairs) (package private) voidaddClassGui(String fqn, String file) (package private) voidstatic DimensionbuttonSizeBasedOnTextField(JButton originalButton, JTextField referenceTextField) private voidbytesWorker(String name) private voidbooleanboolean(package private) HexWithControls(package private) TextWithControls(package private) TextWithControls(package private) HexWithControls(package private) JTabbedPane(package private) TextWithControlsConstructor creates the graphics and adds the action listeners.(package private) TextWithControls(package private) Stringprivate voidprivate voidhandleClassInfoSwitching(boolean reload) (package private) void(package private) boolean(package private) boolean(package private) boolean(package private) boolean(package private) boolean(package private) booleanprivate booleanmatchesAny(List<ClassInfo> filtered, Pattern p, ClassInfo clazz) voidrefreshComboBox(List<DecompilerWrapper> wrappers) voidreloadClassList(ClassInfo[] classesToReload) Sets the unfiltered class list array and invokes an update.voidreloadTextField(String name, String decompiledClass, byte[] source, String additionalDecompiledClass, byte[] additionalSource, VmInfo.Type vmInfoType, BytemanCompanion bytemanCompanion) Sets the decompiled code into JTextAreavoidsetAddActionListener(ActionListener listener) private voidsetByteman(String name) voidvoidsetClassesActionListener(ActionListener listener) voidsetCompileListener(QuickCompiler listener) voidprivate voidsetDecompiledClass(String name, String data, byte[] source, String additionalData, byte[] additionalSource, VmInfo.Type vmInfoType, BytemanCompanion bytemanCompanion) voidsetDepsProvider(DependenciesReader depsReader) voidsetInitActionListener(ActionListener listener) voidsetJarActionListener(ActionListener listener) (package private) voidsetLastAddedFile(File lastAddedFile) (package private) voidsetLastAddedFqn(String lastAddedFqn) (package private) voidsetLastFqn(String lastFqn) private voidvoidvoidvoidstatic Stringprivate void
-
Field Details
-
BYTEMAN_SCRIPT_TITLE
- See Also:
-
bytecodeDecompilerPanel
-
splitPane
-
classes
-
classesToolBar
-
reloadClassesButton
-
searchInClassesButton
-
showInfoCheckBox
-
classCount
-
classesSortField
-
metadata
-
classesSortFieldColor
-
classesPanel
-
classesScrollPane
-
filteredClassesJList
-
filteredClassesRenderer
-
buffersPanel
-
buffersToolBar
-
diffButton
-
undoButton
-
redoButton
-
insertButton
-
bytecodeButton
-
detachButton
-
initClassButton
-
overwriteButton
-
compileButton
-
compileAndUploadButton
-
pluginComboBox
-
buffers
-
bytecodeBuffer
-
binary
-
additionalSrcBuffer
-
additionalBytecodeBuffer
-
additionalBinary
-
bytemanScript
-
bytesActionListener
-
classesActionListener
-
searchClassesActionListener
-
initActionListener
-
addActionListener
-
addJar
-
compileAction
-
completionHelper
-
classpathProvider
-
overwriteActionListener
-
dependenciesReader
-
loadedClasses
-
lastDecompiledClass
-
lastFqn
-
lastAddedFqn
-
lastAddedFile
-
lastSearch
-
splitPaneFirstResize
private boolean splitPaneFirstResize -
shouldAttach
private boolean shouldAttach -
mainFrame
-
detachedBytecodeFrame
-
CLASS_LIST_REGISTERED_KEY_CODES
-
PANEL_INSETS
-
DETACH_BUTTON_TEXT
- See Also:
-
ATTACH_BUTTON_TEXT
- See Also:
-
-
Constructor Details
-
BytecodeDecompilerView
-
-
Method Details
-
getBytecodeDecompilerPanel
Constructor creates the graphics and adds the action listeners.- Returns:
- BytecodeDecompilerPanel
-
handleClassInfoSwitching
private void handleClassInfoSwitching(boolean reload) -
getDependenciesReader
-
setDepsProvider
-
isDecompiledBytecodeBufferVisible
boolean isDecompiledBytecodeBufferVisible() -
isBinaryBufferVisible
boolean isBinaryBufferVisible() -
isAdditionalBinaryBufferVisible
boolean isAdditionalBinaryBufferVisible() -
isAdditionalDecompiledBytecodeBufferVisible
boolean isAdditionalDecompiledBytecodeBufferVisible() -
isAdditionalSrcBufferVisible
boolean isAdditionalSrcBufferVisible() -
isBytemanBufferVisible
boolean isBytemanBufferVisible() -
handleBuffersDetaching
private void handleBuffersDetaching() -
styleTooltip
-
updateClassList
private void updateClassList() -
matchesAny
-
reloadClassList
Sets the unfiltered class list array and invokes an update.- Parameters:
classesToReload- String[] classesToReload.
-
reloadTextField
public void reloadTextField(String name, String decompiledClass, byte[] source, String additionalDecompiledClass, byte[] additionalSource, VmInfo.Type vmInfoType, BytemanCompanion bytemanCompanion) Sets the decompiled code into JTextArea- Parameters:
decompiledClass- String of source code of decompiler class
-
setDecompiledClass
private void setDecompiledClass(String name, String data, byte[] source, String additionalData, byte[] additionalSource, VmInfo.Type vmInfoType, BytemanCompanion bytemanCompanion) -
setByteman
-
setSearchInActionListener
-
setClassesActionListener
-
setInitActionListener
-
setAddActionListener
-
setJarActionListener
-
setCompileListener
-
setCompletionHelper
-
getCompletionHelper
-
setBytesActionListener
-
setPopup
-
setOverwriteActionListener
-
refreshComboBox
-
getSelectedDecompiler
-
buttonSizeBasedOnTextField
public static Dimension buttonSizeBasedOnTextField(JButton originalButton, JTextField referenceTextField) -
classWorker
private void classWorker() -
bytesWorker
-
doShowClassInfo
public boolean doShowClassInfo() -
doSearchInClassInfo
public boolean doSearchInClassInfo() -
getBytecodeBuffer
TextWithControls getBytecodeBuffer() -
getLastDecompiledClass
String getLastDecompiledClass() -
getBuffers
JTabbedPane getBuffers() -
getBinary
HexWithControls getBinary() -
getAdditionalBytecodeBuffer
TextWithControls getAdditionalBytecodeBuffer() -
getAdditionalBinary
HexWithControls getAdditionalBinary() -
getBytemanScript
TextWithControls getBytemanScript() -
getAdditionalSrcBuffer
TextWithControls getAdditionalSrcBuffer() -
addJar
-
addClassGui
-
initGui
-
addClassesGui
- Throws:
IOException
-
getLastFqn
-
setLastFqn
-
getLastAddedFqn
-
setLastAddedFqn
-
getLastAddedFile
-
setLastAddedFile
-
setMaintitle
private void setMaintitle() -
getCompileAction
-
getPluginComboBox
-
getClasspathProvider
-