Class SubgraphWalker.IterativeGraphWalker

java.lang.Object
de.fraunhofer.aisec.cpg.helpers.SubgraphWalker.IterativeGraphWalker
Enclosing class:
SubgraphWalker

public static class SubgraphWalker.IterativeGraphWalker
extends java.lang.Object
  • Constructor Summary

    Constructors
    Constructor Description
    IterativeGraphWalker()  
  • Method Summary

    Modifier and Type Method Description
    void clearCallbacks()  
    java.util.Deque<de.fraunhofer.aisec.cpg.graph.Node> getBacklog()  
    java.util.Deque<de.fraunhofer.aisec.cpg.graph.Node> getTodo()  
    void iterate​(de.fraunhofer.aisec.cpg.graph.Node root)
    The core iterative AST traversal algorithm: In a depth-first way we descend into the tree, providing callbacks for graph modification.
    void registerOnNodeVisit​(java.util.function.Consumer<de.fraunhofer.aisec.cpg.graph.Node> callback)  
    void registerOnScopeExit​(java.util.function.Consumer<de.fraunhofer.aisec.cpg.graph.Node> callback)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • IterativeGraphWalker

      public IterativeGraphWalker()
  • Method Details

    • iterate

      public void iterate​(de.fraunhofer.aisec.cpg.graph.Node root)
      The core iterative AST traversal algorithm: In a depth-first way we descend into the tree, providing callbacks for graph modification.
      Parameters:
      root - The node where we should start
    • registerOnNodeVisit

      public void registerOnNodeVisit​(java.util.function.Consumer<de.fraunhofer.aisec.cpg.graph.Node> callback)
    • registerOnScopeExit

      public void registerOnScopeExit​(java.util.function.Consumer<de.fraunhofer.aisec.cpg.graph.Node> callback)
    • clearCallbacks

      public void clearCallbacks()
    • getTodo

      public java.util.Deque<de.fraunhofer.aisec.cpg.graph.Node> getTodo()
    • getBacklog

      public java.util.Deque<de.fraunhofer.aisec.cpg.graph.Node> getBacklog()