final class com.codahale.metrics.jdbi.strategies.NameStrategies$ContextNameStrategy 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$ContextNameStrategy
  super_class: java.lang.Object
{
  private static final java.util.regex.Pattern SHORT_PATTERN;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 157
            ldc "^(.*?)/(.*?)(-sql)?\\.st(g)?$"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic com.codahale.metrics.jdbi.strategies.NameStrategies$ContextNameStrategy.SHORT_PATTERN:Ljava/util/regex/Pattern;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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$ContextNameStrategy this
         0: .line 159
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 160
            return
        end local 0 // com.codahale.metrics.jdbi.strategies.NameStrategies$ContextNameStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/codahale/metrics/jdbi/strategies/NameStrategies$ContextNameStrategy;

  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=10, args_size=2
        start local 0 // com.codahale.metrics.jdbi.strategies.NameStrategies$ContextNameStrategy this
        start local 1 // org.skife.jdbi.v2.StatementContext statementContext
         0: .line 164
            aload 1 /* statementContext */
            ldc "_metric_group"
            invokeinterface org.skife.jdbi.v2.StatementContext.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            astore 2 /* groupObj */
        start local 2 // java.lang.Object groupObj
         1: .line 165
            aload 1 /* statementContext */
            ldc "_metric_type"
            invokeinterface org.skife.jdbi.v2.StatementContext.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            astore 3 /* typeObj */
        start local 3 // java.lang.Object typeObj
         2: .line 166
            aload 1 /* statementContext */
            ldc "_metric_name"
            invokeinterface org.skife.jdbi.v2.StatementContext.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            astore 4 /* nameObj */
        start local 4 // java.lang.Object nameObj
         3: .line 168
            aload 2 /* groupObj */
            ifnull 4
            aload 4 /* nameObj */
            ifnonnull 5
         4: .line 169
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object
      StackMap stack:
            aconst_null
            areturn
         5: .line 172
      StackMap locals:
      StackMap stack:
            aload 2 /* groupObj */
            checkcast java.lang.String
            astore 5 /* group */
        start local 5 // java.lang.String group
         6: .line 173
            aload 4 /* nameObj */
            checkcast java.lang.String
            astore 6 /* statementName */
        start local 6 // java.lang.String statementName
         7: .line 175
            aload 3 /* typeObj */
            ifnonnull 14
         8: .line 176
            getstatic com.codahale.metrics.jdbi.strategies.NameStrategies$ContextNameStrategy.SHORT_PATTERN:Ljava/util/regex/Pattern;
            aload 5 /* group */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 7 /* matcher */
        start local 7 // java.util.regex.Matcher matcher
         9: .line 177
            aload 7 /* matcher */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 13
        10: .line 178
            aload 7 /* matcher */
            iconst_1
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 8 /* groupName */
        start local 8 // java.lang.String groupName
        11: .line 179
            aload 7 /* matcher */
            iconst_2
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 9 /* typeName */
        start local 9 // java.lang.String typeName
        12: .line 180
            aload 8 /* groupName */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 9 /* typeName */
            aastore
            dup
            iconst_1
            aload 6 /* statementName */
            aastore
            invokestatic com.codahale.metrics.MetricRegistry.name:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 9 // java.lang.String typeName
        end local 8 // java.lang.String groupName
        13: .line 183
      StackMap locals: java.lang.String java.lang.String java.util.regex.Matcher
      StackMap stack:
            aload 5 /* group */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 6 /* statementName */
            aastore
            dup
            iconst_1
            ldc ""
            aastore
            invokestatic com.codahale.metrics.MetricRegistry.name:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 7 // java.util.regex.Matcher matcher
        14: .line 185
      StackMap locals:
      StackMap stack:
            aload 3 /* typeObj */
            checkcast java.lang.String
            astore 7 /* type */
        start local 7 // java.lang.String type
        15: .line 187
            aload 5 /* group */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 7 /* type */
            aastore
            dup
            iconst_1
            aload 6 /* statementName */
            aastore
            invokestatic com.codahale.metrics.MetricRegistry.name:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 7 // java.lang.String type
        end local 6 // java.lang.String statementName
        end local 5 // java.lang.String group
        end local 4 // java.lang.Object nameObj
        end local 3 // java.lang.Object typeObj
        end local 2 // java.lang.Object groupObj
        end local 1 // org.skife.jdbi.v2.StatementContext statementContext
        end local 0 // com.codahale.metrics.jdbi.strategies.NameStrategies$ContextNameStrategy this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0              this  Lcom/codahale/metrics/jdbi/strategies/NameStrategies$ContextNameStrategy;
            0   16     1  statementContext  Lorg/skife/jdbi/v2/StatementContext;
            1   16     2          groupObj  Ljava/lang/Object;
            2   16     3           typeObj  Ljava/lang/Object;
            3   16     4           nameObj  Ljava/lang/Object;
            6   16     5             group  Ljava/lang/String;
            7   16     6     statementName  Ljava/lang/String;
            9   14     7           matcher  Ljava/util/regex/Matcher;
           11   13     8         groupName  Ljava/lang/String;
           12   13     9          typeName  Ljava/lang/String;
           15   16     7              type  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      statementContext  
}
SourceFile: "NameStrategies.java"
NestHost: com.codahale.metrics.jdbi.strategies.NameStrategies
InnerClasses:
  final ContextNameStrategy = com.codahale.metrics.jdbi.strategies.NameStrategies$ContextNameStrategy of com.codahale.metrics.jdbi.strategies.NameStrategies