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 JPanelprivate JScrollPaneprivate JTextFieldprivate final Colorprivate JPanelprivate JCheckBoxprivate JTextFieldprivate ClasspathProviderprivate JButtonprivate QuickCompilerprivate JButtonprivate JButtonprivate ClassesAndMethodsProviderprivate DependenciesReaderprivate static final Stringprivate JButtonprivate JFrameprivate JButtonprivate ClassListRendererprivate ActionListenerprivate JButtonprivate JButtonprivate Fileprivate Stringprivate ClassInfoprivate Stringprivate Stringprivate ClassInfo[]private final MainFrameViewprivate JCheckBoxprivate OverwriteActionListenerprivate JButtonprivate static final Insetsprivate JComboBox<DecompilerWrapper> private JButtonprivate JButtonprivate JCheckBoxstatic final Stringprivate 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(ClassInfo clazz) 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) ClassInfostatic 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) booleanbooleanprivate 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(ClassInfo name, String decompiledClass, byte[] source, String additionalDecompiledClass, byte[] additionalSource, VmInfo.Type vmInfoType, BytemanCompanion bytemanCompanion) Sets the decompiled code into JTextAreaprivate voidprivate voidselectClassloader(String loader) private voidvoidsetAddActionListener(ActionListener listener) private voidsetByteman(String name) voidvoidvoidsetCompileListener(QuickCompiler listener) voidprivate voidsetDecompiledClass(ClassInfo 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 voidprivate voidprivate void
-
Field Details
-
BYTEMAN_SCRIPT_TITLE
- See Also:
-
SEARCH_TEXT
- See Also:
-
bytecodeDecompilerPanel
-
splitPane
-
classes
-
classesToolBar
-
reloadClassesButton
-
searchInClassesButton
-
showInfoCheckBox
-
classCount
-
classloaderRestriction
-
classloaderAuto
-
cleanClassloader
-
classesSortField
-
metadata
-
restrictLaoder
-
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
-
selectClassLoader
private void selectClassLoader() -
unselectAndResetClassloader
private void unselectAndResetClassloader() -
selectAndSaveClassloader
-
unselectClassloader
private void unselectClassloader() -
selectClassloader
-
getStyledRegexTooltip
-
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(ClassInfo 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(ClassInfo 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
ClassInfo 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
-
getLastClassloader
-
isLastClassloader
public boolean isLastClassloader()
-