public interface org.graalvm.graphio.GraphStructure<G, N, C, P>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.graalvm.graphio.GraphStructure
  super_class: java.lang.Object
{
  public abstract G graph(G, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TG;Ljava/lang/Object;)TG;
    MethodParameters:
              Name  Flags
      currentGraph  
      obj           

  public abstract java.lang.Iterable<? extends N> nodes(G);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Iterable;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TG;)Ljava/lang/Iterable<+TN;>;
    MethodParameters:
       Name  Flags
      graph  

  public abstract int nodesCount();
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TG;)I
    MethodParameters:
       Name  Flags
      graph  

  public abstract int nodeId();
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TN;)I
    MethodParameters:
      Name  Flags
      node  

  public abstract boolean nodeHasPredecessor();
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TN;)Z
    MethodParameters:
      Name  Flags
      node  

  public abstract void nodeProperties(G, N, java.util.Map<java.lang.String, ? super java.lang.Object>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Map;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TG;TN;Ljava/util/Map<Ljava/lang/String;-Ljava/lang/Object;>;)V
    MethodParameters:
            Name  Flags
      graph       
      node        
      properties  

  public abstract N node();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;)TN;
    MethodParameters:
      Name  Flags
      obj   

  public abstract C nodeClass();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;)TC;
    MethodParameters:
      Name  Flags
      obj   

  public abstract C classForNode();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TN;)TC;
    MethodParameters:
      Name  Flags
      node  

  public abstract java.lang.String nameTemplate(C);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TC;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      nodeClass  

  public abstract  nodeClassType(C);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TC;)Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      nodeClass  

  public abstract P portInputs();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TC;)TP;
    MethodParameters:
           Name  Flags
      nodeClass  

  public abstract P portOutputs();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TC;)TP;
    MethodParameters:
           Name  Flags
      nodeClass  

  public abstract int portSize();
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TP;)I
    MethodParameters:
      Name  Flags
      port  

  public abstract boolean edgeDirect(P, );
    descriptor: (Ljava/lang/Object;I)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TP;I)Z
    MethodParameters:
       Name  Flags
      port   
      index  

  public abstract java.lang.String edgeName(P, int);
    descriptor: (Ljava/lang/Object;I)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TP;I)Ljava/lang/String;
    MethodParameters:
       Name  Flags
      port   
      index  

  public abstract  edgeType(P, int);
    descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TP;I)Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      port   
      index  

  public abstract java.util.Collection<? extends N> edgeNodes(G, N, P, int);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;I)Ljava/util/Collection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TG;TN;TP;I)Ljava/util/Collection<+TN;>;
    MethodParameters:
       Name  Flags
      graph  
      node   
      port   
      index  
}
Signature: <G:Ljava/lang/Object;N:Ljava/lang/Object;C:Ljava/lang/Object;P:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "GraphStructure.java"