Merge pull request #404 from GraxCode/bytecode
Bug fixes and UI fixes and other small stuff.
This commit is contained in:
commit
2848d1d4cd
9 changed files with 45 additions and 45 deletions
|
@ -130,10 +130,10 @@ public class InstructionPrinter implements Opcodes {
|
|||
List<TryCatchBlockNode> tcbs = mNode.tryCatchBlocks;
|
||||
String starting = tcbs.stream().filter(tcb -> tcb.start == label).map(tcb -> "start TCB" + tcbs.indexOf(tcb)).collect(Collectors.joining(", "));
|
||||
String ending = tcbs.stream().filter(tcb -> tcb.end == label).map(tcb -> "end TCB" + tcbs.indexOf(tcb)).collect(Collectors.joining(", "));
|
||||
String handlers = tcbs.stream().filter(tcb -> tcb.handler == label).map(tcb -> "handler TCB" + tcbs.indexOf(tcb)).collect(Collectors.joining(", "));
|
||||
String handlers = tcbs.stream().filter(tcb -> tcb.handler == label).map(tcb -> "handle TCB" + tcbs.indexOf(tcb)).collect(Collectors.joining(", "));
|
||||
if (!ending.isEmpty()) info.add("// " + ending);
|
||||
if (!starting.isEmpty()) info.add("// " + starting);
|
||||
if (!handlers.isEmpty()) info.add("// " + starting);
|
||||
if (!handlers.isEmpty()) info.add("// " + handlers);
|
||||
}
|
||||
line = printLabelNode((LabelNode) ain);
|
||||
|
||||
|
@ -344,7 +344,7 @@ public class InstructionPrinter implements Opcodes {
|
|||
return "unknown";
|
||||
}
|
||||
}
|
||||
if (obj instanceof String) return "reference [" + obj + "]";
|
||||
if (obj instanceof String) return obj.toString();
|
||||
return "unknown [" + obj.toString() + "]";
|
||||
}
|
||||
|
||||
|
|
|
@ -144,9 +144,11 @@ public class MethodNodeDecompiler {
|
|||
addAttrList(m.visibleTypeAnnotations, "visTypeAnno", sb,
|
||||
insnPrinter);
|
||||
|
||||
for (TryCatchBlockNode o : m.tryCatchBlocks) {
|
||||
List<TryCatchBlockNode> tryCatchBlocks = m.tryCatchBlocks;
|
||||
for (int i = 0; i < tryCatchBlocks.size(); i++) {
|
||||
TryCatchBlockNode o = tryCatchBlocks.get(i);
|
||||
sb.append(" ");
|
||||
sb.append("TryCatch: L");
|
||||
sb.append("TCB").append(i).append(": L");
|
||||
sb.append(insnPrinter.resolveLabel(o.start));
|
||||
sb.append(" to L");
|
||||
sb.append(insnPrinter.resolveLabel(o.end));
|
||||
|
|
|
@ -117,7 +117,7 @@ public class ResourceListPane extends TranslatedVisibleComponent implements File
|
|||
JPanel buttonPanel = new JPanel(new BorderLayout());
|
||||
|
||||
quickSearchPanel.setLayout(new BorderLayout());
|
||||
quickSearchPanel.add(quickSearch, BorderLayout.NORTH);
|
||||
quickSearchPanel.add(quickSearch, BorderLayout.CENTER);
|
||||
|
||||
JPanel btns = new JPanel(new FlowLayout());
|
||||
btns.add(exact);
|
||||
|
@ -126,7 +126,7 @@ public class ResourceListPane extends TranslatedVisibleComponent implements File
|
|||
|
||||
buttonPanel.add(open, BorderLayout.EAST);
|
||||
buttonPanel.add(close, BorderLayout.WEST);
|
||||
exactPanel.add(buttonPanel, BorderLayout.EAST);
|
||||
quickSearchPanel.add(buttonPanel, BorderLayout.EAST);
|
||||
quickSearchPanel.add(exactPanel, BorderLayout.SOUTH);
|
||||
|
||||
getContentPane().add(quickSearchPanel, BorderLayout.SOUTH);
|
||||
|
|
|
@ -5,6 +5,7 @@ import javax.swing.tree.TreePath;
|
|||
import java.awt.*;
|
||||
import java.awt.event.KeyAdapter;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.util.Arrays;
|
||||
import java.util.Enumeration;
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -42,17 +43,15 @@ public class SearchKeyAdapter extends KeyAdapter {
|
|||
if (ke.getKeyCode() != KeyEvent.VK_ENTER)
|
||||
return;
|
||||
|
||||
final String qt = resourceListPane.quickSearch.getText();
|
||||
String qt = resourceListPane.quickSearch.getText();
|
||||
|
||||
if (qt.trim().isEmpty()) //NOPE
|
||||
return;
|
||||
|
||||
String[] path;
|
||||
if (qt.contains(".")) {
|
||||
path = qt.split("\\.");
|
||||
} else {
|
||||
path = new String[]{qt};
|
||||
}
|
||||
|
||||
path = qt.split("[\\./]+"); // split at dot or slash
|
||||
qt = qt.replace('/', '.');
|
||||
|
||||
ResourceTreeNode curNode = resourceListPane.treeRoot;
|
||||
boolean caseSensitive = resourceListPane.caseSensitive.isSelected();
|
||||
|
@ -67,7 +66,7 @@ public class SearchKeyAdapter extends KeyAdapter {
|
|||
for (int c = 0; c < curNode.getChildCount(); c++) {
|
||||
final ResourceTreeNode child = (ResourceTreeNode) curNode.getChildAt(c);
|
||||
Object userObject = child.getUserObject();
|
||||
if (caseSensitive ? userObject.equals(pathName) : userObject.toString().equalsIgnoreCase(pathName)) {
|
||||
if (caseSensitive ? userObject.toString().equals(pathName) : userObject.toString().equalsIgnoreCase(pathName)) {
|
||||
curNode = child;
|
||||
if (isLast) {
|
||||
final TreePath pathn = new TreePath(curNode.getPath());
|
||||
|
@ -81,7 +80,6 @@ public class SearchKeyAdapter extends KeyAdapter {
|
|||
continue pathLoop;
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println("Could not find " + pathName);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -6,14 +6,7 @@ import java.awt.event.ItemListener;
|
|||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.util.Objects;
|
||||
import javax.swing.DefaultComboBoxModel;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JCheckBox;
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JPopupMenu;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTree;
|
||||
import javax.swing.*;
|
||||
import javax.swing.tree.DefaultTreeModel;
|
||||
import javax.swing.tree.TreePath;
|
||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||
|
@ -95,12 +88,12 @@ public class SearchBoxPane extends TranslatedVisibleComponent
|
|||
typeModel.addElement(st);
|
||||
|
||||
typeBox = new JComboBox<>(typeModel);
|
||||
final JPanel searchOptPanel = new JPanel();
|
||||
|
||||
final JPanel searchOptPanel = new JPanel(new BorderLayout());
|
||||
searchOptPanel.setBorder(BorderFactory.createEmptyBorder(4,4,4,4));
|
||||
final ItemListener il = arg0 -> {
|
||||
searchOptPanel.removeAll();
|
||||
searchType = (SearchType) typeBox.getSelectedItem();
|
||||
searchOptPanel.add(Objects.requireNonNull(searchType).panel.getPanel());
|
||||
searchOptPanel.add(Objects.requireNonNull(searchType).panel.getPanel(), BorderLayout.CENTER);
|
||||
|
||||
searchOptPanel.revalidate();
|
||||
searchOptPanel.repaint();
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package the.bytecode.club.bytecodeviewer.searching.impl;
|
||||
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.*;
|
||||
import java.util.Iterator;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JTextField;
|
||||
|
@ -60,9 +60,9 @@ public class LDCSearch implements SearchPanel
|
|||
{
|
||||
if (myPanel == null)
|
||||
{
|
||||
myPanel = new JPanel(new GridLayout(1, 2));
|
||||
myPanel.add(new TranslatedJLabel("Search String: ", TranslatedComponents.SEARCH_STRING));
|
||||
myPanel.add(searchText);
|
||||
myPanel = new JPanel(new BorderLayout(16, 16));
|
||||
myPanel.add(new TranslatedJLabel("Search String: ", TranslatedComponents.SEARCH_STRING), BorderLayout.WEST);
|
||||
myPanel.add(searchText, BorderLayout.CENTER);
|
||||
}
|
||||
|
||||
return myPanel;
|
||||
|
|
|
@ -51,9 +51,9 @@ public class MemberWithAnnotationSearch implements SearchPanel {
|
|||
@Override
|
||||
public JPanel getPanel() {
|
||||
if (myPanel == null) {
|
||||
myPanel = new JPanel(new GridLayout(1, 2));
|
||||
myPanel.add(new TranslatedJLabel("Annotation name: ", TranslatedComponents.ANNOTATION_NAME));
|
||||
myPanel.add(annotation);
|
||||
myPanel = new JPanel(new BorderLayout(16, 16));
|
||||
myPanel.add(new TranslatedJLabel("Annotation name: ", TranslatedComponents.ANNOTATION_NAME), BorderLayout.WEST);
|
||||
myPanel.add(annotation, BorderLayout.CENTER);
|
||||
}
|
||||
|
||||
return myPanel;
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
package the.bytecode.club.bytecodeviewer.searching.impl;
|
||||
|
||||
import eu.bibl.banalysis.asm.desc.OpcodeInfo;
|
||||
import java.awt.GridLayout;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.Iterator;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JTextField;
|
||||
|
@ -65,13 +66,19 @@ public class MethodCallSearch implements SearchPanel
|
|||
{
|
||||
if (myPanel == null)
|
||||
{
|
||||
myPanel = new JPanel(new GridLayout(3, 2));
|
||||
myPanel.add(new TranslatedJLabel("Owner: ", TranslatedComponents.OWNER));
|
||||
myPanel.add(mOwner);
|
||||
myPanel.add(new TranslatedJLabel("Name: ", TranslatedComponents.NAME));
|
||||
myPanel.add(mName);
|
||||
myPanel.add(new TranslatedJLabel("Desc: ", TranslatedComponents.DESC));
|
||||
myPanel.add(mDesc);
|
||||
myPanel = new JPanel(new BorderLayout(16, 16));
|
||||
|
||||
JPanel left = new JPanel(new GridLayout(3,1));
|
||||
JPanel right = new JPanel(new GridLayout(3,1));
|
||||
|
||||
left.add(new TranslatedJLabel("Owner: ", TranslatedComponents.OWNER));
|
||||
right.add(mOwner);
|
||||
left.add(new TranslatedJLabel("Name: ", TranslatedComponents.NAME));
|
||||
right.add(mName);
|
||||
left.add(new TranslatedJLabel("Desc: ", TranslatedComponents.DESC));
|
||||
right.add(mDesc);
|
||||
myPanel.add(left, BorderLayout.WEST);
|
||||
myPanel.add(right, BorderLayout.CENTER);
|
||||
}
|
||||
|
||||
return myPanel;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package the.bytecode.club.bytecodeviewer.searching.impl;
|
||||
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.*;
|
||||
import java.util.Iterator;
|
||||
import java.util.regex.Pattern;
|
||||
import javax.swing.JPanel;
|
||||
|
@ -61,9 +61,9 @@ public class RegexSearch implements SearchPanel
|
|||
{
|
||||
if (myPanel == null)
|
||||
{
|
||||
myPanel = new JPanel(new GridLayout(1, 2));
|
||||
myPanel.add(new TranslatedJLabel("Search Regex: ", TranslatedComponents.SEARCH_REGEX));
|
||||
myPanel.add(searchText);
|
||||
myPanel = new JPanel(new BorderLayout(16, 16));
|
||||
myPanel.add(new TranslatedJLabel("Search Regex: ", TranslatedComponents.SEARCH_REGEX), BorderLayout.WEST);
|
||||
myPanel.add(searchText, BorderLayout.CENTER);
|
||||
}
|
||||
|
||||
return myPanel;
|
||||
|
|
Loading…
Reference in a new issue