final class com.codahale.metrics.jdbi.strategies.ShortNameStrategy$ShortContextClassStrategy 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.ShortNameStrategy$ShortContextClassStrategy
  super_class: java.lang.Object
{
  final com.codahale.metrics.jdbi.strategies.ShortNameStrategy this$0;
    descriptor: Lcom/codahale/metrics/jdbi/strategies/ShortNameStrategy;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(com.codahale.metrics.jdbi.strategies.ShortNameStrategy);
    descriptor: (Lcom/codahale/metrics/jdbi/strategies/ShortNameStrategy;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.codahale.metrics.jdbi.strategies.ShortNameStrategy$ShortContextClassStrategy this
         0: .line 32
            aload 0 /* this */
            aload 1
            putfield com.codahale.metrics.jdbi.strategies.ShortNameStrategy$ShortContextClassStrategy.this$0:Lcom/codahale/metrics/jdbi/strategies/ShortNameStrategy;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.codahale.metrics.jdbi.strategies.ShortNameStrategy$ShortContextClassStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/codahale/metrics/jdbi/strategies/ShortNameStrategy$ShortContextClassStrategy;
    MethodParameters:
        Name  Flags
      this$0  final

  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=5, locals=9, args_size=2
        start local 0 // com.codahale.metrics.jdbi.strategies.ShortNameStrategy$ShortContextClassStrategy this
        start local 1 // org.skife.jdbi.v2.StatementContext statementContext
         0: .line 35
            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 36
            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 38
            aload 2 /* classObj */
            ifnull 3
            aload 3 /* nameObj */
            ifnonnull 4
         3: .line 39
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aconst_null
            areturn
         4: .line 42
      StackMap locals:
      StackMap stack:
            aload 2 /* classObj */
            checkcast java.lang.String
            astore 4 /* className */
        start local 4 // java.lang.String className
         5: .line 43
            aload 3 /* nameObj */
            checkcast java.lang.String
            astore 5 /* statementName */
        start local 5 // java.lang.String statementName
         6: .line 45
            aload 4 /* className */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 6 /* dotPos */
        start local 6 // int dotPos
         7: .line 46
            iload 6 /* dotPos */
            iconst_m1
            if_icmpne 9
         8: .line 47
            aconst_null
            areturn
         9: .line 50
      StackMap locals: java.lang.String java.lang.String int
      StackMap stack:
            aload 4 /* className */
            iload 6 /* dotPos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 7 /* shortName */
        start local 7 // java.lang.String shortName
        10: .line 52
            aload 0 /* this */
            getfield com.codahale.metrics.jdbi.strategies.ShortNameStrategy$ShortContextClassStrategy.this$0:Lcom/codahale/metrics/jdbi/strategies/ShortNameStrategy;
            getfield com.codahale.metrics.jdbi.strategies.ShortNameStrategy.shortClassNames:Ljava/util/concurrent/ConcurrentMap;
            aload 7 /* shortName */
            aload 4 /* className */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* oldClassName */
        start local 8 // java.lang.String oldClassName
        11: .line 53
            aload 8 /* oldClassName */
            ifnull 12
            aload 8 /* oldClassName */
            aload 4 /* className */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 54
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.codahale.metrics.jdbi.strategies.ShortNameStrategy$ShortContextClassStrategy.this$0:Lcom/codahale/metrics/jdbi/strategies/ShortNameStrategy;
            getfield com.codahale.metrics.jdbi.strategies.ShortNameStrategy.baseJmxName:Ljava/lang/String;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 7 /* shortName */
            aastore
            dup
            iconst_1
            aload 5 /* statementName */
            aastore
            invokestatic com.codahale.metrics.MetricRegistry.name:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            areturn
        13: .line 56
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.codahale.metrics.jdbi.strategies.ShortNameStrategy$ShortContextClassStrategy.this$0:Lcom/codahale/metrics/jdbi/strategies/ShortNameStrategy;
            getfield com.codahale.metrics.jdbi.strategies.ShortNameStrategy.baseJmxName:Ljava/lang/String;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 4 /* className */
            aastore
            dup
            iconst_1
            aload 5 /* statementName */
            aastore
            invokestatic com.codahale.metrics.MetricRegistry.name:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 8 // java.lang.String oldClassName
        end local 7 // java.lang.String shortName
        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.ShortNameStrategy$ShortContextClassStrategy this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0              this  Lcom/codahale/metrics/jdbi/strategies/ShortNameStrategy$ShortContextClassStrategy;
            0   14     1  statementContext  Lorg/skife/jdbi/v2/StatementContext;
            1   14     2          classObj  Ljava/lang/Object;
            2   14     3           nameObj  Ljava/lang/Object;
            5   14     4         className  Ljava/lang/String;
            6   14     5     statementName  Ljava/lang/String;
            7   14     6            dotPos  I
           10   14     7         shortName  Ljava/lang/String;
           11   14     8      oldClassName  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      statementContext  
}
SourceFile: "ShortNameStrategy.java"
NestHost: com.codahale.metrics.jdbi.strategies.ShortNameStrategy
InnerClasses:
  private final ShortContextClassStrategy = com.codahale.metrics.jdbi.strategies.ShortNameStrategy$ShortContextClassStrategy of com.codahale.metrics.jdbi.strategies.ShortNameStrategy