class io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment implements io.micronaut.http.uri.UriTemplate$PathSegment
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment
super_class: java.lang.Object
{
private final boolean isQuerySegment;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String variable;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String prefix;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String delimiter;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean encode;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final char modifierChar;
descriptor: C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final char operator;
descriptor: C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String modifierStr;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String previousDelimiter;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean repeatPrefix;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final io.micronaut.http.uri.UriTemplate$UriTemplateParser this$1;
descriptor: Lio/micronaut/http/uri/UriTemplate$UriTemplateParser;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(io.micronaut.http.uri.UriTemplate$UriTemplateParser, boolean, java.lang.String, java.lang.String, java.lang.String, boolean, char, char, java.lang.String, java.lang.String, boolean);
descriptor: (Lio/micronaut/http/uri/UriTemplate$UriTemplateParser;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;ZCCLjava/lang/String;Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=12, args_size=12
start local 0 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
aload 1
putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.this$1:Lio/micronaut/http/uri/UriTemplate$UriTemplateParser;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 2
putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.isQuerySegment:Z
2: aload 0
aload 3
putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.variable:Ljava/lang/String;
3: aload 0
aload 4
putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.prefix:Ljava/lang/String;
4: aload 0
aload 5
putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.delimiter:Ljava/lang/String;
5: aload 0
iload 6
putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:Z
6: aload 0
iload 7
putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierChar:C
7: aload 0
iload 8
putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
8: aload 0
aload 9
putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierStr:Ljava/lang/String;
9: aload 0
aload 10
putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.previousDelimiter:Ljava/lang/String;
10: aload 0
iload 11
putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.repeatPrefix:Z
11: return
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 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
0 12 2 isQuerySegment Z
0 12 3 variable Ljava/lang/String;
0 12 4 prefix Ljava/lang/String;
0 12 5 delimiter Ljava/lang/String;
0 12 6 encode Z
0 12 7 modifierChar C
0 12 8 operator C
0 12 9 modifierStr Ljava/lang/String;
0 12 10 previousDelimiter Ljava/lang/String;
0 12 11 repeatPrefix Z
MethodParameters:
Name Flags
this$0 final
isQuerySegment
variable
prefix
delimiter
encode
modifierChar
operator
modifierStr
previousDelimiter
repeatPrefix
public java.util.Optional<java.lang.String> getVariable();
descriptor: ()Ljava/util/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.variable:Ljava/lang/String;
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
Signature: ()Ljava/util/Optional<Ljava/lang/String;>;
public char getOperator();
descriptor: ()C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
public boolean isQuerySegment();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.isQuerySegment:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
public int length();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.toString:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
public char charAt(int);
descriptor: (I)C
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.toString:()Ljava/lang/String;
iload 1
invokevirtual java.lang.String.charAt:(I)C
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
0 1 1 index I
MethodParameters:
Name Flags
index
public java.lang.CharSequence subSequence(int, int);
descriptor: (II)Ljava/lang/CharSequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.toString:()Ljava/lang/String;
iload 1
iload 2
invokevirtual java.lang.String.subSequence:(II)Ljava/lang/CharSequence;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
0 1 1 start I
0 1 2 end I
MethodParameters:
Name Flags
start
end
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.variable:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierChar:C
bipush 48
if_icmpeq 6
3: aload 1
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierChar:C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierStr:Ljava/lang/String;
ifnull 6
5: aload 1
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierStr:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
1 7 1 builder Ljava/lang/StringBuilder;
private java.lang.String escape(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "%"
ldc "%25"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
ldc "\\s"
ldc "%20"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
0 1 1 v Ljava/lang/String;
MethodParameters:
Name Flags
v
public java.lang.String expand(java.util.Map<java.lang.String, java.lang.Object>, boolean, boolean);
descriptor: (Ljava/util/Map;ZZ)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.variable:Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 1: aload 4
instanceof java.util.Optional
istore 5
start local 5 2: aload 4
ifnull 76
iload 5
ifeq 3
aload 4
checkcast java.util.Optional
invokevirtual java.util.Optional.isPresent:()Z
ifeq 76
3: StackMap locals: java.lang.Object int
StackMap stack:
iload 5
ifeq 5
4: aload 4
checkcast java.util.Optional
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
astore 4
5: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.prefix:Ljava/lang/String;
astore 6
start local 6 6: aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
bipush 63
if_icmpne 8
iload 3
ifne 8
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.prefix:Ljava/lang/String;
ifnull 8
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.prefix:Ljava/lang/String;
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 8
7: new java.lang.StringBuilder
dup
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.prefix:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
8: StackMap locals: java.lang.String
StackMap stack:
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 10
9: aload 4
checkcast java.lang.Object[]
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 4
10: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
bipush 63
if_icmpne 11
iconst_1
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 8
start local 8 13: aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierChar:C
bipush 42
if_icmpne 15
14: aload 0
aload 4
invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.expandPOJO:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
15: StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String top int
StackMap stack:
aload 4
instanceof java.lang.Iterable
ifeq 30
16: aload 4
checkcast java.lang.Iterable
astore 9
start local 9 17: aload 9
instanceof java.util.Collection
ifeq 19
aload 9
checkcast java.util.Collection
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 19
18: ldc ""
areturn
19: StackMap locals: java.lang.Iterable
StackMap stack:
new java.util.StringJoiner
dup
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.delimiter:Ljava/lang/String;
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
astore 10
start local 10 20: aload 9
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 12
goto 27
StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String top int java.lang.Iterable java.util.StringJoiner top java.util.Iterator
StackMap stack:
21: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 11
start local 11 22: aload 11
ifnull 27
23: aload 11
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 13
start local 13 24: aload 10
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:Z
ifeq 25
aload 0
aload 13
iload 8
invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:(Ljava/lang/String;Z)Ljava/lang/String;
goto 26
StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String top int java.lang.Iterable java.util.StringJoiner java.lang.Object java.util.Iterator java.lang.String
StackMap stack: java.util.StringJoiner
25: aload 0
aload 13
invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.escape:(Ljava/lang/String;)Ljava/lang/String;
StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String top int java.lang.Iterable java.util.StringJoiner java.lang.Object java.util.Iterator java.lang.String
StackMap stack: java.util.StringJoiner java.lang.String
26: invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
end local 13 end local 11 27: StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String top int java.lang.Iterable java.util.StringJoiner top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
28: aload 10
invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
astore 7
end local 10 end local 9 start local 7 29: goto 56
end local 7 StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String top int
StackMap stack:
30: aload 4
instanceof java.util.Map
ifeq 51
31: aload 4
checkcast java.util.Map
astore 9
start local 9 32: aload 9
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokedynamic test()Ljava/util/function/Predicate;
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:
(Ljava/lang/Object;)Z
java/util/Objects.isNull(Ljava/lang/Object;)Z (6)
(Ljava/lang/Object;)Z
invokeinterface java.util.Collection.removeIf:(Ljava/util/function/Predicate;)Z
pop
33: aload 9
invokeinterface java.util.Map.isEmpty:()Z
ifeq 35
34: ldc ""
areturn
35: StackMap locals: java.util.Map
StackMap stack:
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierChar:C
bipush 42
if_icmpne 47
36: aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
lookupswitch { // 3
38: 37
59: 42
63: 37
default: 45
}
37: StackMap locals:
StackMap stack:
iload 3
ifeq 38
bipush 38
goto 39
StackMap locals:
StackMap stack:
38: aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
StackMap locals:
StackMap stack: int
39: invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
astore 6
40: new java.util.StringJoiner
dup
bipush 38
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
astore 10
start local 10 41: goto 48
end local 10 42: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
astore 6
43: new java.util.StringJoiner
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
astore 10
start local 10 44: goto 48
end local 10 45: StackMap locals:
StackMap stack:
new java.util.StringJoiner
dup
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.delimiter:Ljava/lang/String;
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
astore 10
start local 10 46: goto 48
end local 10 47: StackMap locals:
StackMap stack:
new java.util.StringJoiner
dup
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.delimiter:Ljava/lang/String;
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
astore 10
start local 10 48: StackMap locals: java.util.StringJoiner
StackMap stack:
aload 9
aload 0
iload 8
aload 10
invokedynamic accept(Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;ZLjava/util/StringJoiner;)Ljava/util/function/BiConsumer;
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:
(Ljava/lang/Object;Ljava/lang/Object;)V
io/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment.lambda$1(ZLjava/util/StringJoiner;Ljava/lang/Object;Ljava/lang/Object;)V (7)
(Ljava/lang/Object;Ljava/lang/Object;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
49: aload 10
invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
astore 7
end local 10 end local 9 start local 7 50: goto 56
end local 7 51: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 9
start local 9 52: aload 0
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierStr:Ljava/lang/String;
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierChar:C
aload 9
aload 9
invokevirtual java.lang.String.length:()I
invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.applyModifier:(Ljava/lang/String;CLjava/lang/String;I)Ljava/lang/String;
astore 9
53: aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:Z
ifeq 54
aload 0
aload 9
iload 8
invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:(Ljava/lang/String;Z)Ljava/lang/String;
goto 55
StackMap locals: java.lang.String
StackMap stack:
54: aload 0
aload 9
invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.escape:(Ljava/lang/String;)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
55: astore 7
end local 9 start local 7 56: StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String java.lang.String int
StackMap stack:
aload 7
invokevirtual java.lang.String.length:()I
istore 9
start local 9 57: new java.lang.StringBuilder
dup
iload 2
ifeq 58
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.previousDelimiter:Ljava/lang/String;
ifnull 58
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.previousDelimiter:Ljava/lang/String;
goto 59
StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String java.lang.String int int
StackMap stack: new 57 new 57
58: ldc ""
StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String java.lang.String int int
StackMap stack: new 57 new 57 java.lang.String
59: invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 10
start local 10 60: iload 9
ifne 71
61: aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
lookupswitch { // 2
47: 62
59: 63
default: 66
}
62: StackMap locals: java.lang.StringBuilder
StackMap stack:
goto 75
63: StackMap locals:
StackMap stack:
aload 6
ifnull 66
aload 6
ldc "="
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 66
64: aload 10
aload 6
iconst_0
aload 6
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
65: goto 75
66: StackMap locals:
StackMap stack:
aload 6
ifnull 69
67: aload 10
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
68: goto 75
69: StackMap locals:
StackMap stack:
aload 10
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
70: goto 75
StackMap locals:
StackMap stack:
71: aload 6
ifnull 74
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.repeatPrefix:Z
ifeq 74
72: aload 10
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
73: goto 75
74: StackMap locals:
StackMap stack:
aload 10
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
75: StackMap locals:
StackMap stack:
aload 10
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 76: StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int
StackMap stack:
aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
tableswitch { // 47 - 47
47: 77
default: 78
}
77: StackMap locals:
StackMap stack:
aconst_null
areturn
78: StackMap locals:
StackMap stack:
ldc ""
areturn
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 79 0 this Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
0 79 1 parameters Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
0 79 2 previousHasContent Z
0 79 3 anyPreviousHasOperator Z
1 79 4 found Ljava/lang/Object;
2 79 5 isOptional Z
6 76 6 prefixToUse Ljava/lang/String;
29 30 7 result Ljava/lang/String;
50 51 7 result Ljava/lang/String;
56 76 7 result Ljava/lang/String;
13 76 8 isQuery Z
17 29 9 iter Ljava/lang/Iterable;
20 29 10 joiner Ljava/util/StringJoiner;
22 27 11 o Ljava/lang/Object;
24 27 13 v Ljava/lang/String;
32 50 9 map Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
41 42 10 joiner Ljava/util/StringJoiner;
44 45 10 joiner Ljava/util/StringJoiner;
46 47 10 joiner Ljava/util/StringJoiner;
48 50 10 joiner Ljava/util/StringJoiner;
52 56 9 str Ljava/lang/String;
57 76 9 len I
60 76 10 finalResult Ljava/lang/StringBuilder;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;ZZ)Ljava/lang/String;
MethodParameters:
Name Flags
parameters
previousHasContent
anyPreviousHasOperator
private java.lang.String applyModifier(java.lang.String, char, java.lang.String, int);
descriptor: (Ljava/lang/String;CLjava/lang/String;I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 2
bipush 58
if_icmpne 7
aload 1
invokevirtual java.lang.String.length:()I
ifle 7
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 7
1: aload 1
invokevirtual java.lang.String.trim:()Ljava/lang/String;
bipush 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
istore 5
start local 5 2: iload 5
iload 4
if_icmpge 7
3: aload 3
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
end local 5 4: goto 7
StackMap locals:
StackMap stack: java.lang.NumberFormatException
5: pop
6: new java.lang.StringBuilder
dup
ldc ":"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
7: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
0 8 1 modifierStr Ljava/lang/String;
0 8 2 modifierChar C
0 8 3 result Ljava/lang/String;
0 8 4 len I
2 4 5 subResult I
Exception table:
from to target type
1 4 5 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
modifierStr
modifierChar
result
len
private java.lang.String encode(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "UTF-8"
invokestatic java.net.URLEncoder.encode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 1: iload 2
ifeq 4
2: aload 3
3: areturn
4: StackMap locals: java.lang.String
StackMap stack:
aload 3
ldc "+"
ldc "%20"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
5: areturn
end local 3 6: StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.lang.String int
StackMap stack: java.io.UnsupportedEncodingException
astore 3
start local 3 7: new java.lang.IllegalStateException
dup
ldc "No available encoding"
aload 3
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
0 8 1 str Ljava/lang/String;
0 8 2 query Z
1 6 3 encoded Ljava/lang/String;
7 8 3 e Ljava/io/UnsupportedEncodingException;
Exception table:
from to target type
0 3 6 Class java.io.UnsupportedEncodingException
4 5 6 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
str
query
private java.lang.Object expandPOJO(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.Iterable
ifne 1
aload 1
instanceof java.util.Map
ifeq 2
1: StackMap locals:
StackMap stack:
aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
ifnull 3
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic io.micronaut.core.reflect.ClassUtils.isJavaLangType:(Ljava/lang/Class;)Z
ifeq 4
3: StackMap locals:
StackMap stack:
aload 1
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokestatic io.micronaut.core.beans.BeanMap.of:(Ljava/lang/Object;)Lio/micronaut/core/beans/BeanMap;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
0 5 1 found Ljava/lang/Object;
MethodParameters:
Name Flags
found
private void lambda$1(boolean, java.util.StringJoiner, java.lang.Object, java.lang.Object);
descriptor: (ZLjava/util/StringJoiner;Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=13, args_size=5
start local 0 start local 3 start local 4 0: aload 3
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 5
start local 5 1: aload 4
instanceof java.lang.Iterable
ifeq 2
aload 4
checkcast java.lang.Iterable
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: aload 4
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
StackMap locals:
StackMap stack: java.lang.Iterable
3: astore 6
start local 6 4: aload 6
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 21
StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment int java.util.StringJoiner java.lang.Object java.lang.Object java.lang.String java.lang.Iterable top java.util.Iterator
StackMap stack:
5: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 7
start local 7 6: aload 7
ifnonnull 8
7: goto 21
8: StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment int java.util.StringJoiner java.lang.Object java.lang.Object java.lang.String java.lang.Iterable java.lang.Object java.util.Iterator
StackMap stack:
aload 7
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 9
start local 9 9: aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:Z
ifeq 10
aload 0
aload 5
iload 1
invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:(Ljava/lang/String;Z)Ljava/lang/String;
goto 11
StackMap locals: java.lang.String
StackMap stack:
10: aload 0
aload 5
invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.escape:(Ljava/lang/String;)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
11: astore 10
start local 10 12: aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:Z
ifeq 13
aload 0
aload 9
iload 1
invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:(Ljava/lang/String;Z)Ljava/lang/String;
goto 14
StackMap locals: java.lang.String
StackMap stack:
13: aload 0
aload 9
invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.escape:(Ljava/lang/String;)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
14: astore 11
start local 11 15: aload 0
getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierChar:C
bipush 42
if_icmpne 19
16: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 61
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 12
start local 12 17: aload 2
aload 12
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
end local 12 18: goto 21
19: StackMap locals: java.lang.String
StackMap stack:
aload 2
aload 10
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
20: aload 2
aload 11
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
end local 11 end local 10 end local 9 end local 7 21: StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment int java.util.StringJoiner java.lang.Object java.lang.Object java.lang.String java.lang.Iterable top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 6 end local 5 22: return
end local 4 end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
0 23 3 key Ljava/lang/Object;
0 23 4 some Ljava/lang/Object;
1 22 5 ks Ljava/lang/String;
4 22 6 values Ljava/lang/Iterable<*>;
6 21 7 value Ljava/lang/Object;
9 21 9 vs Ljava/lang/String;
12 21 10 ek Ljava/lang/String;
15 21 11 ev Ljava/lang/String;
17 18 12 finalValue Ljava/lang/String;
}
SourceFile: "UriTemplate.java"
NestHost: io.micronaut.http.uri.UriTemplate
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
private VariablePathSegment = io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment of io.micronaut.http.uri.UriTemplate$UriTemplateParser
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles