public interface org.aspectj.asm.IHierarchy extends java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.aspectj.asm.IHierarchy
  super_class: java.lang.Object
{
  public static final org.aspectj.asm.IProgramElement NO_STRUCTURE;
    descriptor: Lorg/aspectj/asm/IProgramElement;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 29
            new org.aspectj.asm.internal.ProgramElement
            dup
            aconst_null
            ldc "<build to view structure>"
         1: .line 30
            getstatic org.aspectj.asm.IProgramElement$Kind.ERROR:Lorg/aspectj/asm/IProgramElement$Kind;
            aconst_null
         2: .line 29
            invokespecial org.aspectj.asm.internal.ProgramElement.<init>:(Lorg/aspectj/asm/AsmManager;Ljava/lang/String;Lorg/aspectj/asm/IProgramElement$Kind;Ljava/util/List;)V
            putstatic org.aspectj.asm.IHierarchy.NO_STRUCTURE:Lorg/aspectj/asm/IProgramElement;
         3: .line 30
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public abstract org.aspectj.asm.IProgramElement getElement(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/aspectj/asm/IProgramElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      handle  

  public abstract org.aspectj.asm.IProgramElement getRoot();
    descriptor: ()Lorg/aspectj/asm/IProgramElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setRoot(org.aspectj.asm.IProgramElement);
    descriptor: (Lorg/aspectj/asm/IProgramElement;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      root  

  public abstract void addToFileMap(java.lang.String, org.aspectj.asm.IProgramElement);
    descriptor: (Ljava/lang/String;Lorg/aspectj/asm/IProgramElement;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                               Name  Flags
      canonicalFilePath              
      compilationUnitProgramElement  

  public abstract boolean removeFromFileMap(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                   Name  Flags
      canonicalFilePath  

  public abstract void setFileMap(java.util.HashMap<java.lang.String, org.aspectj.asm.IProgramElement>);
    descriptor: (Ljava/util/HashMap;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/HashMap<Ljava/lang/String;Lorg/aspectj/asm/IProgramElement;>;)V
    MethodParameters:
         Name  Flags
      fileMap  

  public abstract java.lang.Object findInFileMap(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      key   

  public abstract java.util.Set<java.util.Map$Entry<java.lang.String, org.aspectj.asm.IProgramElement>> getFileMapEntrySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/aspectj/asm/IProgramElement;>;>;

  public abstract boolean isValid();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.aspectj.asm.IProgramElement findElementForHandle(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/aspectj/asm/IProgramElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      handle  

  public abstract org.aspectj.asm.IProgramElement findElementForHandleOrCreate(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lorg/aspectj/asm/IProgramElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      handle  
      create  

  public abstract org.aspectj.asm.IProgramElement findElementForSignature(org.aspectj.asm.IProgramElement, org.aspectj.asm.IProgramElement$Kind, java.lang.String);
    descriptor: (Lorg/aspectj/asm/IProgramElement;Lorg/aspectj/asm/IProgramElement$Kind;Ljava/lang/String;)Lorg/aspectj/asm/IProgramElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      parent     
      kind       
      signature  

  public abstract org.aspectj.asm.IProgramElement findElementForLabel(org.aspectj.asm.IProgramElement, org.aspectj.asm.IProgramElement$Kind, java.lang.String);
    descriptor: (Lorg/aspectj/asm/IProgramElement;Lorg/aspectj/asm/IProgramElement$Kind;Ljava/lang/String;)Lorg/aspectj/asm/IProgramElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      parent  
      kind    
      label   

  public abstract org.aspectj.asm.IProgramElement findElementForType(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/aspectj/asm/IProgramElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      packageName  
      typeName     

  public abstract org.aspectj.asm.IProgramElement findElementForSourceFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/aspectj/asm/IProgramElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      sourceFile  

  public abstract org.aspectj.asm.IProgramElement findElementForSourceLine(org.aspectj.bridge.ISourceLocation);
    descriptor: (Lorg/aspectj/bridge/ISourceLocation;)Lorg/aspectj/asm/IProgramElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      location  

  public abstract org.aspectj.asm.IProgramElement findElementForSourceLine(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lorg/aspectj/asm/IProgramElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      sourceFilePath  
      lineNumber      

  public abstract org.aspectj.asm.IProgramElement findElementForOffSet(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Lorg/aspectj/asm/IProgramElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      sourceFilePath  
      lineNumber      
      offSet          

  public abstract java.lang.String getConfigFile();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setConfigFile(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      configFile  

  public abstract void flushTypeMap();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void flushHandleMap();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void updateHandleMap(java.util.Set<java.lang.String>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
              Name  Flags
      deletedFiles  

  public abstract org.aspectj.asm.IProgramElement findCloserMatchForLineNumber(org.aspectj.asm.IProgramElement, int);
    descriptor: (Lorg/aspectj/asm/IProgramElement;I)Lorg/aspectj/asm/IProgramElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      node    
      lineno  

  public abstract org.aspectj.asm.IProgramElement findNodeForSourceFile(org.aspectj.asm.IProgramElement, java.lang.String);
    descriptor: (Lorg/aspectj/asm/IProgramElement;Ljava/lang/String;)Lorg/aspectj/asm/IProgramElement;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      node            
      sourcefilePath  
}
SourceFile: "IHierarchy.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public Kind = org.aspectj.asm.IProgramElement$Kind of org.aspectj.asm.IProgramElement