class PrivateInstancesAvailable extends polyglot.visit.NodeVisitor {

  private final ArrayList<IdentityKey> list;

  public ArrayList<IdentityKey> getList() {
    return list;
  }

  public PrivateInstancesAvailable() {
    list = new ArrayList<IdentityKey>();
  }

  public polyglot.ast.Node leave(polyglot.ast.Node old, polyglot.ast.Node n, polyglot.visit.NodeVisitor visitor) {<FILL_FUNCTION_BODY>}
}


    if (n instanceof polyglot.ast.FieldDecl) {

      polyglot.types.FieldInstance fi = ((polyglot.ast.FieldDecl) n).fieldInstance();

      if (fi.flags().isPrivate()) {
        list.add(new polyglot.util.IdentityKey(fi));
      }
    }
    if (n instanceof polyglot.ast.ProcedureDecl) {

      polyglot.types.ProcedureInstance pi = ((polyglot.ast.ProcedureDecl) n).procedureInstance();

      if (pi.flags().isPrivate()) {
        list.add(new polyglot.util.IdentityKey(pi));
      }
    }
    return n;
  
<methods>public void <init>() ,public polyglot.visit.NodeVisitor begin() ,public polyglot.visit.NodeVisitor enter(polyglot.ast.Node) ,public polyglot.visit.NodeVisitor enter(polyglot.ast.Node, polyglot.ast.Node) ,public void finish() ,public void finish(polyglot.ast.Node) ,public polyglot.ast.Node leave(polyglot.ast.Node, polyglot.ast.Node, polyglot.visit.NodeVisitor) ,public polyglot.ast.Node leave(polyglot.ast.Node, polyglot.ast.Node, polyglot.ast.Node, polyglot.visit.NodeVisitor) ,public polyglot.ast.Node override(polyglot.ast.Node) ,public polyglot.ast.Node override(polyglot.ast.Node, polyglot.ast.Node) ,public java.lang.String toString() ,public polyglot.ast.Node visitEdge(polyglot.ast.Node, polyglot.ast.Node) <variables>