public class com.jayway.jsonpath.internal.filter.FilterCompiler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.jayway.jsonpath.internal.filter.FilterCompiler
super_class: java.lang.Object
{
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final char DOC_CONTEXT;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 36
private static final char EVAL_CONTEXT;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final char OPEN_SQUARE_BRACKET;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 91
private static final char CLOSE_SQUARE_BRACKET;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 93
private static final char OPEN_PARENTHESIS;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 40
private static final char CLOSE_PARENTHESIS;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 41
private static final char OPEN_OBJECT;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 123
private static final char CLOSE_OBJECT;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 125
private static final char OPEN_ARRAY;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 91
private static final char CLOSE_ARRAY;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 93
private static final char SINGLE_QUOTE;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 39
private static final char DOUBLE_QUOTE;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 34
private static final char SPACE;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final char PERIOD;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 46
private static final char AND;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 38
private static final char OR;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 124
private static final char MINUS;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 45
private static final char LT;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 60
private static final char GT;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 62
private static final char EQ;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 61
private static final char TILDE;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 126
private static final char TRUE;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 116
private static final char FALSE;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 102
private static final char NULL;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 110
private static final char NOT;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 33
private static final char PATTERN;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 47
private static final char IGNORE_CASE;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 105
private com.jayway.jsonpath.internal.CharacterIndex filter;
descriptor: Lcom/jayway/jsonpath/internal/CharacterIndex;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.jayway.jsonpath.internal.filter.FilterCompiler.$assertionsDisabled:Z
3: ldc Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic com.jayway.jsonpath.internal.filter.FilterCompiler.logger:Lorg/slf4j/Logger;
4: return
LocalVariableTable:
Start End Slot Name Signature
public static com.jayway.jsonpath.Filter compile(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/jayway/jsonpath/Filter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new com.jayway.jsonpath.internal.filter.FilterCompiler
dup
aload 0
invokespecial com.jayway.jsonpath.internal.filter.FilterCompiler.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: new com.jayway.jsonpath.internal.filter.FilterCompiler$CompiledFilter
dup
aload 1
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.compile:()Lcom/jayway/jsonpath/Predicate;
invokespecial com.jayway.jsonpath.internal.filter.FilterCompiler$CompiledFilter.<init>:(Lcom/jayway/jsonpath/Predicate;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 filterString Ljava/lang/String;
1 2 1 compiler Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
MethodParameters:
Name Flags
filterString
private void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new com.jayway.jsonpath.internal.CharacterIndex
dup
aload 1
invokespecial com.jayway.jsonpath.internal.CharacterIndex.<init>:(Ljava/lang/CharSequence;)V
putfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
2: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.trim:()Lcom/jayway/jsonpath/internal/CharacterIndex;
pop
3: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 91
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifeq 4
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 93
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.lastCharIs:(C)Z
ifne 5
4: StackMap locals: com.jayway.jsonpath.internal.filter.FilterCompiler java.lang.String
StackMap stack:
new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "Filter must start with '[' and end with ']'. "
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;
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iconst_1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
6: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iconst_1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.decrementEndPosition:(I)I
pop
7: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.trim:()Lcom/jayway/jsonpath/internal/CharacterIndex;
pop
8: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 63
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifne 10
9: new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "Filter must start with '[?' and end with ']'. "
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;
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iconst_1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
11: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.trim:()Lcom/jayway/jsonpath/internal/CharacterIndex;
pop
12: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 40
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifeq 13
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 41
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.lastCharIs:(C)Z
ifne 14
13: StackMap locals:
StackMap stack:
new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "Filter must start with '[?(' and end with ')]'. "
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;
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
0 15 1 filterString Ljava/lang/String;
MethodParameters:
Name Flags
filterString
public com.jayway.jsonpath.Predicate compile();
descriptor: ()Lcom/jayway/jsonpath/Predicate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readLogicalOR:()Lcom/jayway/jsonpath/internal/filter/ExpressionNode;
astore 1
start local 1 1: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.skipBlanks:()Lcom/jayway/jsonpath/internal/CharacterIndex;
pop
2: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:()Z
ifeq 6
3: new com.jayway.jsonpath.InvalidPathException
dup
ldc "Expected end of filter expression instead of: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
4: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.length:()I
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
aastore
5: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: com.jayway.jsonpath.internal.filter.ExpressionNode
StackMap stack:
aload 1
7: areturn
end local 1 8: StackMap locals: com.jayway.jsonpath.internal.filter.FilterCompiler
StackMap stack: com.jayway.jsonpath.InvalidPathException
astore 1
start local 1 9: aload 1
athrow
end local 1 10: StackMap locals:
StackMap stack: java.lang.Exception
pop
11: new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "Failed to parse filter: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", error on position: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", char: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
1 8 1 result Lcom/jayway/jsonpath/internal/filter/ExpressionNode;
9 10 1 e Lcom/jayway/jsonpath/InvalidPathException;
Exception table:
from to target type
0 7 8 Class com.jayway.jsonpath.InvalidPathException
0 7 10 Class java.lang.Exception
private com.jayway.jsonpath.internal.filter.ValueNode readValueNode();
descriptor: ()Lcom/jayway/jsonpath/internal/filter/ValueNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.skipBlanks:()Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
lookupswitch { // 3
33: 3
36: 1
64: 2
default: 8
}
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readPath:()Lcom/jayway/jsonpath/internal/filter/ValueNode$PathNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readPath:()Lcom/jayway/jsonpath/internal/filter/ValueNode$PathNode;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iconst_1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
4: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.skipBlanks:()Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
lookupswitch { // 2
36: 5
64: 6
default: 7
}
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readPath:()Lcom/jayway/jsonpath/internal/filter/ValueNode$PathNode;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readPath:()Lcom/jayway/jsonpath/internal/filter/ValueNode$PathNode;
areturn
7: StackMap locals:
StackMap stack:
new com.jayway.jsonpath.InvalidPathException
dup
ldc "Unexpected character: %c"
iconst_1
anewarray java.lang.Object
dup
iconst_0
bipush 33
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readLiteral:()Lcom/jayway/jsonpath/internal/filter/ValueNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
private com.jayway.jsonpath.internal.filter.ValueNode readLiteral();
descriptor: ()Lcom/jayway/jsonpath/internal/filter/ValueNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.skipBlanks:()Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
lookupswitch { // 9
34: 2
39: 1
45: 5
47: 9
91: 8
102: 4
110: 6
116: 3
123: 7
default: 10
}
1: StackMap locals:
StackMap stack:
aload 0
bipush 39
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readStringLiteral:(C)Lcom/jayway/jsonpath/internal/filter/ValueNode$StringNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
bipush 34
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readStringLiteral:(C)Lcom/jayway/jsonpath/internal/filter/ValueNode$StringNode;
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readBooleanLiteral:()Lcom/jayway/jsonpath/internal/filter/ValueNode$BooleanNode;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readBooleanLiteral:()Lcom/jayway/jsonpath/internal/filter/ValueNode$BooleanNode;
areturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readNumberLiteral:()Lcom/jayway/jsonpath/internal/filter/ValueNode$NumberNode;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readNullLiteral:()Lcom/jayway/jsonpath/internal/filter/ValueNode$NullNode;
areturn
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readJsonLiteral:()Lcom/jayway/jsonpath/internal/filter/ValueNode$JsonNode;
areturn
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readJsonLiteral:()Lcom/jayway/jsonpath/internal/filter/ValueNode$JsonNode;
areturn
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readPattern:()Lcom/jayway/jsonpath/internal/filter/ValueNode$PatternNode;
areturn
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readNumberLiteral:()Lcom/jayway/jsonpath/internal/filter/ValueNode$NumberNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
private com.jayway.jsonpath.internal.filter.ExpressionNode readLogicalOR();
descriptor: ()Lcom/jayway/jsonpath/internal/filter/ExpressionNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readLogicalAND:()Lcom/jayway/jsonpath/internal/filter/ExpressionNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: StackMap locals: java.util.List
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
istore 2
start local 2 3: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
getstatic com.jayway.jsonpath.internal.filter.LogicalOperator.OR:Lcom/jayway/jsonpath/internal/filter/LogicalOperator;
invokevirtual com.jayway.jsonpath.internal.filter.LogicalOperator.getOperatorString:()Ljava/lang/String;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.readSignificantSubSequence:(Ljava/lang/CharSequence;)V
4: aload 1
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readLogicalAND:()Lcom/jayway/jsonpath/internal/filter/ExpressionNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: goto 2
6: StackMap locals: com.jayway.jsonpath.internal.filter.FilterCompiler java.util.List int
StackMap stack: com.jayway.jsonpath.InvalidPathException
pop
7: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
end local 2 8: iconst_1
aload 1
invokeinterface java.util.List.size:()I
if_icmpne 9
aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.jayway.jsonpath.internal.filter.ExpressionNode
goto 10
StackMap locals:
StackMap stack:
9: aload 1
invokestatic com.jayway.jsonpath.internal.filter.LogicalExpressionNode.createLogicalOr:(Ljava/util/Collection;)Lcom/jayway/jsonpath/internal/filter/LogicalExpressionNode;
StackMap locals:
StackMap stack: com.jayway.jsonpath.internal.filter.ExpressionNode
10: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
1 11 1 ops Ljava/util/List<Lcom/jayway/jsonpath/internal/filter/ExpressionNode;>;
3 8 2 savepoint I
Exception table:
from to target type
3 5 6 Class com.jayway.jsonpath.InvalidPathException
private com.jayway.jsonpath.internal.filter.ExpressionNode readLogicalAND();
descriptor: ()Lcom/jayway/jsonpath/internal/filter/ExpressionNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readLogicalANDOperand:()Lcom/jayway/jsonpath/internal/filter/ExpressionNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: StackMap locals: java.util.List
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
istore 2
start local 2 3: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
getstatic com.jayway.jsonpath.internal.filter.LogicalOperator.AND:Lcom/jayway/jsonpath/internal/filter/LogicalOperator;
invokevirtual com.jayway.jsonpath.internal.filter.LogicalOperator.getOperatorString:()Ljava/lang/String;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.readSignificantSubSequence:(Ljava/lang/CharSequence;)V
4: aload 1
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readLogicalANDOperand:()Lcom/jayway/jsonpath/internal/filter/ExpressionNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: goto 2
6: StackMap locals: com.jayway.jsonpath.internal.filter.FilterCompiler java.util.List int
StackMap stack: com.jayway.jsonpath.InvalidPathException
pop
7: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
end local 2 8: iconst_1
aload 1
invokeinterface java.util.List.size:()I
if_icmpne 9
aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.jayway.jsonpath.internal.filter.ExpressionNode
goto 10
StackMap locals:
StackMap stack:
9: aload 1
invokestatic com.jayway.jsonpath.internal.filter.LogicalExpressionNode.createLogicalAnd:(Ljava/util/Collection;)Lcom/jayway/jsonpath/internal/filter/LogicalExpressionNode;
StackMap locals:
StackMap stack: com.jayway.jsonpath.internal.filter.ExpressionNode
10: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
1 11 1 ops Ljava/util/List<Lcom/jayway/jsonpath/internal/filter/ExpressionNode;>;
3 8 2 savepoint I
Exception table:
from to target type
3 5 6 Class com.jayway.jsonpath.InvalidPathException
private com.jayway.jsonpath.internal.filter.ExpressionNode readLogicalANDOperand();
descriptor: ()Lcom/jayway/jsonpath/internal/filter/ExpressionNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.skipBlanks:()Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
istore 1
start local 1 1: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.skipBlanks:()Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 33
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifeq 8
2: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 33
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.readSignificantChar:(C)V
3: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.skipBlanks:()Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
lookupswitch { // 2
36: 4
64: 4
default: 6
}
4: StackMap locals: int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
5: goto 8
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readLogicalANDOperand:()Lcom/jayway/jsonpath/internal/filter/ExpressionNode;
astore 2
start local 2 7: aload 2
invokestatic com.jayway.jsonpath.internal.filter.LogicalExpressionNode.createLogicalNot:(Lcom/jayway/jsonpath/internal/filter/ExpressionNode;)Lcom/jayway/jsonpath/internal/filter/ExpressionNode;
areturn
end local 2 8: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.skipBlanks:()Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 40
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifeq 13
9: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 40
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.readSignificantChar:(C)V
10: aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readLogicalOR:()Lcom/jayway/jsonpath/internal/filter/ExpressionNode;
astore 2
start local 2 11: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 41
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.readSignificantChar:(C)V
12: aload 2
areturn
end local 2 13: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readExpression:()Lcom/jayway/jsonpath/internal/filter/RelationalExpressionNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
1 14 1 savepoint I
7 8 2 op Lcom/jayway/jsonpath/internal/filter/ExpressionNode;
11 13 2 op Lcom/jayway/jsonpath/internal/filter/ExpressionNode;
private com.jayway.jsonpath.internal.filter.RelationalExpressionNode readExpression();
descriptor: ()Lcom/jayway/jsonpath/internal/filter/RelationalExpressionNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readValueNode:()Lcom/jayway/jsonpath/internal/filter/ValueNode;
astore 1
start local 1 1: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
istore 2
start local 2 2: aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readRelationalOperator:()Lcom/jayway/jsonpath/internal/filter/RelationalOperator;
astore 3
start local 3 3: aload 0
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.readValueNode:()Lcom/jayway/jsonpath/internal/filter/ValueNode;
astore 4
start local 4 4: new com.jayway.jsonpath.internal.filter.RelationalExpressionNode
dup
aload 1
aload 3
aload 4
invokespecial com.jayway.jsonpath.internal.filter.RelationalExpressionNode.<init>:(Lcom/jayway/jsonpath/internal/filter/ValueNode;Lcom/jayway/jsonpath/internal/filter/RelationalOperator;Lcom/jayway/jsonpath/internal/filter/ValueNode;)V
5: areturn
end local 4 end local 3 6: StackMap locals: com.jayway.jsonpath.internal.filter.FilterCompiler com.jayway.jsonpath.internal.filter.ValueNode int
StackMap stack: com.jayway.jsonpath.InvalidPathException
pop
7: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
8: aload 1
invokevirtual com.jayway.jsonpath.internal.filter.ValueNode.asPathNode:()Lcom/jayway/jsonpath/internal/filter/ValueNode$PathNode;
astore 3
start local 3 9: aload 3
aload 3
invokevirtual com.jayway.jsonpath.internal.filter.ValueNode$PathNode.shouldExists:()Z
invokevirtual com.jayway.jsonpath.internal.filter.ValueNode$PathNode.asExistsCheck:(Z)Lcom/jayway/jsonpath/internal/filter/ValueNode$PathNode;
astore 1
10: getstatic com.jayway.jsonpath.internal.filter.RelationalOperator.EXISTS:Lcom/jayway/jsonpath/internal/filter/RelationalOperator;
astore 4
start local 4 11: aload 1
invokevirtual com.jayway.jsonpath.internal.filter.ValueNode.asPathNode:()Lcom/jayway/jsonpath/internal/filter/ValueNode$PathNode;
invokevirtual com.jayway.jsonpath.internal.filter.ValueNode$PathNode.shouldExists:()Z
ifeq 12
getstatic com.jayway.jsonpath.internal.filter.ValueNode.TRUE:Lcom/jayway/jsonpath/internal/filter/ValueNode$BooleanNode;
goto 13
StackMap locals: com.jayway.jsonpath.internal.filter.ValueNode$PathNode com.jayway.jsonpath.internal.filter.RelationalOperator
StackMap stack:
12: getstatic com.jayway.jsonpath.internal.filter.ValueNode.FALSE:Lcom/jayway/jsonpath/internal/filter/ValueNode$BooleanNode;
StackMap locals:
StackMap stack: com.jayway.jsonpath.internal.filter.ValueNode$BooleanNode
13: astore 5
start local 5 14: new com.jayway.jsonpath.internal.filter.RelationalExpressionNode
dup
aload 1
aload 4
aload 5
invokespecial com.jayway.jsonpath.internal.filter.RelationalExpressionNode.<init>:(Lcom/jayway/jsonpath/internal/filter/ValueNode;Lcom/jayway/jsonpath/internal/filter/RelationalOperator;Lcom/jayway/jsonpath/internal/filter/ValueNode;)V
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 15 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
1 15 1 left Lcom/jayway/jsonpath/internal/filter/ValueNode;
2 15 2 savepoint I
3 6 3 operator Lcom/jayway/jsonpath/internal/filter/RelationalOperator;
4 6 4 right Lcom/jayway/jsonpath/internal/filter/ValueNode;
9 15 3 pathNode Lcom/jayway/jsonpath/internal/filter/ValueNode$PathNode;
11 15 4 operator Lcom/jayway/jsonpath/internal/filter/RelationalOperator;
14 15 5 right Lcom/jayway/jsonpath/internal/filter/ValueNode;
Exception table:
from to target type
2 5 6 Class com.jayway.jsonpath.InvalidPathException
private com.jayway.jsonpath.internal.filter.LogicalOperator readLogicalOperator();
descriptor: ()Lcom/jayway/jsonpath/internal/filter/LogicalOperator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.skipBlanks:()Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
istore 1
start local 1 1: iload 1
iconst_1
iadd
istore 2
start local 2 2: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
ifne 4
3: new com.jayway.jsonpath.InvalidPathException
dup
ldc "Expected boolean literal"
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: int int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 1
iload 2
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
astore 3
start local 3 5: aload 3
ldc "||"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 7
aload 3
ldc "&&"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 7
6: new com.jayway.jsonpath.InvalidPathException
dup
ldc "Expected logical operator"
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.lang.CharSequence
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
aload 3
invokeinterface java.lang.CharSequence.length:()I
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
8: getstatic com.jayway.jsonpath.internal.filter.FilterCompiler.logger:Lorg/slf4j/Logger;
ldc "LogicalOperator from {} to {} -> [{}]"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 3
aastore
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
9: aload 3
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokestatic com.jayway.jsonpath.internal.filter.LogicalOperator.fromString:(Ljava/lang/String;)Lcom/jayway/jsonpath/internal/filter/LogicalOperator;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
1 10 1 begin I
2 10 2 end I
5 10 3 logicalOperator Ljava/lang/CharSequence;
private com.jayway.jsonpath.internal.filter.RelationalOperator readRelationalOperator();
descriptor: ()Lcom/jayway/jsonpath/internal/filter/RelationalOperator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=1
start local 0 0: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.skipBlanks:()Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
istore 1
start local 1 1: aload 0
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.isRelationalOperatorChar:(C)Z
ifeq 7
2: goto 4
3: StackMap locals: int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iconst_1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
4: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:()Z
ifeq 8
aload 0
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.isRelationalOperatorChar:(C)Z
ifne 3
5: goto 8
6: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iconst_1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
7: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:()Z
ifeq 8
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
bipush 32
if_icmpne 6
8: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 1
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
astore 2
start local 2 9: getstatic com.jayway.jsonpath.internal.filter.FilterCompiler.logger:Lorg/slf4j/Logger;
ldc "Operator from {} to {} -> [{}]"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
iconst_1
isub
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
aastore
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
10: aload 2
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokestatic com.jayway.jsonpath.internal.filter.RelationalOperator.fromString:(Ljava/lang/String;)Lcom/jayway/jsonpath/internal/filter/RelationalOperator;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
1 11 1 begin I
9 11 2 operator Ljava/lang/CharSequence;
private com.jayway.jsonpath.internal.filter.ValueNode$NullNode readNullLiteral();
descriptor: ()Lcom/jayway/jsonpath/internal/filter/ValueNode$NullNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=1
start local 0 0: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
istore 1
start local 1 1: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
bipush 110
if_icmpne 7
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
iconst_3
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
ifeq 7
2: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
iconst_4
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
astore 2
start local 2 3: ldc "null"
aload 2
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
4: getstatic com.jayway.jsonpath.internal.filter.FilterCompiler.logger:Lorg/slf4j/Logger;
ldc "NullLiteral from {} to {} -> [{}]"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
iconst_3
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
aastore
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
aload 2
invokeinterface java.lang.CharSequence.length:()I
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
6: invokestatic com.jayway.jsonpath.internal.filter.ValueNode.createNullNode:()Lcom/jayway/jsonpath/internal/filter/ValueNode$NullNode;
areturn
end local 2 7: StackMap locals: int
StackMap stack:
new com.jayway.jsonpath.InvalidPathException
dup
ldc "Expected <null> value"
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
1 8 1 begin I
3 7 2 nullValue Ljava/lang/CharSequence;
private com.jayway.jsonpath.internal.filter.ValueNode$JsonNode readJsonLiteral();
descriptor: ()Lcom/jayway/jsonpath/internal/filter/ValueNode$JsonNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
istore 1
start local 1 1: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
istore 2
start local 2 2: getstatic com.jayway.jsonpath.internal.filter.FilterCompiler.$assertionsDisabled:Z
ifne 3
iload 2
bipush 91
if_icmpeq 3
iload 2
bipush 123
if_icmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: int int
StackMap stack:
iload 2
bipush 91
if_icmpne 4
bipush 93
goto 5
StackMap locals:
StackMap stack:
4: bipush 125
StackMap locals:
StackMap stack: int
5: istore 3
start local 3 6: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
iload 2
iload 3
iconst_1
iconst_0
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.indexOfMatchingCloseChar:(ICCZZ)I
istore 4
start local 4 7: iload 4
iconst_m1
if_icmpne 9
8: new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "String not closed. Expected ' in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: int int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 4
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
10: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 1
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
astore 5
start local 5 11: getstatic com.jayway.jsonpath.internal.filter.FilterCompiler.logger:Lorg/slf4j/Logger;
ldc "JsonLiteral from {} to {} -> [{}]"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 5
aastore
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
12: aload 5
invokestatic com.jayway.jsonpath.internal.filter.ValueNode.createJsonNode:(Ljava/lang/CharSequence;)Lcom/jayway/jsonpath/internal/filter/ValueNode$JsonNode;
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 13 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
1 13 1 begin I
2 13 2 openChar C
6 13 3 closeChar C
7 13 4 closingIndex I
11 13 5 json Ljava/lang/CharSequence;
private com.jayway.jsonpath.internal.filter.ValueNode$PatternNode readPattern();
descriptor: ()Lcom/jayway/jsonpath/internal/filter/ValueNode$PatternNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
istore 1
start local 1 1: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 47
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextIndexOfUnescaped:(C)I
istore 2
start local 2 2: iload 2
iconst_m1
if_icmpne 4
3: new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "Pattern not closed. Expected / in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: int int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
ifeq 6
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
bipush 105
if_icmpne 6
5: iinc 2 1
6: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
7: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 1
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
astore 3
start local 3 8: getstatic com.jayway.jsonpath.internal.filter.FilterCompiler.logger:Lorg/slf4j/Logger;
ldc "PatternNode from {} to {} -> [{}]"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 3
aastore
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
9: aload 3
invokestatic com.jayway.jsonpath.internal.filter.ValueNode.createPatternNode:(Ljava/lang/CharSequence;)Lcom/jayway/jsonpath/internal/filter/ValueNode$PatternNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
1 10 1 begin I
2 10 2 closingIndex I
8 10 3 pattern Ljava/lang/CharSequence;
private com.jayway.jsonpath.internal.filter.ValueNode$StringNode readStringLiteral(char);
descriptor: (C)Lcom/jayway/jsonpath/internal/filter/ValueNode$StringNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
istore 2
start local 2 1: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextIndexOfUnescaped:(C)I
istore 3
start local 3 2: iload 3
iconst_m1
if_icmpne 4
3: new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "String literal does not have matching quotes. Expected "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: int int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 3
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
5: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
astore 4
start local 4 6: getstatic com.jayway.jsonpath.internal.filter.FilterCompiler.logger:Lorg/slf4j/Logger;
ldc "StringLiteral from {} to {} -> [{}]"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 4
aastore
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
7: aload 4
iconst_1
invokestatic com.jayway.jsonpath.internal.filter.ValueNode.createStringNode:(Ljava/lang/CharSequence;Z)Lcom/jayway/jsonpath/internal/filter/ValueNode$StringNode;
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 Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
0 8 1 endChar C
1 8 2 begin I
2 8 3 closingSingleQuoteIndex I
6 8 4 stringLiteral Ljava/lang/CharSequence;
MethodParameters:
Name Flags
endChar
private com.jayway.jsonpath.internal.filter.ValueNode$NumberNode readNumberLiteral();
descriptor: ()Lcom/jayway/jsonpath/internal/filter/ValueNode$NumberNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
istore 1
start local 1 1: goto 3
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iconst_1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
3: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:()Z
ifeq 4
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.isNumberCharacter:(I)Z
ifne 2
4: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 1
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
astore 2
start local 2 5: getstatic com.jayway.jsonpath.internal.filter.FilterCompiler.logger:Lorg/slf4j/Logger;
ldc "NumberLiteral from {} to {} -> [{}]"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
aastore
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
6: aload 2
invokestatic com.jayway.jsonpath.internal.filter.ValueNode.createNumberNode:(Ljava/lang/CharSequence;)Lcom/jayway/jsonpath/internal/filter/ValueNode$NumberNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
1 7 1 begin I
5 7 2 numberLiteral Ljava/lang/CharSequence;
private com.jayway.jsonpath.internal.filter.ValueNode$BooleanNode readBooleanLiteral();
descriptor: ()Lcom/jayway/jsonpath/internal/filter/ValueNode$BooleanNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
istore 1
start local 1 1: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
bipush 116
if_icmpne 2
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
iconst_3
iadd
goto 3
StackMap locals: int
StackMap stack:
2: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
iconst_4
iadd
StackMap locals:
StackMap stack: int
3: istore 2
start local 2 4: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
ifne 6
5: new com.jayway.jsonpath.InvalidPathException
dup
ldc "Expected boolean literal"
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 1
iload 2
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
astore 3
start local 3 7: aload 3
ldc "true"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 9
aload 3
ldc "false"
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 9
8: new com.jayway.jsonpath.InvalidPathException
dup
ldc "Expected boolean literal"
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.lang.CharSequence
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
aload 3
invokeinterface java.lang.CharSequence.length:()I
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
10: getstatic com.jayway.jsonpath.internal.filter.FilterCompiler.logger:Lorg/slf4j/Logger;
ldc "BooleanLiteral from {} to {} -> [{}]"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 3
aastore
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
11: aload 3
invokestatic com.jayway.jsonpath.internal.filter.ValueNode.createBooleanNode:(Ljava/lang/CharSequence;)Lcom/jayway/jsonpath/internal/filter/ValueNode$BooleanNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
1 12 1 begin I
4 12 2 end I
7 12 3 boolValue Ljava/lang/CharSequence;
private com.jayway.jsonpath.internal.filter.ValueNode$PathNode readPath();
descriptor: ()Lcom/jayway/jsonpath/internal/filter/ValueNode$PathNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.previousSignificantChar:()C
istore 1
start local 1 1: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
istore 2
start local 2 2: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iconst_1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
3: goto 18
4: StackMap locals: int int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
bipush 91
if_icmpne 9
5: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
bipush 91
bipush 93
iconst_1
iconst_0
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.indexOfMatchingCloseChar:(ICCZZ)I
istore 3
start local 3 6: iload 3
iconst_m1
if_icmpne 8
7: new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "Square brackets does not match in filter "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 3
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
end local 3 9: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
bipush 41
if_icmpne 10
aload 0
iload 2
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.currentCharIsClosingFunctionBracket:(I)Z
ifeq 10
iconst_1
goto 11
StackMap locals:
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 3
start local 3 12: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
bipush 41
if_icmpne 13
iload 3
ifne 13
iconst_1
goto 14
StackMap locals: int
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: istore 4
start local 4 15: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:()Z
ifeq 19
aload 0
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.isRelationalOperatorChar:(C)Z
ifne 19
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
bipush 32
if_icmpeq 19
iload 4
ifeq 17
16: goto 19
17: StackMap locals: int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iconst_1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
end local 4 end local 3 18: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:()Z
ifne 4
19: StackMap locals:
StackMap stack:
iload 1
bipush 33
if_icmpne 20
iconst_0
goto 21
StackMap locals:
StackMap stack:
20: iconst_1
StackMap locals:
StackMap stack: int
21: istore 3
start local 3 22: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
astore 4
start local 4 23: aload 4
iconst_0
iload 3
invokestatic com.jayway.jsonpath.internal.filter.ValueNode.createPathNode:(Ljava/lang/CharSequence;ZZ)Lcom/jayway/jsonpath/internal/filter/ValueNode$PathNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
1 24 1 previousSignificantChar C
2 24 2 begin I
6 9 3 closingSquareBracketIndex I
12 18 3 closingFunctionBracket Z
15 18 4 closingLogicalBracket Z
22 24 3 shouldExists Z
23 24 4 path Ljava/lang/CharSequence;
private boolean expressionIsTerminated();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
istore 1
start local 1 1: iload 1
bipush 41
if_icmpeq 2
aload 0
iload 1
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.isLogicalOperatorChar:(C)Z
ifeq 3
2: StackMap locals: int
StackMap stack:
iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextSignificantChar:()C
istore 1
4: iload 1
bipush 41
if_icmpeq 5
aload 0
iload 1
invokevirtual com.jayway.jsonpath.internal.filter.FilterCompiler.isLogicalOperatorChar:(C)Z
ifeq 6
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
1 7 1 c C
private boolean currentCharIsClosingFunctionBracket(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
bipush 41
if_icmpeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.indexOfPreviousSignificantChar:()I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpeq 4
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
bipush 40
if_icmpeq 5
4: StackMap locals: int
StackMap stack:
iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iinc 2 -1
6: goto 10
7: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
bipush 46
if_icmpne 9
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack:
iinc 2 -1
10: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.FilterCompiler.filter:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
ifeq 11
iload 2
iload 1
if_icmpgt 7
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
0 12 1 lowerBound I
3 12 2 idx I
MethodParameters:
Name Flags
lowerBound
private boolean isLogicalOperatorChar(char);
descriptor: (C)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 38
if_icmpeq 1
iload 1
bipush 124
if_icmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
0 2 1 c C
MethodParameters:
Name Flags
c
private boolean isRelationalOperatorChar(char);
descriptor: (C)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 60
if_icmpeq 1
iload 1
bipush 62
if_icmpeq 1
iload 1
bipush 61
if_icmpeq 1
iload 1
bipush 126
if_icmpeq 1
iload 1
bipush 33
if_icmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/jayway/jsonpath/internal/filter/FilterCompiler;
0 2 1 c C
MethodParameters:
Name Flags
c
}
SourceFile: "FilterCompiler.java"
NestMembers:
com.jayway.jsonpath.internal.filter.FilterCompiler$CompiledFilter
InnerClasses:
private final CompiledFilter = com.jayway.jsonpath.internal.filter.FilterCompiler$CompiledFilter of com.jayway.jsonpath.internal.filter.FilterCompiler
public BooleanNode = com.jayway.jsonpath.internal.filter.ValueNode$BooleanNode of com.jayway.jsonpath.internal.filter.ValueNode
public JsonNode = com.jayway.jsonpath.internal.filter.ValueNode$JsonNode of com.jayway.jsonpath.internal.filter.ValueNode
public NullNode = com.jayway.jsonpath.internal.filter.ValueNode$NullNode of com.jayway.jsonpath.internal.filter.ValueNode
public NumberNode = com.jayway.jsonpath.internal.filter.ValueNode$NumberNode of com.jayway.jsonpath.internal.filter.ValueNode
public PathNode = com.jayway.jsonpath.internal.filter.ValueNode$PathNode of com.jayway.jsonpath.internal.filter.ValueNode
public PatternNode = com.jayway.jsonpath.internal.filter.ValueNode$PatternNode of com.jayway.jsonpath.internal.filter.ValueNode
public StringNode = com.jayway.jsonpath.internal.filter.ValueNode$StringNode of com.jayway.jsonpath.internal.filter.ValueNode