class org.springframework.web.util.pattern.SingleCharWildcardedPathElement extends org.springframework.web.util.pattern.PathElement
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.web.util.pattern.SingleCharWildcardedPathElement
super_class: org.springframework.web.util.pattern.PathElement
{
private final char[] text;
descriptor: [C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int len;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int questionMarkCount;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean caseSensitive;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(int, char[], int, boolean, char);
descriptor: (I[CIZC)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 1
iload 5
invokespecial org.springframework.web.util.pattern.PathElement.<init>:(IC)V
1: aload 0
aload 2
arraylength
putfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.len:I
2: aload 0
iload 3
putfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.questionMarkCount:I
3: aload 0
iload 4
putfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.caseSensitive:Z
4: iload 4
ifeq 7
5: aload 0
aload 2
putfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.text:[C
6: goto 13
7: StackMap locals: org.springframework.web.util.pattern.SingleCharWildcardedPathElement int char[] int int int
StackMap stack:
aload 0
aload 2
arraylength
newarray 5
putfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.text:[C
8: iconst_0
istore 6
start local 6 9: goto 12
10: StackMap locals: int
StackMap stack:
aload 0
getfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.text:[C
iload 6
aload 2
iload 6
caload
invokestatic java.lang.Character.toLowerCase:(C)C
castore
11: iinc 6 1
StackMap locals:
StackMap stack:
12: iload 6
aload 0
getfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.len:I
if_icmplt 10
end local 6 13: StackMap locals:
StackMap stack:
return
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 14 0 this Lorg/springframework/web/util/pattern/SingleCharWildcardedPathElement;
0 14 1 pos I
0 14 2 literalText [C
0 14 3 questionMarkCount I
0 14 4 caseSensitive Z
0 14 5 separator C
9 13 6 i I
MethodParameters:
Name Flags
pos
literalText
questionMarkCount
caseSensitive
separator
public boolean matches(int, org.springframework.web.util.pattern.PathPattern$MatchingContext);
descriptor: (ILorg/springframework/web/util/pattern/PathPattern$MatchingContext;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iload 1
aload 2
getfield org.springframework.web.util.pattern.PathPattern$MatchingContext.pathLength:I
if_icmplt 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 2
getfield org.springframework.web.util.pattern.PathPattern$MatchingContext.pathElements:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.springframework.http.server.PathContainer$Element
astore 3
start local 3 3: aload 3
instanceof org.springframework.http.server.PathContainer$PathSegment
ifne 5
4: iconst_0
ireturn
5: StackMap locals: org.springframework.http.server.PathContainer$Element
StackMap stack:
aload 3
checkcast org.springframework.http.server.PathContainer$PathSegment
invokeinterface org.springframework.http.server.PathContainer$PathSegment.valueToMatch:()Ljava/lang/String;
astore 4
start local 4 6: aload 4
invokevirtual java.lang.String.length:()I
aload 0
getfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.len:I
if_icmpeq 8
7: iconst_0
ireturn
8: StackMap locals: java.lang.String
StackMap stack:
aload 3
checkcast org.springframework.http.server.PathContainer$PathSegment
invokeinterface org.springframework.http.server.PathContainer$PathSegment.valueToMatchAsChars:()[C
astore 5
start local 5 9: aload 0
getfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.caseSensitive:Z
ifeq 18
10: iconst_0
istore 6
start local 6 11: goto 16
12: StackMap locals: char[] int
StackMap stack:
aload 0
getfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.text:[C
iload 6
caload
istore 7
start local 7 13: iload 7
bipush 63
if_icmpeq 15
iload 7
aload 5
iload 6
caload
if_icmpeq 15
14: iconst_0
ireturn
end local 7 15: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
aload 0
getfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.len:I
if_icmplt 12
end local 6 17: goto 25
18: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 19: goto 24
20: StackMap locals: int
StackMap stack:
aload 0
getfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.text:[C
iload 6
caload
istore 7
start local 7 21: iload 7
bipush 63
if_icmpeq 23
iload 7
aload 5
iload 6
caload
invokestatic java.lang.Character.toLowerCase:(C)C
if_icmpeq 23
22: iconst_0
ireturn
end local 7 23: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
24: iload 6
aload 0
getfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.len:I
if_icmplt 20
end local 6 25: StackMap locals:
StackMap stack:
iinc 1 1
26: aload 0
invokevirtual org.springframework.web.util.pattern.SingleCharWildcardedPathElement.isNoMorePattern:()Z
ifeq 37
27: aload 2
getfield org.springframework.web.util.pattern.PathPattern$MatchingContext.determineRemainingPath:Z
ifeq 30
28: aload 2
iload 1
putfield org.springframework.web.util.pattern.PathPattern$MatchingContext.remainingPathIndex:I
29: iconst_1
ireturn
30: StackMap locals:
StackMap stack:
iload 1
aload 2
getfield org.springframework.web.util.pattern.PathPattern$MatchingContext.pathLength:I
if_icmpne 32
31: iconst_1
ireturn
32: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.springframework.web.util.pattern.PathPattern$MatchingContext.isMatchOptionalTrailingSeparator:()Z
ifeq 36
33: iload 1
iconst_1
iadd
aload 2
getfield org.springframework.web.util.pattern.PathPattern$MatchingContext.pathLength:I
if_icmpne 36
34: aload 2
iload 1
invokevirtual org.springframework.web.util.pattern.PathPattern$MatchingContext.isSeparator:(I)Z
ifeq 36
35: iconst_1
ireturn
StackMap locals:
StackMap stack:
36: iconst_0
ireturn
37: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.next:Lorg/springframework/web/util/pattern/PathElement;
ifnull 38
aload 0
getfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.next:Lorg/springframework/web/util/pattern/PathElement;
iload 1
aload 2
invokevirtual org.springframework.web.util.pattern.PathElement.matches:(ILorg/springframework/web/util/pattern/PathPattern$MatchingContext;)Z
ifeq 38
iconst_1
ireturn
StackMap locals:
StackMap stack:
38: iconst_0
ireturn
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 39 0 this Lorg/springframework/web/util/pattern/SingleCharWildcardedPathElement;
0 39 1 pathIndex I
0 39 2 matchingContext Lorg/springframework/web/util/pattern/PathPattern$MatchingContext;
3 39 3 element Lorg/springframework/http/server/PathContainer$Element;
6 39 4 value Ljava/lang/String;
9 39 5 data [C
11 17 6 i I
13 15 7 ch C
19 25 6 i I
21 23 7 ch C
MethodParameters:
Name Flags
pathIndex
matchingContext
public int getWildcardCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.questionMarkCount:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/util/pattern/SingleCharWildcardedPathElement;
public int getNormalizedLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.len:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/util/pattern/SingleCharWildcardedPathElement;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "SingleCharWildcarded("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.text:[C
invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
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;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/util/pattern/SingleCharWildcardedPathElement;
public char[] getChars();
descriptor: ()[C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.web.util.pattern.SingleCharWildcardedPathElement.text:[C
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/util/pattern/SingleCharWildcardedPathElement;
}
SourceFile: "SingleCharWildcardedPathElement.java"
InnerClasses:
public abstract Element = org.springframework.http.server.PathContainer$Element of org.springframework.http.server.PathContainer
public abstract PathSegment = org.springframework.http.server.PathContainer$PathSegment of org.springframework.http.server.PathContainer
MatchingContext = org.springframework.web.util.pattern.PathPattern$MatchingContext of org.springframework.web.util.pattern.PathPattern