public class io.micronaut.http.uri.UriMatchTemplate$UriMatchTemplateParser extends io.micronaut.http.uri.UriTemplate$UriTemplateParser
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.micronaut.http.uri.UriMatchTemplate$UriMatchTemplateParser
super_class: io.micronaut.http.uri.UriTemplate$UriTemplateParser
{
final io.micronaut.http.uri.UriMatchTemplate matchTemplate;
descriptor: Lio/micronaut/http/uri/UriMatchTemplate;
flags: (0x0010) ACC_FINAL
protected void <init>(java.lang.String, io.micronaut.http.uri.UriMatchTemplate);
descriptor: (Ljava/lang/String;Lio/micronaut/http/uri/UriMatchTemplate;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial io.micronaut.http.uri.UriTemplate$UriTemplateParser.<init>:(Ljava/lang/String;)V
1: aload 0
aload 2
putfield io.micronaut.http.uri.UriMatchTemplate$UriMatchTemplateParser.matchTemplate:Lio/micronaut/http/uri/UriMatchTemplate;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/http/uri/UriMatchTemplate$UriMatchTemplateParser;
0 3 1 templateText Ljava/lang/String;
0 3 2 matchTemplate Lio/micronaut/http/uri/UriMatchTemplate;
MethodParameters:
Name Flags
templateText
matchTemplate
public io.micronaut.http.uri.UriMatchTemplate getMatchTemplate();
descriptor: ()Lio/micronaut/http/uri/UriMatchTemplate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.uri.UriMatchTemplate$UriMatchTemplateParser.matchTemplate:Lio/micronaut/http/uri/UriMatchTemplate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/uri/UriMatchTemplate$UriMatchTemplateParser;
protected void addRawContentSegment(java.util.List<io.micronaut.http.uri.UriTemplate$PathSegment>, java.lang.String, );
descriptor: (Ljava/util/List;Ljava/lang/String;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.micronaut.http.uri.UriMatchTemplate$UriMatchTemplateParser.matchTemplate:Lio/micronaut/http/uri/UriMatchTemplate;
getfield io.micronaut.http.uri.UriMatchTemplate.pattern:Ljava/lang/StringBuilder;
aload 2
invokestatic java.util.regex.Pattern.quote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
1: aload 0
aload 1
aload 2
iload 3
invokespecial io.micronaut.http.uri.UriTemplate$UriTemplateParser.addRawContentSegment:(Ljava/util/List;Ljava/lang/String;Z)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/http/uri/UriMatchTemplate$UriMatchTemplateParser;
0 3 1 segments Ljava/util/List<Lio/micronaut/http/uri/UriTemplate$PathSegment;>;
0 3 2 value Ljava/lang/String;
0 3 3 isQuerySegment Z
Signature: (Ljava/util/List<Lio/micronaut/http/uri/UriTemplate$PathSegment;>;Ljava/lang/String;Z)V
MethodParameters:
Name Flags
segments
value
isQuerySegment
protected void addVariableSegment(java.util.List<io.micronaut.http.uri.UriTemplate$PathSegment>, java.lang.String, java.lang.String, java.lang.String, boolean, boolean, java.lang.String, char, char, java.lang.String, );
descriptor: (Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLjava/lang/String;CCLjava/lang/String;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=12, locals=21, args_size=12
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 0: aload 0
getfield io.micronaut.http.uri.UriMatchTemplate$UriMatchTemplateParser.matchTemplate:Lio/micronaut/http/uri/UriMatchTemplate;
getfield io.micronaut.http.uri.UriMatchTemplate.variables:Ljava/util/List;
new io.micronaut.http.uri.UriMatchVariable
dup
aload 2
iload 8
iload 9
invokespecial io.micronaut.http.uri.UriMatchVariable.<init>:(Ljava/lang/String;CC)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: aload 0
getfield io.micronaut.http.uri.UriMatchTemplate$UriMatchTemplateParser.matchTemplate:Lio/micronaut/http/uri/UriMatchTemplate;
getfield io.micronaut.http.uri.UriMatchTemplate.pattern:Ljava/lang/StringBuilder;
astore 12
start local 12 2: aload 7
invokevirtual java.lang.String.length:()I
istore 13
start local 13 3: iload 8
bipush 58
if_icmpne 4
iload 13
ifle 4
iconst_1
goto 5
StackMap locals: java.lang.StringBuilder int
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 14
start local 14 6: ldc ""
astore 15
start local 15 7: ldc ""
astore 16
start local 16 8: ldc "+?)"
astore 17
start local 17 9: aload 0
aload 2
iload 9
invokevirtual io.micronaut.http.uri.UriMatchTemplate$UriMatchTemplateParser.getVariablePattern:(Ljava/lang/String;C)Ljava/lang/String;
astore 18
start local 18 10: iload 14
ifeq 32
11: aload 7
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 19
start local 19 12: iload 19
bipush 63
if_icmpne 15
13: ldc ""
astore 16
14: goto 32
StackMap locals: io.micronaut.http.uri.UriMatchTemplate$UriMatchTemplateParser java.util.List java.lang.String java.lang.String java.lang.String int int java.lang.String int int java.lang.String int java.lang.StringBuilder int int java.lang.String java.lang.String java.lang.String java.lang.String int
StackMap stack:
15: aload 7
invokevirtual java.lang.String.chars:()Ljava/util/stream/IntStream;
invokedynamic test()Ljava/util/function/IntPredicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)Z
java/lang/Character.isDigit(I)Z (6)
(I)Z
invokeinterface java.util.stream.IntStream.allMatch:(Ljava/util/function/IntPredicate;)Z
ifeq 18
16: new java.lang.StringBuilder
dup
ldc "{1,"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "})"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 17
17: goto 32
18: StackMap locals:
StackMap stack:
aload 7
iload 13
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
istore 20
start local 20 19: iload 20
bipush 42
if_icmpeq 21
20: iload 13
iconst_1
if_icmple 22
iload 20
bipush 63
if_icmpne 22
aload 7
iload 13
iconst_2
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 42
if_icmpeq 21
aload 7
iload 13
iconst_2
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 43
if_icmpne 22
21: StackMap locals: int
StackMap stack:
ldc "?"
astore 16
22: StackMap locals:
StackMap stack:
iload 9
bipush 47
if_icmpeq 23
iload 9
bipush 46
if_icmpne 27
23: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 19
bipush 94
if_icmpne 24
aload 7
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
goto 25
StackMap locals:
StackMap stack: java.lang.StringBuilder
24: aload 7
StackMap locals: io.micronaut.http.uri.UriMatchTemplate$UriMatchTemplateParser java.util.List java.lang.String java.lang.String java.lang.String int int java.lang.String int int java.lang.String int java.lang.StringBuilder int int java.lang.String java.lang.String java.lang.String java.lang.String int int
StackMap stack: java.lang.StringBuilder java.lang.String
25: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 18
26: goto 31
27: StackMap locals:
StackMap stack:
ldc "("
astore 15
28: new java.lang.StringBuilder
dup
iload 19
bipush 94
if_icmpne 29
aload 7
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
goto 30
StackMap locals: io.micronaut.http.uri.UriMatchTemplate$UriMatchTemplateParser java.util.List java.lang.String java.lang.String java.lang.String int int java.lang.String int int java.lang.String int java.lang.StringBuilder int int java.lang.String java.lang.String java.lang.String java.lang.String int int
StackMap stack: new 28 new 28
29: aload 7
StackMap locals: io.micronaut.http.uri.UriMatchTemplate$UriMatchTemplateParser java.util.List java.lang.String java.lang.String java.lang.String int int java.lang.String int int java.lang.String int java.lang.StringBuilder int int java.lang.String java.lang.String java.lang.String java.lang.String int int
StackMap stack: new 28 new 28 java.lang.String
30: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 18
31: StackMap locals:
StackMap stack:
ldc ""
astore 17
end local 20 end local 19 32: StackMap locals:
StackMap stack:
iconst_0
istore 19
start local 19 33: iload 9
tableswitch { // 43 - 48
43: 40
44: 45
45: 45
46: 34
47: 34
48: 40
default: 45
}
34: StackMap locals: int
StackMap stack:
aload 12
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
36: ldc "\\"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
37: iload 9
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
38: aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
39: iconst_1
istore 19
40: StackMap locals:
StackMap stack:
iload 19
ifne 42
41: aload 12
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
42: StackMap locals:
StackMap stack:
aload 12
aload 18
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
43: aload 17
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
44: ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
45: StackMap locals:
StackMap stack:
iload 9
bipush 47
if_icmpeq 46
aload 7
ldc "?"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 47
46: StackMap locals:
StackMap stack:
aload 12
ldc "?"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
47: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
iload 5
iload 6
aload 7
iload 8
iload 9
aload 10
iload 11
invokespecial io.micronaut.http.uri.UriTemplate$UriTemplateParser.addVariableSegment:(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLjava/lang/String;CCLjava/lang/String;Z)V
48: return
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lio/micronaut/http/uri/UriMatchTemplate$UriMatchTemplateParser;
0 49 1 segments Ljava/util/List<Lio/micronaut/http/uri/UriTemplate$PathSegment;>;
0 49 2 variable Ljava/lang/String;
0 49 3 prefix Ljava/lang/String;
0 49 4 delimiter Ljava/lang/String;
0 49 5 encode Z
0 49 6 repeatPrefix Z
0 49 7 modifierStr Ljava/lang/String;
0 49 8 modifierChar C
0 49 9 operator C
0 49 10 previousDelimiter Ljava/lang/String;
0 49 11 isQuerySegment Z
2 49 12 pattern Ljava/lang/StringBuilder;
3 49 13 modLen I
6 49 14 hasModifier Z
7 49 15 operatorPrefix Ljava/lang/String;
8 49 16 operatorQuantifier Ljava/lang/String;
9 49 17 variableQuantifier Ljava/lang/String;
10 49 18 variablePattern Ljava/lang/String;
12 32 19 firstChar C
19 32 20 lastChar C
33 49 19 operatorAppended Z
Signature: (Ljava/util/List<Lio/micronaut/http/uri/UriTemplate$PathSegment;>;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLjava/lang/String;CCLjava/lang/String;Z)V
MethodParameters:
Name Flags
segments
variable
prefix
delimiter
encode
repeatPrefix
modifierStr
modifierChar
operator
previousDelimiter
isQuerySegment
protected java.lang.String getVariablePattern(java.lang.String, char);
descriptor: (Ljava/lang/String;C)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
bipush 43
if_icmpne 2
1: ldc "([\\S]"
areturn
2: StackMap locals:
StackMap stack:
ldc "([^\\/\\?#&;\\+]"
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/http/uri/UriMatchTemplate$UriMatchTemplateParser;
0 3 1 variable Ljava/lang/String;
0 3 2 operator C
MethodParameters:
Name Flags
variable
operator
}
SourceFile: "UriMatchTemplate.java"
NestHost: io.micronaut.http.uri.UriMatchTemplate
InnerClasses:
protected UriMatchTemplateParser = io.micronaut.http.uri.UriMatchTemplate$UriMatchTemplateParser of io.micronaut.http.uri.UriMatchTemplate
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
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles