public class com.sun.jndi.toolkit.dir.SearchFilter implements com.sun.jndi.toolkit.dir.AttrFilter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.jndi.toolkit.dir.SearchFilter
super_class: java.lang.Object
{
java.lang.String filter;
descriptor: Ljava/lang/String;
flags: (0x0000)
int pos;
descriptor: I
flags: (0x0000)
private com.sun.jndi.toolkit.dir.SearchFilter$StringFilter rootFilter;
descriptor: Lcom/sun/jndi/toolkit/dir/SearchFilter$StringFilter;
flags: (0x0002) ACC_PRIVATE
protected static final boolean debug;
descriptor: Z
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 0
protected static final char BEGIN_FILTER_TOKEN;
descriptor: C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 40
protected static final char END_FILTER_TOKEN;
descriptor: C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 41
protected static final char AND_TOKEN;
descriptor: C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 38
protected static final char OR_TOKEN;
descriptor: C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 124
protected static final char NOT_TOKEN;
descriptor: C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 33
protected static final char EQUAL_TOKEN;
descriptor: C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 61
protected static final char APPROX_TOKEN;
descriptor: C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 126
protected static final char LESS_TOKEN;
descriptor: C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 60
protected static final char GREATER_TOKEN;
descriptor: C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 62
protected static final char EXTEND_TOKEN;
descriptor: C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 58
protected static final char WILDCARD_TOKEN;
descriptor: C
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 42
static final int EQUAL_MATCH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int APPROX_MATCH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int GREATER_MATCH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static final int LESS_MATCH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
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
aload 1
putfield com.sun.jndi.toolkit.dir.SearchFilter.filter:Ljava/lang/String;
2: aload 0
iconst_0
putfield com.sun.jndi.toolkit.dir.SearchFilter.pos:I
3: aload 0
invokevirtual com.sun.jndi.toolkit.dir.SearchFilter.normalizeFilter:()V
4: aload 0
aload 0
invokevirtual com.sun.jndi.toolkit.dir.SearchFilter.createNextFilter:()Lcom/sun/jndi/toolkit/dir/SearchFilter$StringFilter;
putfield com.sun.jndi.toolkit.dir.SearchFilter.rootFilter:Lcom/sun/jndi/toolkit/dir/SearchFilter$StringFilter;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/jndi/toolkit/dir/SearchFilter;
0 6 1 filter Ljava/lang/String;
Exceptions:
throws javax.naming.directory.InvalidSearchFilterException
MethodParameters:
Name Flags
filter
public boolean check(javax.naming.directory.Attributes);
descriptor: (Ljavax/naming/directory/Attributes;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.rootFilter:Lcom/sun/jndi/toolkit/dir/SearchFilter$StringFilter;
aload 1
invokeinterface com.sun.jndi.toolkit.dir.SearchFilter$StringFilter.check:(Ljavax/naming/directory/Attributes;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/jndi/toolkit/dir/SearchFilter;
0 3 1 targetAttrs Ljavax/naming/directory/Attributes;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
targetAttrs
protected void normalizeFilter();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.jndi.toolkit.dir.SearchFilter.skipWhiteSpace:()V
1: aload 0
invokevirtual com.sun.jndi.toolkit.dir.SearchFilter.getCurrentChar:()C
bipush 40
if_icmpeq 3
2: aload 0
new java.lang.StringBuilder
dup
bipush 40
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.filter:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield com.sun.jndi.toolkit.dir.SearchFilter.filter:Ljava/lang/String;
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/jndi/toolkit/dir/SearchFilter;
private void skipWhiteSpace();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: goto 2
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.jndi.toolkit.dir.SearchFilter.consumeChar:()V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.jndi.toolkit.dir.SearchFilter.getCurrentChar:()C
invokestatic java.lang.Character.isWhitespace:(C)Z
ifne 1
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/jndi/toolkit/dir/SearchFilter;
protected com.sun.jndi.toolkit.dir.SearchFilter$StringFilter createNextFilter();
descriptor: ()Lcom/sun/jndi/toolkit/dir/SearchFilter$StringFilter;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.jndi.toolkit.dir.SearchFilter.skipWhiteSpace:()V
1: aload 0
invokevirtual com.sun.jndi.toolkit.dir.SearchFilter.getCurrentChar:()C
bipush 40
if_icmpeq 5
2: new javax.naming.directory.InvalidSearchFilterException
dup
new java.lang.StringBuilder
dup
ldc "expected \"(\" at position "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.pos:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.jndi.toolkit.dir.SearchFilter.consumeChar:()V
6: aload 0
invokevirtual com.sun.jndi.toolkit.dir.SearchFilter.skipWhiteSpace:()V
7: aload 0
invokevirtual com.sun.jndi.toolkit.dir.SearchFilter.getCurrentChar:()C
lookupswitch { // 3
33: 14
38: 8
124: 11
default: 17
}
8: StackMap locals:
StackMap stack:
new com.sun.jndi.toolkit.dir.SearchFilter$CompoundFilter
dup
aload 0
iconst_1
invokespecial com.sun.jndi.toolkit.dir.SearchFilter$CompoundFilter.<init>:(Lcom/sun/jndi/toolkit/dir/SearchFilter;Z)V
astore 1
start local 1 9: aload 1
invokeinterface com.sun.jndi.toolkit.dir.SearchFilter$StringFilter.parse:()V
10: goto 19
end local 1 11: StackMap locals:
StackMap stack:
new com.sun.jndi.toolkit.dir.SearchFilter$CompoundFilter
dup
aload 0
iconst_0
invokespecial com.sun.jndi.toolkit.dir.SearchFilter$CompoundFilter.<init>:(Lcom/sun/jndi/toolkit/dir/SearchFilter;Z)V
astore 1
start local 1 12: aload 1
invokeinterface com.sun.jndi.toolkit.dir.SearchFilter$StringFilter.parse:()V
13: goto 19
end local 1 14: StackMap locals:
StackMap stack:
new com.sun.jndi.toolkit.dir.SearchFilter$NotFilter
dup
aload 0
invokespecial com.sun.jndi.toolkit.dir.SearchFilter$NotFilter.<init>:(Lcom/sun/jndi/toolkit/dir/SearchFilter;)V
astore 1
start local 1 15: aload 1
invokeinterface com.sun.jndi.toolkit.dir.SearchFilter$StringFilter.parse:()V
16: goto 19
end local 1 17: StackMap locals:
StackMap stack:
new com.sun.jndi.toolkit.dir.SearchFilter$AtomicFilter
dup
aload 0
invokespecial com.sun.jndi.toolkit.dir.SearchFilter$AtomicFilter.<init>:(Lcom/sun/jndi/toolkit/dir/SearchFilter;)V
astore 1
start local 1 18: aload 1
invokeinterface com.sun.jndi.toolkit.dir.SearchFilter$StringFilter.parse:()V
19: StackMap locals: com.sun.jndi.toolkit.dir.SearchFilter$StringFilter
StackMap stack:
aload 0
invokevirtual com.sun.jndi.toolkit.dir.SearchFilter.skipWhiteSpace:()V
20: aload 0
invokevirtual com.sun.jndi.toolkit.dir.SearchFilter.getCurrentChar:()C
bipush 41
if_icmpeq 24
21: new javax.naming.directory.InvalidSearchFilterException
dup
new java.lang.StringBuilder
dup
ldc "expected \")\" at position "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.pos:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.jndi.toolkit.dir.SearchFilter.consumeChar:()V
25: goto 33
end local 1 StackMap locals: com.sun.jndi.toolkit.dir.SearchFilter
StackMap stack: javax.naming.directory.InvalidSearchFilterException
26: astore 2
start local 2 27: aload 2
athrow
end local 2 28: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 29: new javax.naming.directory.InvalidSearchFilterException
dup
new java.lang.StringBuilder
dup
ldc "Unable to parse character "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
30: aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.pos:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " in \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
31: aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.filter: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;
32: invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
athrow
end local 2 start local 1 33: StackMap locals: com.sun.jndi.toolkit.dir.SearchFilter$StringFilter
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lcom/sun/jndi/toolkit/dir/SearchFilter;
9 11 1 filter Lcom/sun/jndi/toolkit/dir/SearchFilter$StringFilter;
12 14 1 filter Lcom/sun/jndi/toolkit/dir/SearchFilter$StringFilter;
15 17 1 filter Lcom/sun/jndi/toolkit/dir/SearchFilter$StringFilter;
18 26 1 filter Lcom/sun/jndi/toolkit/dir/SearchFilter$StringFilter;
33 34 1 filter Lcom/sun/jndi/toolkit/dir/SearchFilter$StringFilter;
27 28 2 e Ljavax/naming/directory/InvalidSearchFilterException;
29 33 2 e Ljava/lang/Exception;
Exception table:
from to target type
1 25 26 Class javax.naming.directory.InvalidSearchFilterException
1 25 28 Class java.lang.Exception
Exceptions:
throws javax.naming.directory.InvalidSearchFilterException
protected char getCurrentChar();
descriptor: ()C
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.filter:Ljava/lang/String;
aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.pos:I
invokevirtual java.lang.String.charAt:(I)C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/toolkit/dir/SearchFilter;
protected char relCharAt(int);
descriptor: (I)C
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.filter:Ljava/lang/String;
aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.pos:I
iload 1
iadd
invokevirtual java.lang.String.charAt:(I)C
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/toolkit/dir/SearchFilter;
0 1 1 i I
MethodParameters:
Name Flags
i
protected void consumeChar();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.sun.jndi.toolkit.dir.SearchFilter.pos:I
iconst_1
iadd
putfield com.sun.jndi.toolkit.dir.SearchFilter.pos:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/toolkit/dir/SearchFilter;
protected void consumeChars(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield com.sun.jndi.toolkit.dir.SearchFilter.pos:I
iload 1
iadd
putfield com.sun.jndi.toolkit.dir.SearchFilter.pos:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/jndi/toolkit/dir/SearchFilter;
0 2 1 i I
MethodParameters:
Name Flags
i
protected int relIndexOf(int);
descriptor: (I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.filter:Ljava/lang/String;
iload 1
aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.pos:I
invokevirtual java.lang.String.indexOf:(II)I
aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.pos:I
isub
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/toolkit/dir/SearchFilter;
0 1 1 ch I
MethodParameters:
Name Flags
ch
protected java.lang.String relSubstring(int, int);
descriptor: (II)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.filter:Ljava/lang/String;
iload 1
aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.pos:I
iadd
iload 2
aload 0
getfield com.sun.jndi.toolkit.dir.SearchFilter.pos:I
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/jndi/toolkit/dir/SearchFilter;
0 1 1 beginIndex I
0 1 2 endIndex I
MethodParameters:
Name Flags
beginIndex
endIndex
public static java.lang.String format(javax.naming.directory.Attributes);
descriptor: (Ljavax/naming/directory/Attributes;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokeinterface javax.naming.directory.Attributes.size:()I
ifne 2
1: StackMap locals:
StackMap stack:
ldc "objectClass=*"
areturn
2: StackMap locals:
StackMap stack:
ldc "(& "
astore 1
start local 1 3: aload 0
invokeinterface javax.naming.directory.Attributes.getAll:()Ljavax/naming/NamingEnumeration;
astore 3
start local 3 4: goto 15
5: StackMap locals: javax.naming.directory.Attributes java.lang.String top javax.naming.NamingEnumeration
StackMap stack:
aload 3
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast javax.naming.directory.Attribute
astore 2
start local 2 6: aload 2
invokeinterface javax.naming.directory.Attribute.size:()I
ifeq 7
aload 2
invokeinterface javax.naming.directory.Attribute.size:()I
iconst_1
if_icmpne 9
aload 2
invokeinterface javax.naming.directory.Attribute.get:()Ljava/lang/Object;
ifnonnull 9
7: StackMap locals: javax.naming.directory.Attributes java.lang.String javax.naming.directory.Attribute javax.naming.NamingEnumeration
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
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;
aload 2
invokeinterface javax.naming.directory.Attribute.getID:()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;
ldc "*)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
8: goto 15
9: StackMap locals:
StackMap stack:
aload 2
invokeinterface javax.naming.directory.Attribute.getAll:()Ljavax/naming/NamingEnumeration;
astore 4
start local 4 10: goto 14
11: StackMap locals: javax.naming.NamingEnumeration
StackMap stack:
aload 4
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
invokestatic com.sun.jndi.toolkit.dir.SearchFilter.getEncodedStringRep:(Ljava/lang/Object;)Ljava/lang/String;
astore 5
start local 5 12: aload 5
ifnull 14
13: new java.lang.StringBuilder
dup
aload 1
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;
aload 2
invokeinterface javax.naming.directory.Attribute.getID:()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;
aload 5
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 1
end local 5 14: StackMap locals:
StackMap stack:
aload 4
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 11
end local 4 end local 2 15: StackMap locals: javax.naming.directory.Attributes java.lang.String top javax.naming.NamingEnumeration
StackMap stack:
aload 3
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 5
end local 3 16: new java.lang.StringBuilder
dup
aload 1
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 1
17: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 attrs Ljavax/naming/directory/Attributes;
3 18 1 answer Ljava/lang/String;
6 15 2 attr Ljavax/naming/directory/Attribute;
4 16 3 e Ljavax/naming/NamingEnumeration<+Ljavax/naming/directory/Attribute;>;
10 15 4 ve Ljavax/naming/NamingEnumeration<*>;
12 14 5 val Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
attrs
private static void hexDigit(java.lang.StringBuffer, byte);
descriptor: (Ljava/lang/StringBuffer;B)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
iconst_4
ishr
bipush 15
iand
i2c
istore 2
start local 2 1: iload 2
bipush 9
if_icmple 3
2: iload 2
bipush 10
isub
bipush 65
iadd
i2c
istore 2
goto 4
3: StackMap locals: int
StackMap stack:
iload 2
bipush 48
iadd
i2c
istore 2
4: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
5: iload 1
bipush 15
iand
i2c
istore 2
6: iload 2
bipush 9
if_icmple 8
7: iload 2
bipush 10
isub
bipush 65
iadd
i2c
istore 2
goto 9
8: StackMap locals:
StackMap stack:
iload 2
bipush 48
iadd
i2c
istore 2
9: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 buf Ljava/lang/StringBuffer;
0 11 1 x B
1 11 2 c C
MethodParameters:
Name Flags
buf
x
private static java.lang.String getEncodedStringRep(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof byte[]
ifeq 12
3: aload 0
checkcast byte[]
astore 2
start local 2 4: new java.lang.StringBuffer
dup
aload 2
arraylength
iconst_3
imul
invokespecial java.lang.StringBuffer.<init>:(I)V
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: goto 10
7: StackMap locals: java.lang.Object top byte[] java.lang.StringBuffer int
StackMap stack:
aload 3
bipush 92
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
8: aload 3
aload 2
iload 4
baload
invokestatic com.sun.jndi.toolkit.dir.SearchFilter.hexDigit:(Ljava/lang/StringBuffer;B)V
9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 2
arraylength
if_icmplt 7
end local 4 11: aload 3
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 12: StackMap locals: java.lang.Object
StackMap stack:
aload 0
instanceof java.lang.String
ifne 15
13: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 1
start local 1 14: goto 16
end local 1 15: StackMap locals:
StackMap stack:
aload 0
checkcast java.lang.String
astore 1
start local 1 16: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 17: new java.lang.StringBuffer
dup
iload 2
invokespecial java.lang.StringBuffer.<init>:(I)V
astore 3
start local 3 18: iconst_0
istore 5
start local 5 19: goto 34
20: StackMap locals: java.lang.Object java.lang.String int java.lang.StringBuffer top int
StackMap stack:
aload 1
iload 5
invokevirtual java.lang.String.charAt:(I)C
dup
istore 4
start local 4 21: lookupswitch { // 5
0: 30
40: 24
41: 26
42: 22
92: 28
default: 32
}
22: StackMap locals: java.lang.Object java.lang.String int java.lang.StringBuffer int int
StackMap stack:
aload 3
ldc "\\2a"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
23: goto 33
24: StackMap locals:
StackMap stack:
aload 3
ldc "\\28"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
25: goto 33
26: StackMap locals:
StackMap stack:
aload 3
ldc "\\29"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
27: goto 33
28: StackMap locals:
StackMap stack:
aload 3
ldc "\\5c"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
29: goto 33
30: StackMap locals:
StackMap stack:
aload 3
ldc "\\00"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
31: goto 33
32: StackMap locals:
StackMap stack:
aload 3
iload 4
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
33: StackMap locals:
StackMap stack:
iinc 5 1
end local 4 StackMap locals: java.lang.Object java.lang.String int java.lang.StringBuffer top int
StackMap stack:
34: iload 5
iload 2
if_icmplt 20
end local 5 35: aload 3
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 obj Ljava/lang/Object;
14 15 1 str Ljava/lang/String;
16 36 1 str Ljava/lang/String;
4 12 2 bytes [B
5 12 3 b1 Ljava/lang/StringBuffer;
6 11 4 i I
17 36 2 len I
18 36 3 buf Ljava/lang/StringBuffer;
21 34 4 ch C
19 35 5 i I
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
obj
public static int findUnescaped(char, java.lang.String, int);
descriptor: (CLjava/lang/String;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.String.length:()I
istore 3
start local 3 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 1
iload 0
iload 2
invokevirtual java.lang.String.indexOf:(II)I
istore 4
start local 4 3: iload 4
iload 2
if_icmpeq 4
iload 4
iconst_m1
if_icmpeq 4
aload 1
iload 4
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 92
if_icmpeq 5
4: StackMap locals: int
StackMap stack:
iload 4
ireturn
5: StackMap locals:
StackMap stack:
iload 4
iconst_1
iadd
istore 2
end local 4 6: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmplt 2
7: iconst_m1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ch C
0 8 1 val Ljava/lang/String;
0 8 2 start I
1 8 3 len I
3 6 4 where I
MethodParameters:
Name Flags
ch
val
start
public static java.lang.String format(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: iconst_0
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: new java.lang.StringBuffer
dup
aload 0
invokevirtual java.lang.String.length:()I
invokespecial java.lang.StringBuffer.<init>:(I)V
astore 5
start local 5 3: goto 20
4: StackMap locals: java.lang.String java.lang.Object[] top int int java.lang.StringBuffer
StackMap stack:
iload 3
iconst_1
iadd
istore 6
start local 6 5: aload 0
bipush 125
iload 6
invokevirtual java.lang.String.indexOf:(II)I
istore 7
start local 7 6: iload 7
ifge 8
7: new javax.naming.directory.InvalidSearchFilterException
dup
new java.lang.StringBuilder
dup
ldc "unbalanced {: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: int int
StackMap stack:
aload 0
iload 6
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 2
start local 2 9: goto 14
end local 2 StackMap locals:
StackMap stack: java.lang.NumberFormatException
10: pop
11: new javax.naming.directory.InvalidSearchFilterException
dup
12: new java.lang.StringBuilder
dup
ldc "integer expected inside {}: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
athrow
start local 2 14: StackMap locals: java.lang.String java.lang.Object[] int int int java.lang.StringBuffer int int
StackMap stack:
iload 2
aload 1
arraylength
if_icmplt 18
15: new javax.naming.directory.InvalidSearchFilterException
dup
16: new java.lang.StringBuilder
dup
ldc "number exceeds argument list: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
aload 5
aload 0
iload 4
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
aload 1
iload 2
aaload
invokestatic com.sun.jndi.toolkit.dir.SearchFilter.getEncodedStringRep:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
19: iload 7
iconst_1
iadd
istore 4
end local 7 end local 6 end local 2 20: StackMap locals: java.lang.String java.lang.Object[] top int int java.lang.StringBuffer
StackMap stack:
bipush 123
aload 0
iload 4
invokestatic com.sun.jndi.toolkit.dir.SearchFilter.findUnescaped:(CLjava/lang/String;I)I
dup
istore 3
ifge 4
21: iload 4
aload 0
invokevirtual java.lang.String.length:()I
if_icmpge 23
22: aload 5
aload 0
iload 4
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
23: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 expr Ljava/lang/String;
0 24 1 args [Ljava/lang/Object;
9 10 2 param I
14 20 2 param I
1 24 3 where I
2 24 4 start I
3 24 5 answer Ljava/lang/StringBuffer;
5 20 6 pstart I
6 20 7 pend I
Exception table:
from to target type
8 9 10 Class java.lang.NumberFormatException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
expr
args
public static javax.naming.directory.Attributes selectAttributes(javax.naming.directory.Attributes, java.lang.String[]);
descriptor: (Ljavax/naming/directory/Attributes;[Ljava/lang/String;)Ljavax/naming/directory/Attributes;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new javax.naming.directory.BasicAttributes
dup
invokespecial javax.naming.directory.BasicAttributes.<init>:()V
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 9
5: StackMap locals: javax.naming.directory.Attributes int
StackMap stack:
aload 0
aload 1
iload 3
aaload
invokeinterface javax.naming.directory.Attributes.get:(Ljava/lang/String;)Ljavax/naming/directory/Attribute;
astore 4
start local 4 6: aload 4
ifnull 8
7: aload 2
aload 4
invokeinterface javax.naming.directory.Attributes.put:(Ljavax/naming/directory/Attribute;)Ljavax/naming/directory/Attribute;
pop
end local 4 8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 1
arraylength
if_icmplt 5
end local 3 10: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 originals Ljavax/naming/directory/Attributes;
0 11 1 attrIDs [Ljava/lang/String;
3 11 2 result Ljavax/naming/directory/Attributes;
4 10 3 i I
6 8 4 attr Ljavax/naming/directory/Attribute;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
originals
attrIDs
}
SourceFile: "SearchFilter.java"
NestMembers:
com.sun.jndi.toolkit.dir.SearchFilter$AtomicFilter com.sun.jndi.toolkit.dir.SearchFilter$CompoundFilter com.sun.jndi.toolkit.dir.SearchFilter$NotFilter com.sun.jndi.toolkit.dir.SearchFilter$StringFilter
InnerClasses:
final AtomicFilter = com.sun.jndi.toolkit.dir.SearchFilter$AtomicFilter of com.sun.jndi.toolkit.dir.SearchFilter
final CompoundFilter = com.sun.jndi.toolkit.dir.SearchFilter$CompoundFilter of com.sun.jndi.toolkit.dir.SearchFilter
final NotFilter = com.sun.jndi.toolkit.dir.SearchFilter$NotFilter of com.sun.jndi.toolkit.dir.SearchFilter
abstract StringFilter = com.sun.jndi.toolkit.dir.SearchFilter$StringFilter of com.sun.jndi.toolkit.dir.SearchFilter