class org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo
super_class: java.lang.Object
{
private final java.lang.String pattern;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private int uriVars;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int singleWildcards;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int doubleWildcards;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean catchAllPattern;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean prefixPattern;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.Integer length;
descriptor: Ljava/lang/Integer;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
2: aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
ifnull 8
3: aload 0
invokevirtual org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.initCounters:()V
4: aload 0
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
ldc "/**"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
putfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.catchAllPattern:Z
5: aload 0
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.catchAllPattern:Z
ifne 6
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
ldc "/**"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 6
iconst_1
goto 7
StackMap locals: org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo java.lang.String
StackMap stack: org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo
6: iconst_0
StackMap locals: org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo java.lang.String
StackMap stack: org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo int
7: putfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.prefixPattern:Z
8: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.uriVars:I
ifne 12
9: aload 0
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
ifnull 10
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
goto 11
StackMap locals:
StackMap stack: org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo
10: iconst_0
StackMap locals: org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo java.lang.String
StackMap stack: org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo int
11: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.length:Ljava/lang/Integer;
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/springframework/util/AntPathMatcher$AntPatternComparator$PatternInfo;
0 13 1 pattern Ljava/lang/String;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
pattern
protected void initCounters();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
ifnull 20
2: goto 19
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
iload 1
invokevirtual java.lang.String.charAt:(I)C
bipush 123
if_icmpne 7
4: aload 0
dup
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.uriVars:I
iconst_1
iadd
putfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.uriVars:I
5: iinc 1 1
6: goto 19
7: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
iload 1
invokevirtual java.lang.String.charAt:(I)C
bipush 42
if_icmpne 18
8: iload 1
iconst_1
iadd
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmpge 12
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
iload 1
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
bipush 42
if_icmpne 12
9: aload 0
dup
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.doubleWildcards:I
iconst_1
iadd
putfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.doubleWildcards:I
10: iinc 1 2
11: goto 19
12: StackMap locals:
StackMap stack:
iload 1
ifle 16
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
iload 1
iconst_1
isub
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
ldc ".*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
13: aload 0
dup
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.singleWildcards:I
iconst_1
iadd
putfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.singleWildcards:I
14: iinc 1 1
15: goto 19
16: StackMap locals:
StackMap stack:
iinc 1 1
17: goto 19
18: StackMap locals:
StackMap stack:
iinc 1 1
19: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 3
20: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/springframework/util/AntPathMatcher$AntPatternComparator$PatternInfo;
1 21 1 pos I
public int getUriVars();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.uriVars:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/util/AntPathMatcher$AntPatternComparator$PatternInfo;
public int getSingleWildcards();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.singleWildcards:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/util/AntPathMatcher$AntPatternComparator$PatternInfo;
public int getDoubleWildcards();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.doubleWildcards:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/util/AntPathMatcher$AntPatternComparator$PatternInfo;
public boolean isLeastSpecific();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
ifnull 1
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.catchAllPattern:Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/util/AntPathMatcher$AntPatternComparator$PatternInfo;
public boolean isPrefixPattern();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.prefixPattern:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/util/AntPathMatcher$AntPatternComparator$PatternInfo;
public int getTotalCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.uriVars:I
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.singleWildcards:I
iadd
iconst_2
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.doubleWildcards:I
imul
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/util/AntPathMatcher$AntPatternComparator$PatternInfo;
public int getLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.length:Ljava/lang/Integer;
ifnonnull 6
1: aload 0
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
ifnull 3
2: getstatic org.springframework.util.AntPathMatcher.VARIABLE_PATTERN:Ljava/util/regex/Pattern;
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.pattern:Ljava/lang/String;
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
ldc "#"
invokevirtual java.util.regex.Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.length:()I
goto 4
StackMap locals:
StackMap stack: org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo
3: iconst_0
StackMap locals: org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo
StackMap stack: org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo int
4: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
5: putfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.length:Ljava/lang/Integer;
6: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo.length:Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/util/AntPathMatcher$AntPatternComparator$PatternInfo;
}
SourceFile: "AntPathMatcher.java"
NestHost: org.springframework.util.AntPathMatcher
InnerClasses:
protected AntPatternComparator = org.springframework.util.AntPathMatcher$AntPatternComparator of org.springframework.util.AntPathMatcher
private PatternInfo = org.springframework.util.AntPathMatcher$AntPatternComparator$PatternInfo of org.springframework.util.AntPathMatcher$AntPatternComparator