Class BytecodeDecompilerView
java.lang.Object
org.jrd.frontend.frame.main.decompilerview.BytecodeDecompilerView
Class that creates GUI for attached VM.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ActionListener
private HexWithControls
private TextWithControls
private TextWithControls
private ActionListener
private static final String
private HexWithControls
private final JTabbedPane
private JPanel
private JPanel
private TextWithControls
private JButton
private JPanel
static final String
private TextWithControls
private JTextField
private JPanel
private JPanel
private JScrollPane
private JTextField
private final Color
private JPanel
private JCheckBox
private JTextField
private ClasspathProvider
private JButton
private QuickCompiler
private JButton
private JButton
private ClassesAndMethodsProvider
private DependenciesReader
private static final String
private JButton
private JFrame
private JButton
private ClassListRenderer
private ActionListener
private JButton
private JButton
private File
private String
private ClassInfo
private String
private String
private ClassInfo[]
private final MainFrameView
private JCheckBox
private OverwriteActionListener
private JButton
private static final Insets
private JComboBox<DecompilerWrapper>
private JButton
private JButton
private JCheckBox
static final String
private ActionListener
private JButton
private boolean
private JCheckBox
private JSplitPane
private boolean
private JButton
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) void
addClassesGui
(boolean boot, String[] fqnFilePairs) (package private) void
addClassGui
(String fqn, String file) (package private) void
static Dimension
buttonSizeBasedOnTextField
(JButton originalButton, JTextField referenceTextField) private void
bytesWorker
(ClassInfo clazz) private void
boolean
boolean
(package private) HexWithControls
(package private) TextWithControls
(package private) TextWithControls
(package private) HexWithControls
(package private) JTabbedPane
(package private) TextWithControls
Constructor creates the graphics and adds the action listeners.(package private) TextWithControls
(package private) ClassInfo
static String
private void
private void
handleClassInfoSwitching
(boolean reload) (package private) void
(package private) boolean
(package private) boolean
(package private) boolean
(package private) boolean
(package private) boolean
(package private) boolean
boolean
private boolean
matchesAny
(List<ClassInfo> filtered, Pattern p, ClassInfo clazz) void
refreshComboBox
(List<DecompilerWrapper> wrappers) void
reloadClassList
(ClassInfo[] classesToReload) Sets the unfiltered class list array and invokes an update.void
reloadTextField
(ClassInfo name, String decompiledClass, byte[] source, String additionalDecompiledClass, byte[] additionalSource, VmInfo.Type vmInfoType, BytemanCompanion bytemanCompanion) Sets the decompiled code into JTextAreaprivate void
private void
selectClassloader
(String loader) private void
void
setAddActionListener
(ActionListener listener) private void
setByteman
(String name) void
void
void
setCompileListener
(QuickCompiler listener) void
private void
setDecompiledClass
(ClassInfo name, String data, byte[] source, String additionalData, byte[] additionalSource, VmInfo.Type vmInfoType, BytemanCompanion bytemanCompanion) void
setDepsProvider
(DependenciesReader depsReader) void
setInitActionListener
(ActionListener listener) void
setJarActionListener
(ActionListener listener) (package private) void
setLastAddedFile
(File lastAddedFile) (package private) void
setLastAddedFqn
(String lastAddedFqn) (package private) void
setLastFqn
(String lastFqn) private void
void
void
void
static String
private void
private void
private 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()
-