public class org.graalvm.compiler.core.common.CollectionsFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.core.common.CollectionsFactory
  super_class: java.lang.Object
{
  private static final java.lang.ThreadLocal<org.graalvm.compiler.core.common.CollectionsFactory$Mode> tl;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 41
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic org.graalvm.compiler.core.common.CollectionsFactory.tl:Ljava/lang/ThreadLocal;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.common.CollectionsFactory this
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.core.common.CollectionsFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/common/CollectionsFactory;

  public static org.graalvm.compiler.core.common.CollectionsFactory$Mode getMode();
    descriptor: ()Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 76
            getstatic org.graalvm.compiler.core.common.CollectionsFactory.tl:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.CollectionsFactory$Mode
            astore 0 /* mode */
        start local 0 // org.graalvm.compiler.core.common.CollectionsFactory$Mode mode
         1: .line 77
            aload 0 /* mode */
            ifnonnull 2
            getstatic org.graalvm.compiler.core.common.CollectionsFactory$Mode.STANDARD:Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            goto 3
      StackMap locals: org.graalvm.compiler.core.common.CollectionsFactory$Mode
      StackMap stack:
         2: aload 0 /* mode */
      StackMap locals:
      StackMap stack: org.graalvm.compiler.core.common.CollectionsFactory$Mode
         3: areturn
        end local 0 // org.graalvm.compiler.core.common.CollectionsFactory$Mode mode
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    4     0  mode  Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;

  public static org.graalvm.compiler.core.common.CollectionsFactory$ModeScope changeMode(org.graalvm.compiler.core.common.CollectionsFactory$Mode);
    descriptor: (Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;)Lorg/graalvm/compiler/core/common/CollectionsFactory$ModeScope;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.core.common.CollectionsFactory$Mode mode
         0: .line 87
            getstatic org.graalvm.compiler.core.common.CollectionsFactory.tl:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.CollectionsFactory$Mode
            astore 1 /* previousMode */
        start local 1 // org.graalvm.compiler.core.common.CollectionsFactory$Mode previousMode
         1: .line 88
            getstatic org.graalvm.compiler.core.common.CollectionsFactory.tl:Ljava/lang/ThreadLocal;
            aload 0 /* mode */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         2: .line 89
            new org.graalvm.compiler.core.common.CollectionsFactory$ModeScope
            dup
            aload 1 /* previousMode */
            invokespecial org.graalvm.compiler.core.common.CollectionsFactory$ModeScope.<init>:(Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;)V
            areturn
        end local 1 // org.graalvm.compiler.core.common.CollectionsFactory$Mode previousMode
        end local 0 // org.graalvm.compiler.core.common.CollectionsFactory$Mode mode
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          mode  Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            1    3     1  previousMode  Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
    MethodParameters:
      Name  Flags
      mode  

  public static <K, V> java.util.HashMap<K, V> newMap();
    descriptor: ()Ljava/util/HashMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 93
            invokestatic org.graalvm.compiler.core.common.CollectionsFactory.getMode:()Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            getstatic org.graalvm.compiler.core.common.CollectionsFactory$Mode.STANDARD:Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            if_acmpne 1
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
      StackMap locals:
      StackMap stack: java.util.HashMap
         2: areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>()Ljava/util/HashMap<TK;TV;>;

  public static <K, V> java.util.HashMap<K, V> newMap(java.util.Map<K, V>);
    descriptor: (Ljava/util/Map;)Ljava/util/HashMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Map m
         0: .line 97
            invokestatic org.graalvm.compiler.core.common.CollectionsFactory.getMode:()Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            getstatic org.graalvm.compiler.core.common.CollectionsFactory$Mode.STANDARD:Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            if_acmpne 1
            new java.util.HashMap
            dup
            aload 0 /* m */
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.util.LinkedHashMap
            dup
            aload 0 /* m */
            invokespecial java.util.LinkedHashMap.<init>:(Ljava/util/Map;)V
      StackMap locals:
      StackMap stack: java.util.HashMap
         2: areturn
        end local 0 // java.util.Map m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     m  Ljava/util/Map<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/Map<TK;TV;>;)Ljava/util/HashMap<TK;TV;>;
    MethodParameters:
      Name  Flags
      m     

  public static <K, V> java.util.HashMap<K, V> newMap(int);
    descriptor: (I)Ljava/util/HashMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int initialCapacity
         0: .line 101
            invokestatic org.graalvm.compiler.core.common.CollectionsFactory.getMode:()Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            getstatic org.graalvm.compiler.core.common.CollectionsFactory$Mode.STANDARD:Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            if_acmpne 1
            new java.util.HashMap
            dup
            iload 0 /* initialCapacity */
            invokespecial java.util.HashMap.<init>:(I)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.util.LinkedHashMap
            dup
            iload 0 /* initialCapacity */
            invokespecial java.util.LinkedHashMap.<init>:(I)V
      StackMap locals:
      StackMap stack: java.util.HashMap
         2: areturn
        end local 0 // int initialCapacity
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0  initialCapacity  I
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(I)Ljava/util/HashMap<TK;TV;>;
    MethodParameters:
                 Name  Flags
      initialCapacity  

  public static <K, V> java.util.Map<K, V> newIdentityMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 105
            invokestatic org.graalvm.compiler.core.common.CollectionsFactory.getMode:()Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            getstatic org.graalvm.compiler.core.common.CollectionsFactory$Mode.STANDARD:Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            if_acmpne 1
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new org.graalvm.compiler.core.common.LinkedIdentityHashMap
            dup
            invokespecial org.graalvm.compiler.core.common.LinkedIdentityHashMap.<init>:()V
      StackMap locals:
      StackMap stack: java.util.Map
         2: areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>()Ljava/util/Map<TK;TV;>;

  public static <K, V> java.util.Map<K, V> newIdentityMap(int);
    descriptor: (I)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int expectedMaxSize
         0: .line 109
            invokestatic org.graalvm.compiler.core.common.CollectionsFactory.getMode:()Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            getstatic org.graalvm.compiler.core.common.CollectionsFactory$Mode.STANDARD:Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            if_acmpne 1
            new java.util.IdentityHashMap
            dup
            iload 0 /* expectedMaxSize */
            invokespecial java.util.IdentityHashMap.<init>:(I)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new org.graalvm.compiler.core.common.LinkedIdentityHashMap
            dup
            invokespecial org.graalvm.compiler.core.common.LinkedIdentityHashMap.<init>:()V
      StackMap locals:
      StackMap stack: java.util.Map
         2: areturn
        end local 0 // int expectedMaxSize
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0  expectedMaxSize  I
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(I)Ljava/util/Map<TK;TV;>;
    MethodParameters:
                 Name  Flags
      expectedMaxSize  

  public static <K, V> java.util.Map<K, V> newIdentityMap(java.util.Map<K, V>);
    descriptor: (Ljava/util/Map;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Map m
         0: .line 113
            invokestatic org.graalvm.compiler.core.common.CollectionsFactory.getMode:()Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            getstatic org.graalvm.compiler.core.common.CollectionsFactory$Mode.STANDARD:Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            if_acmpne 1
            new java.util.IdentityHashMap
            dup
            aload 0 /* m */
            invokespecial java.util.IdentityHashMap.<init>:(Ljava/util/Map;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new org.graalvm.compiler.core.common.LinkedIdentityHashMap
            dup
            aload 0 /* m */
            invokespecial org.graalvm.compiler.core.common.LinkedIdentityHashMap.<init>:(Ljava/util/Map;)V
      StackMap locals:
      StackMap stack: java.util.Map
         2: areturn
        end local 0 // java.util.Map m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     m  Ljava/util/Map<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/Map<TK;TV;>;)Ljava/util/Map<TK;TV;>;
    MethodParameters:
      Name  Flags
      m     

  public static <E> java.util.Set<E> newSet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 122
            invokestatic org.graalvm.compiler.core.common.CollectionsFactory.getMode:()Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            getstatic org.graalvm.compiler.core.common.CollectionsFactory$Mode.STANDARD:Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            if_acmpne 1
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
      StackMap locals:
      StackMap stack: java.util.HashSet
         2: areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E:Ljava/lang/Object;>()Ljava/util/Set<TE;>;

  public static <E> java.util.Set<E> newSet(java.util.Collection<? extends E>);
    descriptor: (Ljava/util/Collection;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Collection c
         0: .line 129
            invokestatic org.graalvm.compiler.core.common.CollectionsFactory.getMode:()Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            getstatic org.graalvm.compiler.core.common.CollectionsFactory$Mode.STANDARD:Lorg/graalvm/compiler/core/common/CollectionsFactory$Mode;
            if_acmpne 1
            new java.util.HashSet
            dup
            aload 0 /* c */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.util.LinkedHashSet
            dup
            aload 0 /* c */
            invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
      StackMap locals:
      StackMap stack: java.util.HashSet
         2: areturn
        end local 0 // java.util.Collection c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     c  Ljava/util/Collection<+TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Collection<+TE;>;)Ljava/util/Set<TE;>;
    MethodParameters:
      Name  Flags
      c     
}
SourceFile: "CollectionsFactory.java"
NestMembers:
  org.graalvm.compiler.core.common.CollectionsFactory$Mode  org.graalvm.compiler.core.common.CollectionsFactory$ModeScope
InnerClasses:
  public final Mode = org.graalvm.compiler.core.common.CollectionsFactory$Mode of org.graalvm.compiler.core.common.CollectionsFactory
  public ModeScope = org.graalvm.compiler.core.common.CollectionsFactory$ModeScope of org.graalvm.compiler.core.common.CollectionsFactory