revert lambdas thait cause trouble with WALA Mobile. It may be that the

issue is Swing, since I think that is not on Android.
This commit is contained in:
Julian Dolby 2017-12-03 11:31:29 +08:00
parent b68ff20c82
commit 0ea98643f3
4 changed files with 28 additions and 10 deletions

View File

@ -20,6 +20,8 @@ import javax.swing.JSplitPane;
import javax.swing.JTree;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeExpansionListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
@ -43,7 +45,10 @@ public class CgPanel extends JSplitPane{
final IrAndSourceViewer irViewer = new IrAndSourceViewer();
this.setRightComponent(irViewer.getComponent());
tree.addTreeSelectionListener(e -> {
tree.addTreeSelectionListener(new TreeSelectionListener() {
@Override
public void valueChanged(TreeSelectionEvent e) {
TreePath newLeadSelectionPath = e.getNewLeadSelectionPath();
if (null == newLeadSelectionPath){
return;
@ -59,8 +64,8 @@ public class CgPanel extends JSplitPane{
IR ir2 = parentNode.getIR();
irViewer.setIRAndPc(ir2, ((CallSiteReference) userObject).getProgramCounter());
}
}
});
}
private JTree buildTree() {

View File

@ -19,6 +19,8 @@ import javax.swing.JSplitPane;
import javax.swing.JTree;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeExpansionListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
@ -42,7 +44,9 @@ public class ChaPanel extends JSplitPane {
JList methodList = new JList<String>(methodListModel);
this.setRightComponent(methodList);
tree.addTreeSelectionListener(e -> {
tree.addTreeSelectionListener(new TreeSelectionListener() {
@Override
public void valueChanged(TreeSelectionEvent e) {
TreePath newLeadSelectionPath = e.getNewLeadSelectionPath();
if (null == newLeadSelectionPath){
return;
@ -53,8 +57,8 @@ public class ChaPanel extends JSplitPane {
for (IMethod m : klass.getDeclaredMethods()){
methodListModel.addElement(m.toString());
}
});
}
});
}
private JTree buildTree() {

View File

@ -24,6 +24,8 @@ import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.ScrollPaneConstants;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import com.ibm.wala.classLoader.IMethod;
import com.ibm.wala.ssa.IR;
@ -56,7 +58,10 @@ public class IrViewer extends JPanel{
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED), BorderLayout.CENTER);
irLines.addListSelectionListener(e -> {
irLines.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
int index = irLines.getSelectedIndex();
Integer pc = lineToPc.get(index);
if (pc == null) {
@ -65,7 +70,7 @@ public class IrViewer extends JPanel{
for (SelectedPcListner selectedPcListner : selectedPcListners) {
selectedPcListner.valueChanged(pc);
}
});
}});
}
public void setIR(IR ir) {

View File

@ -22,6 +22,8 @@ import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeExpansionListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
@ -116,7 +118,10 @@ public class PaPanel extends JSplitPane {
}
});
heapTree.addTreeSelectionListener(e -> {
heapTree.addTreeSelectionListener(new TreeSelectionListener() {
@Override
public void valueChanged(TreeSelectionEvent e) {
TreePath newLeadSelectionPath = e.getNewLeadSelectionPath();
if (null == newLeadSelectionPath){
return;
@ -157,8 +162,7 @@ public class PaPanel extends JSplitPane {
}
});
}});
}
private void initDataStructures(PointerAnalysis<InstanceKey> pa) {