final class com.codahale.metrics.jdbi.strategies.NameStrategies$ContextClassStrategy implements com.codahale.metrics.jdbi.strategies.StatementNameStrategy
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.codahale.metrics.jdbi.strategies.NameStrategies$ContextClassStrategy
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.codahale.metrics.jdbi.strategies.NameStrategies$ContextClassStrategy this
         0: .line 127
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 128
            return
        end local 0 // com.codahale.metrics.jdbi.strategies.NameStrategies$ContextClassStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/codahale/metrics/jdbi/strategies/NameStrategies$ContextClassStrategy;

  public java.lang.String getStatementName(org.skife.jdbi.v2.StatementContext);
    descriptor: (Lorg/skife/jdbi/v2/StatementContext;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // com.codahale.metrics.jdbi.strategies.NameStrategies$ContextClassStrategy this
        start local 1 // org.skife.jdbi.v2.StatementContext statementContext
         0: .line 132
            aload 1 /* statementContext */
            ldc "_metric_class"
            invokeinterface org.skife.jdbi.v2.StatementContext.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            astore 2 /* classObj */
        start local 2 // java.lang.Object classObj
         1: .line 133
            aload 1 /* statementContext */
            ldc "_metric_name"
            invokeinterface org.skife.jdbi.v2.StatementContext.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            astore 3 /* nameObj */
        start local 3 // java.lang.Object nameObj
         2: .line 135
            aload 2 /* classObj */
            ifnull 3
            aload 3 /* nameObj */
            ifnonnull 4
         3: .line 136
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aconst_null
            areturn
         4: .line 139
      StackMap locals:
      StackMap stack:
            aload 2 /* classObj */
            checkcast java.lang.String
            astore 4 /* className */
        start local 4 // java.lang.String className
         5: .line 140
            aload 3 /* nameObj */
            checkcast java.lang.String
            astore 5 /* statementName */
        start local 5 // java.lang.String statementName
         6: .line 142
            aload 4 /* className */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 6 /* dotPos */
        start local 6 // int dotPos
         7: .line 143
            iload 6 /* dotPos */
            iconst_m1
            if_icmpne 9
         8: .line 144
            aconst_null
            areturn
         9: .line 147
      StackMap locals: java.lang.String java.lang.String int
      StackMap stack:
            aload 4 /* className */
            iconst_0
            iload 6 /* dotPos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        10: .line 148
            aload 4 /* className */
            iload 6 /* dotPos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            aastore
            dup
            iconst_1
        11: .line 149
            aload 5 /* statementName */
            aastore
        12: .line 147
            invokestatic com.codahale.metrics.MetricRegistry.name:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 6 // int dotPos
        end local 5 // java.lang.String statementName
        end local 4 // java.lang.String className
        end local 3 // java.lang.Object nameObj
        end local 2 // java.lang.Object classObj
        end local 1 // org.skife.jdbi.v2.StatementContext statementContext
        end local 0 // com.codahale.metrics.jdbi.strategies.NameStrategies$ContextClassStrategy this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Lcom/codahale/metrics/jdbi/strategies/NameStrategies$ContextClassStrategy;
            0   13     1  statementContext  Lorg/skife/jdbi/v2/StatementContext;
            1   13     2          classObj  Ljava/lang/Object;
            2   13     3           nameObj  Ljava/lang/Object;
            5   13     4         className  Ljava/lang/String;
            6   13     5     statementName  Ljava/lang/String;
            7   13     6            dotPos  I
    MethodParameters:
                  Name  Flags
      statementContext  
}
SourceFile: "NameStrategies.java"
NestHost: com.codahale.metrics.jdbi.strategies.NameStrategies
InnerClasses:
  final ContextClassStrategy = com.codahale.metrics.jdbi.strategies.NameStrategies$ContextClassStrategy of com.codahale.metrics.jdbi.strategies.NameStrategies