public interface org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment extends org.eclipse.jdt.internal.compiler.env.INameEnvironment
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment
  super_class: java.lang.Object
{
  public org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer findType(char[][]);
    descriptor: ([[C)Lorg/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment this
        start local 1 // char[][] compoundTypeName
         0: .line 97
            aload 0 /* this */
            aload 1 /* compoundTypeName */
            getstatic org.eclipse.jdt.internal.compiler.lookup.ModuleBinding.ANY:[C
            invokeinterface org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment.findType:([[C[C)Lorg/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer;
            areturn
        end local 1 // char[][] compoundTypeName
        end local 0 // org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/eclipse/jdt/internal/compiler/env/IModuleAwareNameEnvironment;
            0    1     1  compoundTypeName  [[C
    MethodParameters:
                  Name  Flags
      compoundTypeName  

  public org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer findType(char[], char[][]);
    descriptor: ([C[[C)Lorg/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment this
        start local 1 // char[] typeName
        start local 2 // char[][] packageName
         0: .line 101
            aload 0 /* this */
            aload 1 /* typeName */
            aload 2 /* packageName */
            getstatic org.eclipse.jdt.internal.compiler.lookup.ModuleBinding.ANY:[C
            invokeinterface org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment.findType:([C[[C[C)Lorg/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer;
            areturn
        end local 2 // char[][] packageName
        end local 1 // char[] typeName
        end local 0 // org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/eclipse/jdt/internal/compiler/env/IModuleAwareNameEnvironment;
            0    1     1     typeName  [C
            0    1     2  packageName  [[C
    MethodParameters:
             Name  Flags
      typeName     
      packageName  

  public boolean isPackage(char[][], char[]);
    descriptor: ([[C[C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment this
        start local 1 // char[][] parentPackageName
        start local 2 // char[] packageName
         0: .line 105
            aload 0 /* this */
            aload 1 /* parentPackageName */
            aload 2 /* packageName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.arrayConcat:([[C[C)[[C
            getstatic org.eclipse.jdt.internal.compiler.lookup.ModuleBinding.ANY:[C
            invokeinterface org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment.getModulesDeclaringPackage:([[C[C)[[C
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // char[] packageName
        end local 1 // char[][] parentPackageName
        end local 0 // org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/eclipse/jdt/internal/compiler/env/IModuleAwareNameEnvironment;
            0    2     1  parentPackageName  [[C
            0    2     2        packageName  [C
    MethodParameters:
                   Name  Flags
      parentPackageName  
      packageName        

  public abstract org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer findType(char[][], char[]);
    descriptor: ([[C[C)Lorg/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      compoundName  
      moduleName    

  public abstract org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer findType(char[], char[][], char[]);
    descriptor: ([C[[C[C)Lorg/eclipse/jdt/internal/compiler/env/NameEnvironmentAnswer;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      typeName     
      packageName  
      moduleName   

  public abstract char[][] getModulesDeclaringPackage(char[][], char[]);
    descriptor: ([[C[C)[[C
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      packageName  
      moduleName   

  public char[][] getUniqueModulesDeclaringPackage(char[][], char[]);
    descriptor: ([[C[C)[[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment this
        start local 1 // char[][] packageName
        start local 2 // char[] moduleName
         0: .line 113
            aload 0 /* this */
            aload 1 /* packageName */
            aload 2 /* moduleName */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment.getModulesDeclaringPackage:([[C[C)[[C
            astore 3 /* allNames */
        start local 3 // char[][] allNames
         1: .line 114
            aload 3 /* allNames */
            ifnull 10
            aload 3 /* allNames */
            arraylength
            iconst_1
            if_icmple 10
         2: .line 115
            new org.eclipse.jdt.internal.compiler.util.SimpleSetOfCharArray
            dup
            aload 3 /* allNames */
            arraylength
            invokespecial org.eclipse.jdt.internal.compiler.util.SimpleSetOfCharArray.<init>:(I)V
            astore 4 /* set */
        start local 4 // org.eclipse.jdt.internal.compiler.util.SimpleSetOfCharArray set
         3: .line 116
            aload 3 /* allNames */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 7
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment char[][] char[] char[][] org.eclipse.jdt.internal.compiler.util.SimpleSetOfCharArray top int int char[][]
      StackMap stack:
         4: aload 8
            iload 6
            aaload
            astore 5 /* oneName */
        start local 5 // char[] oneName
         5: .line 117
            aload 4 /* set */
            aload 5 /* oneName */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleSetOfCharArray.add:([C)Ljava/lang/Object;
            pop
        end local 5 // char[] oneName
         6: .line 116
            iinc 6 1
      StackMap locals:
      StackMap stack:
         7: iload 6
            iload 7
            if_icmplt 4
         8: .line 118
            aload 4 /* set */
            getfield org.eclipse.jdt.internal.compiler.util.SimpleSetOfCharArray.elementSize:I
            anewarray char[]
            astore 3 /* allNames */
         9: .line 119
            aload 4 /* set */
            aload 3 /* allNames */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleSetOfCharArray.asArray:([Ljava/lang/Object;)V
        end local 4 // org.eclipse.jdt.internal.compiler.util.SimpleSetOfCharArray set
        10: .line 121
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment char[][] char[] char[][]
      StackMap stack:
            aload 3 /* allNames */
            areturn
        end local 3 // char[][] allNames
        end local 2 // char[] moduleName
        end local 1 // char[][] packageName
        end local 0 // org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lorg/eclipse/jdt/internal/compiler/env/IModuleAwareNameEnvironment;
            0   11     1  packageName  [[C
            0   11     2   moduleName  [C
            1   11     3     allNames  [[C
            3   10     4          set  Lorg/eclipse/jdt/internal/compiler/util/SimpleSetOfCharArray;
            5    6     5      oneName  [C
    MethodParameters:
             Name  Flags
      packageName  
      moduleName   

  public abstract boolean hasCompilationUnit(char[][], char[], boolean);
    descriptor: ([[C[CZ)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                      Name  Flags
      qualifiedPackageName  
      moduleName            
      checkCUs              

  public abstract org.eclipse.jdt.internal.compiler.env.IModule getModule(char[]);
    descriptor: ([C)Lorg/eclipse/jdt/internal/compiler/env/IModule;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      moduleName  

  public abstract char[][] getAllAutomaticModules();
    descriptor: ()[[C
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public void applyModuleUpdates(org.eclipse.jdt.internal.compiler.env.IUpdatableModule, org.eclipse.jdt.internal.compiler.env.IUpdatableModule$UpdateKind);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/env/IUpdatableModule;Lorg/eclipse/jdt/internal/compiler/env/IUpdatableModule$UpdateKind;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment this
        start local 1 // org.eclipse.jdt.internal.compiler.env.IUpdatableModule module
        start local 2 // org.eclipse.jdt.internal.compiler.env.IUpdatableModule$UpdateKind kind
         0: .line 142
            return
        end local 2 // org.eclipse.jdt.internal.compiler.env.IUpdatableModule$UpdateKind kind
        end local 1 // org.eclipse.jdt.internal.compiler.env.IUpdatableModule module
        end local 0 // org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/eclipse/jdt/internal/compiler/env/IModuleAwareNameEnvironment;
            0    1     1  module  Lorg/eclipse/jdt/internal/compiler/env/IUpdatableModule;
            0    1     2    kind  Lorg/eclipse/jdt/internal/compiler/env/IUpdatableModule$UpdateKind;
    MethodParameters:
        Name  Flags
      module  
      kind    

  public abstract char[][] listPackages(char[]);
    descriptor: ([C)[[C
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      moduleName  
}
SourceFile: "IModuleAwareNameEnvironment.java"
NestMembers:
  org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment$LookupStrategy  org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment$LookupStrategy$1  org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment$LookupStrategy$2  org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment$LookupStrategy$3  org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment$LookupStrategy$4
InnerClasses:
  public abstract LookupStrategy = org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment$LookupStrategy of org.eclipse.jdt.internal.compiler.env.IModuleAwareNameEnvironment
  public final UpdateKind = org.eclipse.jdt.internal.compiler.env.IUpdatableModule$UpdateKind of org.eclipse.jdt.internal.compiler.env.IUpdatableModule