public final class sun.tracing.dtrace.DTraceProviderFactory extends com.sun.tracing.ProviderFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.tracing.dtrace.DTraceProviderFactory
  super_class: com.sun.tracing.ProviderFactory
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tracing.dtrace.DTraceProviderFactory this
         0: .line 59
            aload 0 /* this */
            invokespecial com.sun.tracing.ProviderFactory.<init>:()V
            return
        end local 0 // sun.tracing.dtrace.DTraceProviderFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tracing/dtrace/DTraceProviderFactory;

  public <T extends com.sun.tracing.Provider> T createProvider(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Lcom/sun/tracing/Provider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // sun.tracing.dtrace.DTraceProviderFactory this
        start local 1 // java.lang.Class cls
         0: .line 79
            new sun.tracing.dtrace.DTraceProvider
            dup
            aload 1 /* cls */
            invokespecial sun.tracing.dtrace.DTraceProvider.<init>:(Ljava/lang/Class;)V
            astore 2 /* jsdt */
        start local 2 // sun.tracing.dtrace.DTraceProvider jsdt
         1: .line 80
            aload 2 /* jsdt */
            invokevirtual sun.tracing.dtrace.DTraceProvider.newProxyInstance:()Lcom/sun/tracing/Provider;
            astore 3 /* proxy */
        start local 3 // com.sun.tracing.Provider proxy
         2: .line 81
            aload 2 /* jsdt */
            aload 3 /* proxy */
            invokevirtual sun.tracing.dtrace.DTraceProvider.setProxy:(Ljava/lang/Object;)V
         3: .line 82
            aload 2 /* jsdt */
            invokevirtual sun.tracing.dtrace.DTraceProvider.init:()V
         4: .line 83
            new sun.tracing.dtrace.Activation
            aload 2 /* jsdt */
            invokevirtual sun.tracing.dtrace.DTraceProvider.getModuleName:()Ljava/lang/String;
            iconst_1
            anewarray sun.tracing.dtrace.DTraceProvider
            dup
            iconst_0
            aload 2 /* jsdt */
            aastore
            invokespecial sun.tracing.dtrace.Activation.<init>:(Ljava/lang/String;[Lsun/tracing/dtrace/DTraceProvider;)V
         5: .line 84
            aload 3 /* proxy */
            areturn
        end local 3 // com.sun.tracing.Provider proxy
        end local 2 // sun.tracing.dtrace.DTraceProvider jsdt
        end local 1 // java.lang.Class cls
        end local 0 // sun.tracing.dtrace.DTraceProviderFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lsun/tracing/dtrace/DTraceProviderFactory;
            0    6     1    cls  Ljava/lang/Class<TT;>;
            1    6     2   jsdt  Lsun/tracing/dtrace/DTraceProvider;
            2    6     3  proxy  TT;
    Signature: <T::Lcom/sun/tracing/Provider;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
      Name  Flags
      cls   

  public java.util.Map<java.lang.Class<? extends com.sun.tracing.Provider>, com.sun.tracing.Provider> createProviders(java.util.Set<java.lang.Class<? extends com.sun.tracing.Provider>>, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // sun.tracing.dtrace.DTraceProviderFactory this
        start local 1 // java.util.Set providers
        start local 2 // java.lang.String moduleName
         0: .line 122
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
         1: .line 121
            astore 3 /* map */
        start local 3 // java.util.HashMap map
         2: .line 123
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* jsdts */
        start local 4 // java.util.HashSet jsdts
         3: .line 124
            aload 1 /* providers */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 8
      StackMap locals: sun.tracing.dtrace.DTraceProviderFactory java.util.Set java.lang.String java.util.HashMap java.util.HashSet top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 5 /* cls */
        start local 5 // java.lang.Class cls
         5: .line 125
            new sun.tracing.dtrace.DTraceProvider
            dup
            aload 5 /* cls */
            invokespecial sun.tracing.dtrace.DTraceProvider.<init>:(Ljava/lang/Class;)V
            astore 7 /* jsdt */
        start local 7 // sun.tracing.dtrace.DTraceProvider jsdt
         6: .line 126
            aload 4 /* jsdts */
            aload 7 /* jsdt */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         7: .line 127
            aload 3 /* map */
            aload 5 /* cls */
            aload 7 /* jsdt */
            invokevirtual sun.tracing.dtrace.DTraceProvider.newProxyInstance:()Lcom/sun/tracing/Provider;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // sun.tracing.dtrace.DTraceProvider jsdt
        end local 5 // java.lang.Class cls
         8: .line 124
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 129
            new sun.tracing.dtrace.Activation
            aload 2 /* moduleName */
            aload 4 /* jsdts */
            iconst_0
            anewarray sun.tracing.dtrace.DTraceProvider
            invokevirtual java.util.HashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast sun.tracing.dtrace.DTraceProvider[]
            invokespecial sun.tracing.dtrace.Activation.<init>:(Ljava/lang/String;[Lsun/tracing/dtrace/DTraceProvider;)V
        10: .line 130
            aload 3 /* map */
            areturn
        end local 4 // java.util.HashSet jsdts
        end local 3 // java.util.HashMap map
        end local 2 // java.lang.String moduleName
        end local 1 // java.util.Set providers
        end local 0 // sun.tracing.dtrace.DTraceProviderFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lsun/tracing/dtrace/DTraceProviderFactory;
            0   11     1   providers  Ljava/util/Set<Ljava/lang/Class<+Lcom/sun/tracing/Provider;>;>;
            0   11     2  moduleName  Ljava/lang/String;
            2   11     3         map  Ljava/util/HashMap<Ljava/lang/Class<+Lcom/sun/tracing/Provider;>;Lcom/sun/tracing/Provider;>;
            3   11     4       jsdts  Ljava/util/HashSet<Lsun/tracing/dtrace/DTraceProvider;>;
            5    8     5         cls  Ljava/lang/Class<+Lcom/sun/tracing/Provider;>;
            6    8     7        jsdt  Lsun/tracing/dtrace/DTraceProvider;
    Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/sun/tracing/Provider;>;>;Ljava/lang/String;)Ljava/util/Map<Ljava/lang/Class<+Lcom/sun/tracing/Provider;>;Lcom/sun/tracing/Provider;>;
    MethodParameters:
            Name  Flags
      providers   
      moduleName  

  public static boolean isSupported();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 145
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* security */
        start local 0 // java.lang.SecurityManager security
         1: .line 146
            aload 0 /* security */
            ifnull 6
         2: .line 147
            new java.lang.RuntimePermission
            dup
         3: .line 148
            ldc "com.sun.tracing.dtrace.createProvider"
         4: .line 147
            invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;)V
            astore 1 /* perm */
        start local 1 // java.security.Permission perm
         5: .line 149
            aload 0 /* security */
            aload 1 /* perm */
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 1 // java.security.Permission perm
         6: .line 151
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            invokestatic sun.tracing.dtrace.JVM.isSupported:()Z
         7: ireturn
        end local 0 // java.lang.SecurityManager security
         8: .line 152
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            pop
         9: .line 153
            iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1    8     0  security  Ljava/lang/SecurityManager;
            5    6     1      perm  Ljava/security/Permission;
      Exception table:
        from    to  target  type
           0     7       8  Class java.lang.SecurityException
}
SourceFile: "DTraceProviderFactory.java"