code: public void traverseFunctionOutOfBand(Node node, AbstractScope<?, ?> scope) {
      checkNotNull(scope);
      checkState(node.isFunction(), node);
      checkNotNull(scope.getRootNode());
      initTraversal(node);
      curNode = node.getParent();
      pushScope(scope, true /* quietly */);
      traverseBranch(node, curNode);
      popScope(true /* quietly */);
    }
docs: Traverse a function out-of-band of normal traversal.
  
  @param node The function node.
  @param scope The scope the function is contained in. Does not fire enter/exit
  callback events for this scope.