public class io.micronaut.http.uri.UriTypeMatchTemplate extends io.micronaut.http.uri.UriMatchTemplate
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.micronaut.http.uri.UriTypeMatchTemplate
  super_class: io.micronaut.http.uri.UriMatchTemplate
{
  private java.lang.Class[] variableTypes;
    descriptor: [Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.lang.CharSequence, java.lang.Class[]);
    descriptor: (Ljava/lang/CharSequence;[Ljava/lang/Class;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
        start local 1 // java.lang.CharSequence templateString
        start local 2 // java.lang.Class[] variableTypes
         0: .line 41
            aload 0 /* this */
            aload 1 /* templateString */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* variableTypes */
            aastore
            invokespecial io.micronaut.http.uri.UriMatchTemplate.<init>:(Ljava/lang/CharSequence;[Ljava/lang/Object;)V
         1: .line 42
            aload 0 /* this */
            aload 2 /* variableTypes */
            ifnonnull 2
            iconst_0
            anewarray java.lang.Class
            goto 3
      StackMap locals: io.micronaut.http.uri.UriTypeMatchTemplate java.lang.CharSequence java.lang.Class[]
      StackMap stack: io.micronaut.http.uri.UriTypeMatchTemplate
         2: aload 2 /* variableTypes */
      StackMap locals: io.micronaut.http.uri.UriTypeMatchTemplate java.lang.CharSequence java.lang.Class[]
      StackMap stack: io.micronaut.http.uri.UriTypeMatchTemplate java.lang.Class[]
         3: putfield io.micronaut.http.uri.UriTypeMatchTemplate.variableTypes:[Ljava/lang/Class;
         4: .line 43
            return
        end local 2 // java.lang.Class[] variableTypes
        end local 1 // java.lang.CharSequence templateString
        end local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lio/micronaut/http/uri/UriTypeMatchTemplate;
            0    5     1  templateString  Ljava/lang/CharSequence;
            0    5     2   variableTypes  [Ljava/lang/Class;
    MethodParameters:
                Name  Flags
      templateString  
      variableTypes   

  protected void <init>(java.lang.CharSequence, java.util.List<io.micronaut.http.uri.UriTemplate$PathSegment>, java.util.regex.Pattern, java.lang.Class[], java.util.List<io.micronaut.http.uri.UriMatchVariable>);
    descriptor: (Ljava/lang/CharSequence;Ljava/util/List;Ljava/util/regex/Pattern;[Ljava/lang/Class;Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
        start local 1 // java.lang.CharSequence templateString
        start local 2 // java.util.List segments
        start local 3 // java.util.regex.Pattern matchPattern
        start local 4 // java.lang.Class[] variableTypes
        start local 5 // java.util.List variables
         0: .line 53
            aload 0 /* this */
            aload 1 /* templateString */
            aload 2 /* segments */
            aload 3 /* matchPattern */
            aload 5 /* variables */
            invokespecial io.micronaut.http.uri.UriMatchTemplate.<init>:(Ljava/lang/CharSequence;Ljava/util/List;Ljava/util/regex/Pattern;Ljava/util/List;)V
         1: .line 54
            aload 0 /* this */
            aload 4 /* variableTypes */
            putfield io.micronaut.http.uri.UriTypeMatchTemplate.variableTypes:[Ljava/lang/Class;
         2: .line 55
            return
        end local 5 // java.util.List variables
        end local 4 // java.lang.Class[] variableTypes
        end local 3 // java.util.regex.Pattern matchPattern
        end local 2 // java.util.List segments
        end local 1 // java.lang.CharSequence templateString
        end local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lio/micronaut/http/uri/UriTypeMatchTemplate;
            0    3     1  templateString  Ljava/lang/CharSequence;
            0    3     2        segments  Ljava/util/List<Lio/micronaut/http/uri/UriTemplate$PathSegment;>;
            0    3     3    matchPattern  Ljava/util/regex/Pattern;
            0    3     4   variableTypes  [Ljava/lang/Class;
            0    3     5       variables  Ljava/util/List<Lio/micronaut/http/uri/UriMatchVariable;>;
    Signature: (Ljava/lang/CharSequence;Ljava/util/List<Lio/micronaut/http/uri/UriTemplate$PathSegment;>;Ljava/util/regex/Pattern;[Ljava/lang/Class;Ljava/util/List<Lio/micronaut/http/uri/UriMatchVariable;>;)V
    MethodParameters:
                Name  Flags
      templateString  
      segments        
      matchPattern    
      variableTypes   
      variables       

  public io.micronaut.http.uri.UriTypeMatchTemplate nest(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Lio/micronaut/http/uri/UriTypeMatchTemplate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
        start local 1 // java.lang.CharSequence uriTemplate
         0: .line 59
            aload 0 /* this */
            aload 1 /* uriTemplate */
            invokespecial io.micronaut.http.uri.UriMatchTemplate.nest:(Ljava/lang/CharSequence;)Lio/micronaut/http/uri/UriMatchTemplate;
            checkcast io.micronaut.http.uri.UriTypeMatchTemplate
            areturn
        end local 1 // java.lang.CharSequence uriTemplate
        end local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lio/micronaut/http/uri/UriTypeMatchTemplate;
            0    1     1  uriTemplate  Ljava/lang/CharSequence;
    MethodParameters:
             Name  Flags
      uriTemplate  

  public io.micronaut.http.uri.UriTypeMatchTemplate nest(java.lang.CharSequence, java.lang.Class[]);
    descriptor: (Ljava/lang/CharSequence;[Ljava/lang/Class;)Lio/micronaut/http/uri/UriTypeMatchTemplate;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
        start local 1 // java.lang.CharSequence uriTemplate
        start local 2 // java.lang.Class[] variableTypes
         0: .line 68
            aload 0 /* this */
            aload 1 /* uriTemplate */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* variableTypes */
            aastore
            invokespecial io.micronaut.http.uri.UriMatchTemplate.nest:(Ljava/lang/CharSequence;[Ljava/lang/Object;)Lio/micronaut/http/uri/UriTemplate;
            checkcast io.micronaut.http.uri.UriTypeMatchTemplate
            areturn
        end local 2 // java.lang.Class[] variableTypes
        end local 1 // java.lang.CharSequence uriTemplate
        end local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lio/micronaut/http/uri/UriTypeMatchTemplate;
            0    1     1    uriTemplate  Ljava/lang/CharSequence;
            0    1     2  variableTypes  [Ljava/lang/Class;
    MethodParameters:
               Name  Flags
      uriTemplate    
      variableTypes  

  public java.lang.String expand(java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/util/Map;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
        start local 1 // java.util.Map parameters
         0: .line 73
            aload 0 /* this */
            aload 1 /* parameters */
            invokespecial io.micronaut.http.uri.UriMatchTemplate.expand:(Ljava/util/Map;)Ljava/lang/String;
            areturn
        end local 1 // java.util.Map parameters
        end local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lio/micronaut/http/uri/UriTypeMatchTemplate;
            0    1     1  parameters  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Ljava/lang/String;
    MethodParameters:
            Name  Flags
      parameters  

  protected io.micronaut.http.uri.UriTemplate$UriTemplateParser createParser(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Lio/micronaut/http/uri/UriTemplate$UriTemplateParser;
    flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
        start local 1 // java.lang.String templateString
        start local 2 // java.lang.Object[] parserArguments
         0: .line 78
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            putfield io.micronaut.http.uri.UriTypeMatchTemplate.pattern:Ljava/lang/StringBuilder;
         1: .line 79
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTypeMatchTemplate.variables:Ljava/util/List;
            ifnonnull 3
         2: .line 80
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.micronaut.http.uri.UriTypeMatchTemplate.variables:Ljava/util/List;
         3: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* parserArguments */
            ifnull 4
            aload 2 /* parserArguments */
            arraylength
            ifle 4
            aload 2 /* parserArguments */
            iconst_0
            aaload
            checkcast java.lang.Class[]
            goto 5
      StackMap locals:
      StackMap stack: io.micronaut.http.uri.UriTypeMatchTemplate
         4: iconst_0
            anewarray java.lang.Class
      StackMap locals: io.micronaut.http.uri.UriTypeMatchTemplate java.lang.String java.lang.Object[]
      StackMap stack: io.micronaut.http.uri.UriTypeMatchTemplate java.lang.Class[]
         5: putfield io.micronaut.http.uri.UriTypeMatchTemplate.variableTypes:[Ljava/lang/Class;
         6: .line 83
            new io.micronaut.http.uri.UriTypeMatchTemplate$TypedUriMatchTemplateParser
            dup
            aload 1 /* templateString */
            aload 0 /* this */
            invokespecial io.micronaut.http.uri.UriTypeMatchTemplate$TypedUriMatchTemplateParser.<init>:(Ljava/lang/String;Lio/micronaut/http/uri/UriTypeMatchTemplate;)V
            areturn
        end local 2 // java.lang.Object[] parserArguments
        end local 1 // java.lang.String templateString
        end local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lio/micronaut/http/uri/UriTypeMatchTemplate;
            0    7     1   templateString  Ljava/lang/String;
            0    7     2  parserArguments  [Ljava/lang/Object;
    MethodParameters:
                 Name  Flags
      templateString   
      parserArguments  

  protected io.micronaut.http.uri.UriMatchTemplate newUriMatchTemplate(java.lang.CharSequence, java.util.List<io.micronaut.http.uri.UriTemplate$PathSegment>, java.util.regex.Pattern, java.util.List<io.micronaut.http.uri.UriMatchVariable>);
    descriptor: (Ljava/lang/CharSequence;Ljava/util/List;Ljava/util/regex/Pattern;Ljava/util/List;)Lio/micronaut/http/uri/UriMatchTemplate;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
        start local 1 // java.lang.CharSequence uriTemplate
        start local 2 // java.util.List newSegments
        start local 3 // java.util.regex.Pattern newPattern
        start local 4 // java.util.List variables
         0: .line 88
            new io.micronaut.http.uri.UriTypeMatchTemplate
            dup
            aload 1 /* uriTemplate */
            aload 2 /* newSegments */
            aload 3 /* newPattern */
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTypeMatchTemplate.variableTypes:[Ljava/lang/Class;
            aload 4 /* variables */
            invokespecial io.micronaut.http.uri.UriTypeMatchTemplate.<init>:(Ljava/lang/CharSequence;Ljava/util/List;Ljava/util/regex/Pattern;[Ljava/lang/Class;Ljava/util/List;)V
            areturn
        end local 4 // java.util.List variables
        end local 3 // java.util.regex.Pattern newPattern
        end local 2 // java.util.List newSegments
        end local 1 // java.lang.CharSequence uriTemplate
        end local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lio/micronaut/http/uri/UriTypeMatchTemplate;
            0    1     1  uriTemplate  Ljava/lang/CharSequence;
            0    1     2  newSegments  Ljava/util/List<Lio/micronaut/http/uri/UriTemplate$PathSegment;>;
            0    1     3   newPattern  Ljava/util/regex/Pattern;
            0    1     4    variables  Ljava/util/List<Lio/micronaut/http/uri/UriMatchVariable;>;
    Signature: (Ljava/lang/CharSequence;Ljava/util/List<Lio/micronaut/http/uri/UriTemplate$PathSegment;>;Ljava/util/regex/Pattern;Ljava/util/List<Lio/micronaut/http/uri/UriMatchVariable;>;)Lio/micronaut/http/uri/UriMatchTemplate;
    MethodParameters:
             Name  Flags
      uriTemplate  
      newSegments  
      newPattern   
      variables    

  protected java.lang.String resolveTypePattern(java.lang.Class, java.lang.String, char);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;C)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
        start local 1 // java.lang.Class variableType
        start local 2 // java.lang.String variable
        start local 3 // char operator
         0: .line 98
            ldc Ljava/lang/Number;
            aload 1 /* variableType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 4
         1: .line 99
            ldc Ljava/lang/Double;
            aload 1 /* variableType */
            if_acmpeq 2
            ldc Ljava/lang/Float;
            aload 1 /* variableType */
            if_acmpeq 2
            ldc Ljava/math/BigDecimal;
            aload 1 /* variableType */
            if_acmpne 3
         2: .line 100
      StackMap locals:
      StackMap stack:
            ldc "([\\d\\.+]"
            areturn
         3: .line 102
      StackMap locals:
      StackMap stack:
            ldc "([\\d+]"
            areturn
         4: .line 105
      StackMap locals:
      StackMap stack:
            ldc "([^\\/\\?#&;\\+]"
            areturn
        end local 3 // char operator
        end local 2 // java.lang.String variable
        end local 1 // java.lang.Class variableType
        end local 0 // io.micronaut.http.uri.UriTypeMatchTemplate this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lio/micronaut/http/uri/UriTypeMatchTemplate;
            0    5     1  variableType  Ljava/lang/Class;
            0    5     2      variable  Ljava/lang/String;
            0    5     3      operator  C
    MethodParameters:
              Name  Flags
      variableType  
      variable      
      operator      

  public io.micronaut.http.uri.UriMatchTemplate nest(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Lio/micronaut/http/uri/UriMatchTemplate;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.micronaut.http.uri.UriTypeMatchTemplate.nest:(Ljava/lang/CharSequence;)Lio/micronaut/http/uri/UriTypeMatchTemplate;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.micronaut.http.uri.UriTemplate nest(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Lio/micronaut/http/uri/UriTemplate;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.micronaut.http.uri.UriTypeMatchTemplate.nest:(Ljava/lang/CharSequence;)Lio/micronaut/http/uri/UriTypeMatchTemplate;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "UriTypeMatchTemplate.java"
NestMembers:
  io.micronaut.http.uri.UriTypeMatchTemplate$TypedUriMatchTemplateParser
InnerClasses:
  protected abstract PathSegment = io.micronaut.http.uri.UriTemplate$PathSegment of io.micronaut.http.uri.UriTemplate
  protected UriTemplateParser = io.micronaut.http.uri.UriTemplate$UriTemplateParser of io.micronaut.http.uri.UriTemplate
  protected TypedUriMatchTemplateParser = io.micronaut.http.uri.UriTypeMatchTemplate$TypedUriMatchTemplateParser of io.micronaut.http.uri.UriTypeMatchTemplate