public class org.eclipse.core.internal.propertytester.StringMatcher
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.core.internal.propertytester.StringMatcher
super_class: java.lang.Object
{
private static final char SINGLE_WILD_CARD;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private int bound;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean hasLeadingStar;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean hasTrailingStar;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.lang.String pattern;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int patternLength;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String[] segments;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield org.eclipse.core.internal.propertytester.StringMatcher.bound:I
2: aload 1
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
4: StackMap locals: org.eclipse.core.internal.propertytester.StringMatcher java.lang.String
StackMap stack:
aload 0
aload 1
putfield org.eclipse.core.internal.propertytester.StringMatcher.pattern:Ljava/lang/String;
5: aload 0
aload 1
invokevirtual java.lang.String.length:()I
putfield org.eclipse.core.internal.propertytester.StringMatcher.patternLength:I
6: aload 0
invokevirtual org.eclipse.core.internal.propertytester.StringMatcher.parseWildCards:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/core/internal/propertytester/StringMatcher;
0 8 1 pattern Ljava/lang/String;
MethodParameters:
Name Flags
pattern
private int findPosition(java.lang.String, int, int, java.lang.String);
descriptor: (Ljava/lang/String;IILjava/lang/String;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
iconst_0
invokevirtual java.lang.String.indexOf:(I)I
iflt 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 5
start local 5 3: aload 4
invokevirtual java.lang.String.length:()I
istore 6
start local 6 4: iload 2
istore 7
start local 7 5: iload 3
iload 6
isub
istore 8
start local 8 6: goto 13
7: StackMap locals: org.eclipse.core.internal.propertytester.StringMatcher java.lang.String int int java.lang.String int int int int
StackMap stack:
iload 5
ifeq 10
8: aload 0
aload 1
iload 7
aload 4
iconst_0
iload 6
invokevirtual org.eclipse.core.internal.propertytester.StringMatcher.regExpRegionMatches:(Ljava/lang/String;ILjava/lang/String;II)Z
ifeq 12
9: iload 7
ireturn
10: StackMap locals:
StackMap stack:
aload 1
iconst_1
iload 7
aload 4
iconst_0
iload 6
invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
ifeq 12
11: iload 7
ireturn
12: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
13: iload 7
iload 8
if_icmple 7
end local 8 end local 7 14: iconst_m1
ireturn
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 15 0 this Lorg/eclipse/core/internal/propertytester/StringMatcher;
0 15 1 text Ljava/lang/String;
0 15 2 start I
0 15 3 end I
0 15 4 p Ljava/lang/String;
3 15 5 hasWildCard Z
4 15 6 plen I
5 14 7 i I
6 14 8 max I
MethodParameters:
Name Flags
text
start
end
p
public boolean match(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 3: aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.segments:[Ljava/lang/String;
arraylength
istore 3
start local 3 4: iload 3
ifne 6
aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.hasLeadingStar:Z
ifne 5
aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.hasTrailingStar:Z
ifeq 6
5: StackMap locals: int int
StackMap stack:
iconst_1
ireturn
6: StackMap locals:
StackMap stack:
iload 2
ifne 9
7: aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.patternLength:I
ifne 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.patternLength:I
ifne 11
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 12: iload 2
aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.bound:I
isub
ifge 14
13: iconst_0
ireturn
14: StackMap locals: int
StackMap stack:
iconst_0
istore 5
start local 5 15: aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.segments:[Ljava/lang/String;
iload 5
aaload
astore 6
start local 6 16: aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.hasLeadingStar:Z
ifne 22
17: aload 6
invokevirtual java.lang.String.length:()I
istore 7
start local 7 18: aload 0
aload 1
iconst_0
aload 6
iconst_0
iload 7
invokevirtual org.eclipse.core.internal.propertytester.StringMatcher.regExpRegionMatches:(Ljava/lang/String;ILjava/lang/String;II)Z
ifne 20
19: iconst_0
ireturn
20: StackMap locals: int java.lang.String int
StackMap stack:
iinc 5 1
21: iload 4
iload 7
iadd
istore 4
end local 7 22: StackMap locals:
StackMap stack:
iload 3
iconst_1
if_icmpne 31
aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.hasLeadingStar:Z
ifne 31
aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.hasTrailingStar:Z
ifne 31
23: iload 4
iload 2
if_icmpne 24
iconst_1
ireturn
StackMap locals:
StackMap stack:
24: iconst_0
ireturn
25: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.segments:[Ljava/lang/String;
iload 5
aaload
astore 6
26: aload 0
aload 1
iload 4
iload 2
aload 6
invokevirtual org.eclipse.core.internal.propertytester.StringMatcher.findPosition:(Ljava/lang/String;IILjava/lang/String;)I
istore 7
start local 7 27: iload 7
ifge 29
28: iconst_0
ireturn
29: StackMap locals: int
StackMap stack:
iload 7
aload 6
invokevirtual java.lang.String.length:()I
iadd
istore 4
30: iinc 5 1
end local 7 31: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmplt 25
32: aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.hasTrailingStar:Z
ifne 35
iload 4
iload 2
if_icmpeq 35
33: aload 6
invokevirtual java.lang.String.length:()I
istore 7
start local 7 34: aload 0
aload 1
iload 2
iload 7
isub
aload 6
iconst_0
iload 7
invokevirtual org.eclipse.core.internal.propertytester.StringMatcher.regExpRegionMatches:(Ljava/lang/String;ILjava/lang/String;II)Z
ireturn
end local 7 35: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmpne 36
iconst_1
ireturn
StackMap locals:
StackMap stack:
36: iconst_0
ireturn
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 37 0 this Lorg/eclipse/core/internal/propertytester/StringMatcher;
0 37 1 text Ljava/lang/String;
3 37 2 end I
4 37 3 segmentCount I
12 37 4 currentTextPosition I
15 37 5 segmentIndex I
16 37 6 current Ljava/lang/String;
18 22 7 currentLength I
27 31 7 currentMatch I
34 35 7 currentLength I
MethodParameters:
Name Flags
text
private void parseWildCards();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.pattern:Ljava/lang/String;
ldc "*"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 2
1: aload 0
iconst_1
putfield org.eclipse.core.internal.propertytester.StringMatcher.hasLeadingStar:Z
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.pattern:Ljava/lang/String;
ldc "*"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 5
3: aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.patternLength:I
iconst_1
if_icmple 5
aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.pattern:Ljava/lang/String;
aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.patternLength:I
iconst_2
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 92
if_icmpeq 5
4: aload 0
iconst_1
putfield org.eclipse.core.internal.propertytester.StringMatcher.hasTrailingStar:Z
5: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 6: iconst_0
istore 2
start local 2 7: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 8: goto 29
9: StackMap locals: java.util.ArrayList int java.lang.StringBuilder
StackMap stack:
aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.pattern:Ljava/lang/String;
iload 2
iinc 2 1
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 10: iload 4
lookupswitch { // 3
42: 21
63: 26
92: 11
default: 28
}
11: StackMap locals: int
StackMap stack:
iload 2
aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.patternLength:I
if_icmplt 14
12: aload 3
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
13: goto 29
14: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.pattern:Ljava/lang/String;
iload 2
iinc 2 1
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 15: iload 5
bipush 42
if_icmpeq 16
iload 5
bipush 63
if_icmpeq 16
iload 5
bipush 92
if_icmpne 18
16: StackMap locals: int
StackMap stack:
aload 3
iload 5
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
17: goto 29
18: StackMap locals:
StackMap stack:
aload 3
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: aload 3
iload 5
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 5 20: goto 29
21: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.StringBuilder.length:()I
ifle 29
22: aload 1
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
23: aload 0
dup
getfield org.eclipse.core.internal.propertytester.StringMatcher.bound:I
aload 3
invokevirtual java.lang.StringBuilder.length:()I
iadd
putfield org.eclipse.core.internal.propertytester.StringMatcher.bound:I
24: aload 3
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
25: goto 29
26: StackMap locals:
StackMap stack:
aload 3
iconst_0
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
27: goto 29
28: StackMap locals:
StackMap stack:
aload 3
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 4 29: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield org.eclipse.core.internal.propertytester.StringMatcher.patternLength:I
if_icmplt 9
30: aload 3
invokevirtual java.lang.StringBuilder.length:()I
ifle 33
31: aload 1
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
32: aload 0
dup
getfield org.eclipse.core.internal.propertytester.StringMatcher.bound:I
aload 3
invokevirtual java.lang.StringBuilder.length:()I
iadd
putfield org.eclipse.core.internal.propertytester.StringMatcher.bound:I
33: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokevirtual java.util.ArrayList.size:()I
anewarray java.lang.String
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
putfield org.eclipse.core.internal.propertytester.StringMatcher.segments:[Ljava/lang/String;
34: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/eclipse/core/internal/propertytester/StringMatcher;
6 35 1 temp Ljava/util/ArrayList<Ljava/lang/String;>;
7 35 2 pos I
8 35 3 buf Ljava/lang/StringBuilder;
10 29 4 c C
15 20 5 next C
private boolean regExpRegionMatches(java.lang.String, int, java.lang.String, int, int);
descriptor: (Ljava/lang/String;ILjava/lang/String;II)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: goto 12
1: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 2: aload 3
iload 4
iinc 4 1
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 3: iload 7
ifne 5
4: goto 12
5: StackMap locals: int int
StackMap stack:
iload 7
iload 6
if_icmpne 7
6: goto 12
7: StackMap locals:
StackMap stack:
iload 6
invokestatic java.lang.Character.toUpperCase:(C)C
iload 7
invokestatic java.lang.Character.toUpperCase:(C)C
if_icmpne 9
8: goto 12
9: StackMap locals:
StackMap stack:
iload 6
invokestatic java.lang.Character.toLowerCase:(C)C
iload 7
invokestatic java.lang.Character.toLowerCase:(C)C
if_icmpne 11
10: goto 12
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 7 end local 6 12: StackMap locals:
StackMap stack:
iload 5
iinc 5 -1
ifgt 1
13: iconst_1
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 14 0 this Lorg/eclipse/core/internal/propertytester/StringMatcher;
0 14 1 text Ljava/lang/String;
0 14 2 tStart I
0 14 3 p Ljava/lang/String;
0 14 4 pStart I
0 14 5 plen I
2 12 6 tchar C
3 12 7 pchar C
MethodParameters:
Name Flags
text
tStart
p
pStart
plen
}
SourceFile: "StringMatcher.java"