Class PaPanel

  • All Implemented Interfaces:
    ImageObserver, MenuContainer, Serializable, Accessible

    public class PaPanel
    extends JSplitPane
    Panel for showing the Pointer Analysis results. Shows the heap graph on the left, and the ir viewer on the right. Sets the IR of and pc according to the chosen pointer/instance key when possible (e.g., allocation side for NormalAllocationInNode instance keys. Can be customized for clients that use different their own pointer / instance keys (see JsPaPanel) Note the two steps initialization require (calling init())
    See Also:
    Serialized Form
    • Method Detail

      • init

        public void init()
        Two steps initialization is required here is our deriver can choose the roots for the heap tree.
      • getRootNodes

        protected List<Object> getRootNodes()
        Override if you want different roots for your heap tree.
        Returns:
      • getChildrenFor

        protected List<Object> getChildrenFor​(Object node)
        Used for filling the tree dynamically. Override and handle your own nodes / different links.
        Parameters:
        node -
        Returns:
      • getPointerKeysUnderInstanceKey

        protected List<? extends PointerKey> getPointerKeysUnderInstanceKey​(InstanceKey ik)
        Get the set of pointer keys that should be presented below an instance key in the heap tree. Override if you have special pointer keys (not just for fields)
        Parameters:
        ik -
        Returns:
      • mapUsingMutableMapping

        protected static <T> void mapUsingMutableMapping​(MutableMapping<List<T>> map,
                                                         int index,
                                                         T o)
        Utility method for mutable mapping. map[index] U= o
        Type Parameters:
        T -
        Parameters:
        map -
        index -
        o -
      • nonNullList

        protected <T> List<T> nonNullList​(List<T> l)