class com.sun.tools.javac.comp.Lower$1 extends com.sun.tools.javac.tree.TreeScanner
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.comp.Lower$1
  super_class: com.sun.tools.javac.tree.TreeScanner
{
  com.sun.tools.javac.code.Symbol$TypeSymbol currentClass;
    descriptor: Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
    flags: (0x0000) 

  final com.sun.tools.javac.comp.Lower this$0;
    descriptor: Lcom/sun/tools/javac/comp/Lower;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.sun.tools.javac.comp.Lower);
    descriptor: (Lcom/sun/tools/javac/comp/Lower;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Lower$1 this
         0: .line 735
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.comp.Lower$1.this$0:Lcom/sun/tools/javac/comp/Lower;
            aload 0 /* this */
            invokespecial com.sun.tools.javac.tree.TreeScanner.<init>:()V
            return
        end local 0 // com.sun.tools.javac.comp.Lower$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Lower$1;
    MethodParameters:
        Name  Flags
      this$0  final

  public void visitMethodDef(com.sun.tools.javac.tree.JCTree$JCMethodDecl);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Lower$1 this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCMethodDecl that
         0: .line 741
            aload 0 /* this */
            aload 1 /* that */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCMethodDecl.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            aload 1 /* that */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.sym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Lower$1.currentClass:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.comp.Lower$1.checkConflicts:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
         1: .line 742
            aload 0 /* this */
            aload 1 /* that */
            invokespecial com.sun.tools.javac.tree.TreeScanner.visitMethodDef:(Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;)V
         2: .line 743
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCMethodDecl that
        end local 0 // com.sun.tools.javac.comp.Lower$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/comp/Lower$1;
            0    3     1  that  Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;
    MethodParameters:
      Name  Flags
      that  

  public void visitVarDef(com.sun.tools.javac.tree.JCTree$JCVariableDecl);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Lower$1 this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCVariableDecl that
         0: .line 747
            aload 1 /* that */
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.sym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            getfield com.sun.tools.javac.code.Symbol$VarSymbol.owner:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.TYP:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 2
         1: .line 748
            aload 0 /* this */
            aload 1 /* that */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCVariableDecl.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            aload 1 /* that */
            getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.sym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Lower$1.currentClass:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.comp.Lower$1.checkConflicts:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
         2: .line 750
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* that */
            invokespecial com.sun.tools.javac.tree.TreeScanner.visitVarDef:(Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;)V
         3: .line 751
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCVariableDecl that
        end local 0 // com.sun.tools.javac.comp.Lower$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/comp/Lower$1;
            0    4     1  that  Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
    MethodParameters:
      Name  Flags
      that  

  public void visitClassDef(com.sun.tools.javac.tree.JCTree$JCClassDecl);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.comp.Lower$1 this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCClassDecl that
         0: .line 755
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Lower$1.currentClass:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            astore 2 /* prevCurrentClass */
        start local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol prevCurrentClass
         1: .line 756
            aload 0 /* this */
            aload 1 /* that */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            putfield com.sun.tools.javac.comp.Lower$1.currentClass:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
         2: .line 758
            aload 0 /* this */
            aload 1 /* that */
            invokespecial com.sun.tools.javac.tree.TreeScanner.visitClassDef:(Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
         3: .line 759
            goto 7
         4: .line 760
      StackMap locals: com.sun.tools.javac.comp.Lower$1 com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.tools.javac.code.Symbol$TypeSymbol
      StackMap stack: java.lang.Throwable
            astore 3
         5: .line 761
            aload 0 /* this */
            aload 2 /* prevCurrentClass */
            putfield com.sun.tools.javac.comp.Lower$1.currentClass:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
         6: .line 762
            aload 3
            athrow
         7: .line 761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* prevCurrentClass */
            putfield com.sun.tools.javac.comp.Lower$1.currentClass:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
         8: .line 763
            return
        end local 2 // com.sun.tools.javac.code.Symbol$TypeSymbol prevCurrentClass
        end local 1 // com.sun.tools.javac.tree.JCTree$JCClassDecl that
        end local 0 // com.sun.tools.javac.comp.Lower$1 this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lcom/sun/tools/javac/comp/Lower$1;
            0    9     1              that  Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
            1    9     2  prevCurrentClass  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
      Exception table:
        from    to  target  type
           2     4       4  any
    MethodParameters:
      Name  Flags
      that  

  void checkConflicts(com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition, com.sun.tools.javac.code.Symbol, com.sun.tools.javac.code.Symbol$TypeSymbol);
    descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // com.sun.tools.javac.comp.Lower$1 this
        start local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        start local 2 // com.sun.tools.javac.code.Symbol sym
        start local 3 // com.sun.tools.javac.code.Symbol$TypeSymbol c
         0: .line 766
            aload 3 /* c */
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            astore 4 /* ct */
        start local 4 // com.sun.tools.javac.code.Type ct
         1: goto 15
         2: .line 767
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 4 /* ct */
            getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.members:()Lcom/sun/tools/javac/code/Scope$WriteableScope;
            aload 2 /* sym */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            getstatic com.sun.tools.javac.code.Scope$LookupKind.NON_RECURSIVE:Lcom/sun/tools/javac/code/Scope$LookupKind;
            invokevirtual com.sun.tools.javac.code.Scope$WriteableScope.getSymbolsByName:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Scope$LookupKind;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals: com.sun.tools.javac.comp.Lower$1 com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Type top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol
            astore 5 /* sym2 */
        start local 5 // com.sun.tools.javac.code.Symbol sym2
         4: .line 769
            aload 2 /* sym */
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            aload 5 /* sym2 */
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 13
         5: .line 770
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Lower$1.this$0:Lcom/sun/tools/javac/comp/Lower;
            getfield com.sun.tools.javac.comp.Lower.types:Lcom/sun/tools/javac/code/Types;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Lower$1.this$0:Lcom/sun/tools/javac/comp/Lower;
            getfield com.sun.tools.javac.comp.Lower.types:Lcom/sun/tools/javac/code/Types;
            aload 2 /* sym */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Lower$1.this$0:Lcom/sun/tools/javac/comp/Lower;
            getfield com.sun.tools.javac.comp.Lower.types:Lcom/sun/tools/javac/code/Types;
            aload 5 /* sym2 */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
            ifeq 13
         6: .line 771
            aload 2 /* sym */
            aload 5 /* sym2 */
            if_acmpeq 13
         7: .line 772
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 4096
            land
            aload 5 /* sym2 */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 4096
            land
            lcmp
            ifeq 13
         8: .line 773
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 2147483648
            land
            lconst_0
            lcmp
            ifne 13
            aload 5 /* sym2 */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 2147483648
            land
            lconst_0
            lcmp
            ifne 13
         9: .line 774
            aload 0 /* this */
            aload 1 /* pos */
            aload 5 /* sym2 */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 4096
            land
            lconst_0
            lcmp
            ifne 10
            aload 5 /* sym2 */
            goto 11
      StackMap locals: com.sun.tools.javac.comp.Lower$1 com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol java.util.Iterator
      StackMap stack: com.sun.tools.javac.comp.Lower$1 com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition
        10: aload 2 /* sym */
      StackMap locals: com.sun.tools.javac.comp.Lower$1 com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Type com.sun.tools.javac.code.Symbol java.util.Iterator
      StackMap stack: com.sun.tools.javac.comp.Lower$1 com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Symbol
        11: invokevirtual com.sun.tools.javac.comp.Lower$1.syntheticError:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol;)V
        12: .line 775
            return
        end local 5 // com.sun.tools.javac.code.Symbol sym2
        13: .line 767
      StackMap locals: com.sun.tools.javac.comp.Lower$1 com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Type top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        14: .line 766
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Lower$1.this$0:Lcom/sun/tools/javac/comp/Lower;
            getfield com.sun.tools.javac.comp.Lower.types:Lcom/sun/tools/javac/code/Types;
            aload 4 /* ct */
            invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 4 /* ct */
      StackMap locals: com.sun.tools.javac.comp.Lower$1 com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Symbol com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Type
      StackMap stack:
        15: aload 4 /* ct */
            getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
            if_acmpne 2
        end local 4 // com.sun.tools.javac.code.Type ct
        16: .line 779
            return
        end local 3 // com.sun.tools.javac.code.Symbol$TypeSymbol c
        end local 2 // com.sun.tools.javac.code.Symbol sym
        end local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        end local 0 // com.sun.tools.javac.comp.Lower$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lcom/sun/tools/javac/comp/Lower$1;
            0   17     1   pos  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            0   17     2   sym  Lcom/sun/tools/javac/code/Symbol;
            0   17     3     c  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            1   16     4    ct  Lcom/sun/tools/javac/code/Type;
            4   13     5  sym2  Lcom/sun/tools/javac/code/Symbol;
    MethodParameters:
      Name  Flags
      pos   
      sym   
      c     

  private void syntheticError(com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition, com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Symbol;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.Lower$1 this
        start local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        start local 2 // com.sun.tools.javac.code.Symbol sym
         0: .line 784
            aload 2 /* sym */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.isErroneous:()Z
            ifne 2
         1: .line 785
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Lower$1.this$0:Lcom/sun/tools/javac/comp/Lower;
            getfield com.sun.tools.javac.comp.Lower.log:Lcom/sun/tools/javac/util/Log;
            aload 1 /* pos */
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol.location:()Lcom/sun/tools/javac/code/Symbol;
            aload 2 /* sym */
            aload 2 /* sym */
            invokevirtual com.sun.tools.javac.code.Symbol.location:()Lcom/sun/tools/javac/code/Symbol;
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.SyntheticNameConflict:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.CannotGenerateClass:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
            invokevirtual com.sun.tools.javac.util.Log.error:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Error;)V
         2: .line 787
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.tools.javac.code.Symbol sym
        end local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        end local 0 // com.sun.tools.javac.comp.Lower$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/comp/Lower$1;
            0    3     1   pos  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            0    3     2   sym  Lcom/sun/tools/javac/code/Symbol;
    MethodParameters:
      Name  Flags
      pos   
      sym   
}
SourceFile: "Lower.java"
EnclosingMethod: com.sun.tools.javac.comp.Lower
NestHost: com.sun.tools.javac.comp.Lower
InnerClasses:
  public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
  public final LookupKind = com.sun.tools.javac.code.Scope$LookupKind of com.sun.tools.javac.code.Scope
  public abstract WriteableScope = com.sun.tools.javac.code.Scope$WriteableScope of com.sun.tools.javac.code.Scope
  public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
  public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
  com.sun.tools.javac.comp.Lower$1
  public Errors = com.sun.tools.javac.resources.CompilerProperties$Errors of com.sun.tools.javac.resources.CompilerProperties
  public Fragments = com.sun.tools.javac.resources.CompilerProperties$Fragments of com.sun.tools.javac.resources.CompilerProperties
  public JCClassDecl = com.sun.tools.javac.tree.JCTree$JCClassDecl of com.sun.tools.javac.tree.JCTree
  public JCMethodDecl = com.sun.tools.javac.tree.JCTree$JCMethodDecl of com.sun.tools.javac.tree.JCTree
  public JCVariableDecl = com.sun.tools.javac.tree.JCTree$JCVariableDecl of com.sun.tools.javac.tree.JCTree
  public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
  public final Error = com.sun.tools.javac.util.JCDiagnostic$Error of com.sun.tools.javac.util.JCDiagnostic
  public final Fragment = com.sun.tools.javac.util.JCDiagnostic$Fragment of com.sun.tools.javac.util.JCDiagnostic