class com.mchange.v2.c3p0.cfg.NamedScope
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.mchange.v2.c3p0.cfg.NamedScope
  super_class: java.lang.Object
{
  java.util.HashMap props;
    descriptor: Ljava/util/HashMap;
    flags: (0x0000) 

  java.util.HashMap userNamesToOverrides;
    descriptor: Ljava/util/HashMap;
    flags: (0x0000) 

  java.util.HashMap extensions;
    descriptor: Ljava/util/HashMap;
    flags: (0x0000) 

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.mchange.v2.c3p0.cfg.NamedScope this
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 50
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.mchange.v2.c3p0.cfg.NamedScope.props:Ljava/util/HashMap;
         2: .line 51
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.mchange.v2.c3p0.cfg.NamedScope.userNamesToOverrides:Ljava/util/HashMap;
         3: .line 52
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.mchange.v2.c3p0.cfg.NamedScope.extensions:Ljava/util/HashMap;
         4: .line 53
            return
        end local 0 // com.mchange.v2.c3p0.cfg.NamedScope this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/mchange/v2/c3p0/cfg/NamedScope;

  void <init>(java.util.HashMap, java.util.HashMap, java.util.HashMap);
    descriptor: (Ljava/util/HashMap;Ljava/util/HashMap;Ljava/util/HashMap;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.mchange.v2.c3p0.cfg.NamedScope this
        start local 1 // java.util.HashMap props
        start local 2 // java.util.HashMap userNamesToOverrides
        start local 3 // java.util.HashMap extensions
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            aload 1 /* props */
            putfield com.mchange.v2.c3p0.cfg.NamedScope.props:Ljava/util/HashMap;
         2: .line 58
            aload 0 /* this */
            aload 2 /* userNamesToOverrides */
            putfield com.mchange.v2.c3p0.cfg.NamedScope.userNamesToOverrides:Ljava/util/HashMap;
         3: .line 59
            aload 0 /* this */
            aload 3 /* extensions */
            putfield com.mchange.v2.c3p0.cfg.NamedScope.extensions:Ljava/util/HashMap;
         4: .line 60
            return
        end local 3 // java.util.HashMap extensions
        end local 2 // java.util.HashMap userNamesToOverrides
        end local 1 // java.util.HashMap props
        end local 0 // com.mchange.v2.c3p0.cfg.NamedScope this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0                  this  Lcom/mchange/v2/c3p0/cfg/NamedScope;
            0    5     1                 props  Ljava/util/HashMap;
            0    5     2  userNamesToOverrides  Ljava/util/HashMap;
            0    5     3            extensions  Ljava/util/HashMap;
    MethodParameters:
                      Name  Flags
      props                 
      userNamesToOverrides  
      extensions            

  com.mchange.v2.c3p0.cfg.NamedScope mergedOver(com.mchange.v2.c3p0.cfg.NamedScope);
    descriptor: (Lcom/mchange/v2/c3p0/cfg/NamedScope;)Lcom/mchange/v2/c3p0/cfg/NamedScope;
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.mchange.v2.c3p0.cfg.NamedScope this
        start local 1 // com.mchange.v2.c3p0.cfg.NamedScope underScope
         0: .line 64
            aload 1 /* underScope */
            getfield com.mchange.v2.c3p0.cfg.NamedScope.props:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clone:()Ljava/lang/Object;
            checkcast java.util.HashMap
            astore 2 /* mergedProps */
        start local 2 // java.util.HashMap mergedProps
         1: .line 65
            aload 2 /* mergedProps */
            aload 0 /* this */
            getfield com.mchange.v2.c3p0.cfg.NamedScope.props:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.putAll:(Ljava/util/Map;)V
         2: .line 67
            aload 0 /* this */
            getfield com.mchange.v2.c3p0.cfg.NamedScope.userNamesToOverrides:Ljava/util/HashMap;
            aload 1 /* underScope */
            getfield com.mchange.v2.c3p0.cfg.NamedScope.userNamesToOverrides:Ljava/util/HashMap;
            invokestatic com.mchange.v2.c3p0.cfg.NamedScope.mergeUserNamesToOverrides:(Ljava/util/HashMap;Ljava/util/HashMap;)Ljava/util/HashMap;
            astore 3 /* mergedUserNamesToOverrides */
        start local 3 // java.util.HashMap mergedUserNamesToOverrides
         3: .line 69
            aload 0 /* this */
            getfield com.mchange.v2.c3p0.cfg.NamedScope.extensions:Ljava/util/HashMap;
            aload 1 /* underScope */
            getfield com.mchange.v2.c3p0.cfg.NamedScope.extensions:Ljava/util/HashMap;
            invokestatic com.mchange.v2.c3p0.cfg.NamedScope.mergeExtensions:(Ljava/util/HashMap;Ljava/util/HashMap;)Ljava/util/HashMap;
            astore 4 /* mergedExtensions */
        start local 4 // java.util.HashMap mergedExtensions
         4: .line 71
            new com.mchange.v2.c3p0.cfg.NamedScope
            dup
            aload 2 /* mergedProps */
            aload 3 /* mergedUserNamesToOverrides */
            aload 4 /* mergedExtensions */
            invokespecial com.mchange.v2.c3p0.cfg.NamedScope.<init>:(Ljava/util/HashMap;Ljava/util/HashMap;Ljava/util/HashMap;)V
            areturn
        end local 4 // java.util.HashMap mergedExtensions
        end local 3 // java.util.HashMap mergedUserNamesToOverrides
        end local 2 // java.util.HashMap mergedProps
        end local 1 // com.mchange.v2.c3p0.cfg.NamedScope underScope
        end local 0 // com.mchange.v2.c3p0.cfg.NamedScope this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    5     0                        this  Lcom/mchange/v2/c3p0/cfg/NamedScope;
            0    5     1                  underScope  Lcom/mchange/v2/c3p0/cfg/NamedScope;
            1    5     2                 mergedProps  Ljava/util/HashMap;
            3    5     3  mergedUserNamesToOverrides  Ljava/util/HashMap;
            4    5     4            mergedExtensions  Ljava/util/HashMap;
    MethodParameters:
            Name  Flags
      underScope  

  static java.util.HashMap mergeExtensions(java.util.HashMap, java.util.HashMap);
    descriptor: (Ljava/util/HashMap;Ljava/util/HashMap;)Ljava/util/HashMap;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.HashMap over
        start local 1 // java.util.HashMap under
         0: .line 76
            aload 1 /* under */
            invokevirtual java.util.HashMap.clone:()Ljava/lang/Object;
            checkcast java.util.HashMap
            astore 2 /* out */
        start local 2 // java.util.HashMap out
         1: .line 77
            aload 2 /* out */
            aload 0 /* over */
            invokevirtual java.util.HashMap.putAll:(Ljava/util/Map;)V
         2: .line 78
            aload 2 /* out */
            areturn
        end local 2 // java.util.HashMap out
        end local 1 // java.util.HashMap under
        end local 0 // java.util.HashMap over
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   over  Ljava/util/HashMap;
            0    3     1  under  Ljava/util/HashMap;
            1    3     2    out  Ljava/util/HashMap;
    MethodParameters:
       Name  Flags
      over   
      under  

  static java.util.HashMap mergeUserNamesToOverrides(java.util.HashMap, java.util.HashMap);
    descriptor: (Ljava/util/HashMap;Ljava/util/HashMap;)Ljava/util/HashMap;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // java.util.HashMap over
        start local 1 // java.util.HashMap under
         0: .line 83
            aload 1 /* under */
            invokevirtual java.util.HashMap.clone:()Ljava/lang/Object;
            checkcast java.util.HashMap
            astore 2 /* out */
        start local 2 // java.util.HashMap out
         1: .line 85
            new java.util.HashSet
            dup
            aload 1 /* under */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 3 /* underUserNames */
        start local 3 // java.util.HashSet underUserNames
         2: .line 86
            new java.util.HashSet
            dup
            aload 0 /* over */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 4 /* overUserNames */
        start local 4 // java.util.HashSet overUserNames
         3: .line 88
            aload 4 /* overUserNames */
            invokevirtual java.util.HashSet.clone:()Ljava/lang/Object;
            checkcast java.util.HashSet
            astore 5 /* newUserNames */
        start local 5 // java.util.HashSet newUserNames
         4: .line 89
            aload 5 /* newUserNames */
            aload 3 /* underUserNames */
            invokevirtual java.util.HashSet.removeAll:(Ljava/util/Collection;)Z
            pop
         5: .line 91
            aload 5 /* newUserNames */
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 6 /* ii */
        start local 6 // java.util.Iterator ii
         6: goto 9
         7: .line 93
      StackMap locals: java.util.HashMap java.util.HashMap java.util.HashMap java.util.HashSet java.util.HashSet java.util.HashSet java.util.Iterator
      StackMap stack:
            aload 6 /* ii */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* name */
        start local 7 // java.lang.String name
         8: .line 94
            aload 2 /* out */
            aload 7 /* name */
            aload 0 /* over */
            aload 7 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.HashMap
            invokevirtual java.util.HashMap.clone:()Ljava/lang/Object;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.lang.String name
         9: .line 91
      StackMap locals:
      StackMap stack:
            aload 6 /* ii */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 6 // java.util.Iterator ii
        10: .line 97
            aload 4 /* overUserNames */
            invokevirtual java.util.HashSet.clone:()Ljava/lang/Object;
            checkcast java.util.HashSet
            astore 6 /* mergeUserNames */
        start local 6 // java.util.HashSet mergeUserNames
        11: .line 98
            aload 6 /* mergeUserNames */
            aload 3 /* underUserNames */
            invokevirtual java.util.HashSet.retainAll:(Ljava/util/Collection;)Z
            pop
        12: .line 100
            aload 6 /* mergeUserNames */
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 7 /* ii */
        start local 7 // java.util.Iterator ii
        13: goto 16
        14: .line 102
      StackMap locals: java.util.HashMap java.util.HashMap java.util.HashMap java.util.HashSet java.util.HashSet java.util.HashSet java.util.HashSet java.util.Iterator
      StackMap stack:
            aload 7 /* ii */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* name */
        start local 8 // java.lang.String name
        15: .line 103
            aload 2 /* out */
            aload 8 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.HashMap
            aload 0 /* over */
            aload 8 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.HashMap
            invokevirtual java.util.HashMap.putAll:(Ljava/util/Map;)V
        end local 8 // java.lang.String name
        16: .line 100
      StackMap locals:
      StackMap stack:
            aload 7 /* ii */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        end local 7 // java.util.Iterator ii
        17: .line 106
            aload 2 /* out */
            areturn
        end local 6 // java.util.HashSet mergeUserNames
        end local 5 // java.util.HashSet newUserNames
        end local 4 // java.util.HashSet overUserNames
        end local 3 // java.util.HashSet underUserNames
        end local 2 // java.util.HashMap out
        end local 1 // java.util.HashMap under
        end local 0 // java.util.HashMap over
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            over  Ljava/util/HashMap;
            0   18     1           under  Ljava/util/HashMap;
            1   18     2             out  Ljava/util/HashMap;
            2   18     3  underUserNames  Ljava/util/HashSet;
            3   18     4   overUserNames  Ljava/util/HashSet;
            4   18     5    newUserNames  Ljava/util/HashSet;
            6   10     6              ii  Ljava/util/Iterator;
            8    9     7            name  Ljava/lang/String;
           11   18     6  mergeUserNames  Ljava/util/HashSet;
           13   17     7              ii  Ljava/util/Iterator;
           15   16     8            name  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      over   
      under  
}
SourceFile: "NamedScope.java"