public class com.jayway.jsonpath.internal.path.PathCompiler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.jayway.jsonpath.internal.path.PathCompiler
super_class: java.lang.Object
{
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_BRACE;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 123
private static final char CLOSE_BRACE;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 125
private static final char WILDCARD;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 42
private static final char PERIOD;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 46
private static final char SPACE;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final char TAB;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private static final char CR;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 13
private static final char LF;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final char BEGIN_FILTER;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 63
private static final char COMMA;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 44
private static final char SPLIT;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 58
private static final char MINUS;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 45
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 final java.util.LinkedList<com.jayway.jsonpath.Predicate> filterStack;
descriptor: Ljava/util/LinkedList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/LinkedList<Lcom/jayway/jsonpath/Predicate;>;
private final com.jayway.jsonpath.internal.CharacterIndex path;
descriptor: Lcom/jayway/jsonpath/internal/CharacterIndex;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$com$jayway$jsonpath$internal$function$ParamType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private void <init>(java.lang.String, java.util.LinkedList<com.jayway.jsonpath.Predicate>);
descriptor: (Ljava/lang/String;Ljava/util/LinkedList;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new com.jayway.jsonpath.internal.CharacterIndex
dup
aload 1
invokespecial com.jayway.jsonpath.internal.CharacterIndex.<init>:(Ljava/lang/CharSequence;)V
aload 2
invokespecial com.jayway.jsonpath.internal.path.PathCompiler.<init>:(Lcom/jayway/jsonpath/internal/CharacterIndex;Ljava/util/LinkedList;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/jayway/jsonpath/internal/path/PathCompiler;
0 2 1 path Ljava/lang/String;
0 2 2 filterStack Ljava/util/LinkedList<Lcom/jayway/jsonpath/Predicate;>;
Signature: (Ljava/lang/String;Ljava/util/LinkedList<Lcom/jayway/jsonpath/Predicate;>;)V
MethodParameters:
Name Flags
path
filterStack
private void <init>(com.jayway.jsonpath.internal.CharacterIndex, java.util.LinkedList<com.jayway.jsonpath.Predicate>);
descriptor: (Lcom/jayway/jsonpath/internal/CharacterIndex;Ljava/util/LinkedList;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield com.jayway.jsonpath.internal.path.PathCompiler.filterStack:Ljava/util/LinkedList;
2: aload 0
aload 1
putfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/jayway/jsonpath/internal/path/PathCompiler;
0 4 1 path Lcom/jayway/jsonpath/internal/CharacterIndex;
0 4 2 filterStack Ljava/util/LinkedList<Lcom/jayway/jsonpath/Predicate;>;
Signature: (Lcom/jayway/jsonpath/internal/CharacterIndex;Ljava/util/LinkedList<Lcom/jayway/jsonpath/Predicate;>;)V
MethodParameters:
Name Flags
path
filterStack
private com.jayway.jsonpath.internal.Path compile();
descriptor: ()Lcom/jayway/jsonpath/internal/Path;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readContextToken:()Lcom/jayway/jsonpath/internal/path/RootPathToken;
astore 1
start local 1 1: new com.jayway.jsonpath.internal.path.CompiledPath
dup
aload 1
aload 1
invokevirtual com.jayway.jsonpath.internal.path.RootPathToken.getPathFragment:()Ljava/lang/String;
ldc "$"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
invokespecial com.jayway.jsonpath.internal.path.CompiledPath.<init>:(Lcom/jayway/jsonpath/internal/path/RootPathToken;Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/jayway/jsonpath/internal/path/PathCompiler;
1 2 1 root Lcom/jayway/jsonpath/internal/path/RootPathToken;
public static com.jayway.jsonpath.internal.Path compile(java.lang.String, com.jayway.jsonpath.Predicate[]);
descriptor: (Ljava/lang/String;[Lcom/jayway/jsonpath/Predicate;)Lcom/jayway/jsonpath/internal/Path;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: new com.jayway.jsonpath.internal.CharacterIndex
dup
aload 0
invokespecial com.jayway.jsonpath.internal.CharacterIndex.<init>:(Ljava/lang/CharSequence;)V
astore 2
start local 2 1: aload 2
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.trim:()Lcom/jayway/jsonpath/internal/CharacterIndex;
pop
2: aload 2
iconst_0
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
bipush 36
if_icmpeq 5
aload 2
iconst_0
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
bipush 64
if_icmpeq 5
3: new com.jayway.jsonpath.internal.CharacterIndex
dup
new java.lang.StringBuilder
dup
ldc "$."
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 com.jayway.jsonpath.internal.CharacterIndex.<init>:(Ljava/lang/CharSequence;)V
astore 2
4: aload 2
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.trim:()Lcom/jayway/jsonpath/internal/CharacterIndex;
pop
5: StackMap locals: com.jayway.jsonpath.internal.CharacterIndex
StackMap stack:
aload 2
bipush 46
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.lastCharIs:(C)Z
ifeq 7
6: ldc "Path must not end with a '.' or '..'"
invokestatic com.jayway.jsonpath.internal.path.PathCompiler.fail:(Ljava/lang/String;)Z
pop
7: StackMap locals:
StackMap stack:
new java.util.LinkedList
dup
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.LinkedList.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 8: new com.jayway.jsonpath.internal.path.PathCompiler
dup
aload 2
aload 3
invokespecial com.jayway.jsonpath.internal.path.PathCompiler.<init>:(Lcom/jayway/jsonpath/internal/CharacterIndex;Ljava/util/LinkedList;)V
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.compile:()Lcom/jayway/jsonpath/internal/Path;
astore 4
start local 4 9: aload 4
10: areturn
end local 4 end local 3 end local 2 11: StackMap locals: java.lang.String com.jayway.jsonpath.Predicate[]
StackMap stack: java.lang.Exception
astore 2
start local 2 12: aload 2
instanceof com.jayway.jsonpath.InvalidPathException
ifeq 15
13: aload 2
checkcast com.jayway.jsonpath.InvalidPathException
astore 3
start local 3 14: goto 16
end local 3 15: StackMap locals: java.lang.Exception
StackMap stack:
new com.jayway.jsonpath.InvalidPathException
dup
aload 2
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/Throwable;)V
astore 3
start local 3 16: StackMap locals: com.jayway.jsonpath.InvalidPathException
StackMap stack:
aload 3
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 path Ljava/lang/String;
0 17 1 filters [Lcom/jayway/jsonpath/Predicate;
1 11 2 ci Lcom/jayway/jsonpath/internal/CharacterIndex;
8 11 3 filterStack Ljava/util/LinkedList<Lcom/jayway/jsonpath/Predicate;>;
9 11 4 p Lcom/jayway/jsonpath/internal/Path;
12 17 2 e Ljava/lang/Exception;
14 15 3 ipe Lcom/jayway/jsonpath/InvalidPathException;
16 17 3 ipe Lcom/jayway/jsonpath/InvalidPathException;
Exception table:
from to target type
0 10 11 Class java.lang.Exception
MethodParameters:
Name Flags
path
filters final
private void readWhitespace();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: goto 5
1: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
istore 1
start local 1 2: aload 0
iload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.isWhitespace:(C)Z
ifne 4
3: goto 6
4: StackMap locals: int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iconst_1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
end local 1 5: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:()Z
ifne 1
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/jayway/jsonpath/internal/path/PathCompiler;
2 5 1 c C
private java.lang.Boolean isPathContext(char);
descriptor: (C)Ljava/lang/Boolean;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 36
if_icmpeq 1
iload 1
bipush 64
if_icmpeq 1
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
1: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/jayway/jsonpath/internal/path/PathCompiler;
0 2 1 c C
MethodParameters:
Name Flags
c
private com.jayway.jsonpath.internal.path.RootPathToken readContextToken();
descriptor: ()Lcom/jayway/jsonpath/internal/path/RootPathToken;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readWhitespace:()V
1: aload 0
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.isPathContext:(C)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 3
2: new com.jayway.jsonpath.InvalidPathException
dup
ldc "Path must start with '$' or '@'"
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
invokestatic com.jayway.jsonpath.internal.path.PathTokenFactory.createRootPathToken:(C)Lcom/jayway/jsonpath/internal/path/RootPathToken;
astore 1
start local 1 4: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentIsTail:()Z
ifeq 6
5: aload 1
areturn
6: StackMap locals: com.jayway.jsonpath.internal.path.RootPathToken
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iconst_1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
7: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
bipush 46
if_icmpeq 9
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
bipush 91
if_icmpeq 9
8: new java.lang.StringBuilder
dup
ldc "Illegal character at position "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " expected '.' or '["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.jayway.jsonpath.internal.path.PathCompiler.fail:(Ljava/lang/String;)Z
pop
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.jayway.jsonpath.internal.path.RootPathToken.getPathTokenAppender:()Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
astore 2
start local 2 10: aload 0
aload 2
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readNextToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
pop
11: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/jayway/jsonpath/internal/path/PathCompiler;
4 12 1 pathToken Lcom/jayway/jsonpath/internal/path/RootPathToken;
10 12 2 appender Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
private boolean readNextToken(com.jayway.jsonpath.internal.path.PathTokenAppender);
descriptor: (Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
istore 2
start local 2 1: iload 2
lookupswitch { // 3
42: 14
46: 10
91: 2
default: 18
}
2: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readBracketPropertyToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
ifne 9
3: aload 0
aload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readArrayToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
ifne 9
4: aload 0
aload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readWildCardToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
ifne 9
5: aload 0
aload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readFilterToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
ifne 9
6: aload 0
aload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readPlaceholderToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
ifne 9
7: new java.lang.StringBuilder
dup
ldc "Could not parse token starting at position "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". Expected ?, ', 0-9, * "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.jayway.jsonpath.internal.path.PathCompiler.fail:(Ljava/lang/String;)Z
ifne 9
8: iconst_0
ireturn
StackMap locals:
StackMap stack:
9: iconst_1
ireturn
10: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readDotToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
ifne 13
11: new java.lang.StringBuilder
dup
ldc "Could not parse token starting at position "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.jayway.jsonpath.internal.path.PathCompiler.fail:(Ljava/lang/String;)Z
ifne 13
12: iconst_0
ireturn
StackMap locals:
StackMap stack:
13: iconst_1
ireturn
14: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readWildCardToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
ifne 17
15: new java.lang.StringBuilder
dup
ldc "Could not parse token starting at position "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.jayway.jsonpath.internal.path.PathCompiler.fail:(Ljava/lang/String;)Z
ifne 17
16: iconst_0
ireturn
StackMap locals:
StackMap stack:
17: iconst_1
ireturn
18: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readPropertyOrFunctionToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
ifne 21
19: new java.lang.StringBuilder
dup
ldc "Could not parse token starting at position "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.jayway.jsonpath.internal.path.PathCompiler.fail:(Ljava/lang/String;)Z
ifne 21
20: iconst_0
ireturn
StackMap locals:
StackMap stack:
21: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/jayway/jsonpath/internal/path/PathCompiler;
0 22 1 appender Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
1 22 2 c C
MethodParameters:
Name Flags
appender
private boolean readDotToken(com.jayway.jsonpath.internal.path.PathTokenAppender);
descriptor: (Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 46
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifeq 4
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 46
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextCharIs:(C)Z
ifeq 4
1: aload 1
invokestatic com.jayway.jsonpath.internal.path.PathTokenFactory.crateScanToken:()Lcom/jayway/jsonpath/internal/path/PathToken;
invokeinterface com.jayway.jsonpath.internal.path.PathTokenAppender.appendPathToken:(Lcom/jayway/jsonpath/internal/path/PathToken;)Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
pop
2: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iconst_2
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
3: goto 7
StackMap locals:
StackMap stack:
4: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.hasMoreCharacters:()Z
ifne 6
5: new com.jayway.jsonpath.InvalidPathException
dup
ldc "Path must not end with a '."
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path: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.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 46
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifeq 9
8: new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "Character '.' on position "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " is not valid."
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
9: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readNextToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/jayway/jsonpath/internal/path/PathCompiler;
0 10 1 appender Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
MethodParameters:
Name Flags
appender
private boolean readPropertyOrFunctionToken(com.jayway.jsonpath.internal.path.PathTokenAppender);
descriptor: (Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 91
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifne 1
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 42
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifne 1
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 46
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifne 1
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 32
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifeq 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
istore 2
start local 2 3: iload 2
istore 3
start local 3 4: iconst_0
istore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 18
7: StackMap locals: com.jayway.jsonpath.internal.path.PathCompiler com.jayway.jsonpath.internal.path.PathTokenAppender int int int int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 3
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
istore 6
start local 6 8: iload 6
bipush 32
if_icmpne 10
9: new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "Use bracket notion ['my prop'] if your property contains blank characters. position: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual java.lang.StringBuilder.append:(I)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: int
StackMap stack:
iload 6
bipush 46
if_icmpeq 11
iload 6
bipush 91
if_icmpne 13
11: StackMap locals:
StackMap stack:
iload 3
istore 4
12: goto 19
13: StackMap locals:
StackMap stack:
iload 6
bipush 40
if_icmpne 17
14: iconst_1
istore 5
15: iload 3
iinc 3 1
istore 4
16: goto 19
17: StackMap locals:
StackMap stack:
iinc 3 1
end local 6 18: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 3
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
ifne 7
19: StackMap locals:
StackMap stack:
iload 4
ifne 21
20: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.length:()I
istore 4
21: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 22: iload 5
ifeq 34
23: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 3
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
ifeq 32
24: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 3
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
istore 7
start local 7 25: iload 7
bipush 41
if_icmpeq 30
26: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 4
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
27: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
iload 4
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 8
start local 8 28: aload 0
aload 8
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.parseFunctionParameters:(Ljava/lang/String;)Ljava/util/List;
astore 6
end local 8 29: goto 35
30: StackMap locals: java.util.List int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 3
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
end local 7 31: goto 35
32: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 3
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
33: goto 35
34: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 4
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
35: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
iload 4
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 7
start local 7 36: iload 5
ifeq 39
37: aload 1
aload 7
aload 6
invokestatic com.jayway.jsonpath.internal.path.PathTokenFactory.createFunctionPathToken:(Ljava/lang/String;Ljava/util/List;)Lcom/jayway/jsonpath/internal/path/PathToken;
invokeinterface com.jayway.jsonpath.internal.path.PathTokenAppender.appendPathToken:(Lcom/jayway/jsonpath/internal/path/PathToken;)Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
pop
38: goto 40
39: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 7
bipush 39
invokestatic com.jayway.jsonpath.internal.path.PathTokenFactory.createSinglePropertyPathToken:(Ljava/lang/String;C)Lcom/jayway/jsonpath/internal/path/PathToken;
invokeinterface com.jayway.jsonpath.internal.path.PathTokenAppender.appendPathToken:(Lcom/jayway/jsonpath/internal/path/PathToken;)Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
pop
40: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentIsTail:()Z
ifne 41
aload 0
aload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readNextToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
ifne 41
iconst_0
ireturn
StackMap locals:
StackMap stack:
41: iconst_1
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lcom/jayway/jsonpath/internal/path/PathCompiler;
0 42 1 appender Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
3 42 2 startPosition I
4 42 3 readPosition I
5 42 4 endPosition I
6 42 5 isFunction Z
8 18 6 c C
22 42 6 functionParameters Ljava/util/List<Lcom/jayway/jsonpath/internal/function/Parameter;>;
25 31 7 c C
28 29 8 functionName Ljava/lang/String;
36 42 7 property Ljava/lang/String;
MethodParameters:
Name Flags
appender
private java.util.List<com.jayway.jsonpath.internal.function.Parameter> parseFunctionParameters(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=15, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 3
start local 3 2: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 4
start local 4 3: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 5
start local 5 4: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 6
start local 6 5: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 7
start local 7 6: iconst_0
istore 8
start local 8 7: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 8: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 10
start local 10 9: goto 66
10: StackMap locals: com.jayway.jsonpath.internal.path.PathCompiler java.lang.String com.jayway.jsonpath.internal.function.ParamType java.lang.Integer java.lang.Integer java.lang.Integer java.lang.Integer java.lang.Boolean int java.util.List java.lang.StringBuffer
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentChar:()C
istore 11
start local 11 11: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iconst_1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
12: aload 2
ifnonnull 20
13: aload 0
iload 11
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.isWhitespace:(C)Z
ifeq 15
14: goto 66
15: StackMap locals: int
StackMap stack:
iload 11
bipush 123
if_icmpeq 16
iload 11
invokestatic java.lang.Character.isDigit:(C)Z
ifne 16
bipush 34
iload 11
if_icmpne 18
16: StackMap locals:
StackMap stack:
getstatic com.jayway.jsonpath.internal.function.ParamType.JSON:Lcom/jayway/jsonpath/internal/function/ParamType;
astore 2
17: goto 20
18: StackMap locals:
StackMap stack:
aload 0
iload 11
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.isPathContext:(C)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 20
19: getstatic com.jayway.jsonpath.internal.function.ParamType.PATH:Lcom/jayway/jsonpath/internal/function/ParamType;
astore 2
20: StackMap locals:
StackMap stack:
iload 11
lookupswitch { // 8
34: 21
40: 28
41: 42
44: 45
91: 32
93: 38
123: 30
125: 34
default: 63
}
21: StackMap locals:
StackMap stack:
iload 8
bipush 92
if_icmpeq 26
aload 6
invokevirtual java.lang.Integer.intValue:()I
ifle 26
22: aload 6
invokevirtual java.lang.Integer.intValue:()I
ifne 24
23: new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "Unexpected quote '\"' at character position: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Integer.intValue:()I
iconst_1
isub
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 6
25: goto 63
26: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Integer.intValue:()I
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 6
27: goto 63
28: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.Integer.intValue:()I
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 3
29: goto 63
30: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.Integer.intValue:()I
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 5
31: goto 63
32: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.Integer.intValue:()I
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 4
33: goto 63
34: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.Integer.intValue:()I
ifne 36
35: new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "Unexpected close brace '}' at character position: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.Integer.intValue:()I
iconst_1
isub
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 5
37: goto 63
38: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.Integer.intValue:()I
ifne 40
39: new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "Unexpected close bracket ']' at character position: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.Integer.intValue:()I
iconst_1
isub
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 4
41: goto 63
42: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.Integer.intValue:()I
iconst_1
isub
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 3
43: aload 3
invokevirtual java.lang.Integer.intValue:()I
ifeq 45
44: aload 10
iload 11
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
45: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Integer.intValue:()I
ifne 63
aload 5
invokevirtual java.lang.Integer.intValue:()I
ifne 63
aload 4
invokevirtual java.lang.Integer.intValue:()I
ifne 63
46: aload 3
invokevirtual java.lang.Integer.intValue:()I
ifne 47
bipush 41
iload 11
if_icmpeq 48
StackMap locals:
StackMap stack:
47: iconst_1
aload 3
invokevirtual java.lang.Integer.intValue:()I
if_icmpne 63
48: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.Integer.intValue:()I
ifne 49
iconst_1
goto 50
StackMap locals:
StackMap stack:
49: iconst_0
StackMap locals:
StackMap stack: int
50: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 7
51: aload 2
ifnull 63
52: aconst_null
astore 12
start local 12 53: invokestatic com.jayway.jsonpath.internal.path.PathCompiler.$SWITCH_TABLE$com$jayway$jsonpath$internal$function$ParamType:()[I
aload 2
invokevirtual com.jayway.jsonpath.internal.function.ParamType.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 54
2: 56
default: 59
}
54: StackMap locals: com.jayway.jsonpath.internal.function.Parameter
StackMap stack:
new com.jayway.jsonpath.internal.function.Parameter
dup
aload 10
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
invokespecial com.jayway.jsonpath.internal.function.Parameter.<init>:(Ljava/lang/String;)V
astore 12
55: goto 59
56: StackMap locals:
StackMap stack:
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 13
start local 13 57: new com.jayway.jsonpath.internal.path.PathCompiler
dup
aload 10
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
aload 13
invokespecial com.jayway.jsonpath.internal.path.PathCompiler.<init>:(Ljava/lang/String;Ljava/util/LinkedList;)V
astore 14
start local 14 58: new com.jayway.jsonpath.internal.function.Parameter
dup
aload 14
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.compile:()Lcom/jayway/jsonpath/internal/Path;
invokespecial com.jayway.jsonpath.internal.function.Parameter.<init>:(Lcom/jayway/jsonpath/internal/Path;)V
astore 12
end local 14 end local 13 59: StackMap locals:
StackMap stack:
aload 12
ifnull 61
60: aload 9
aload 12
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
61: StackMap locals:
StackMap stack:
aload 10
iconst_0
aload 10
invokevirtual java.lang.StringBuffer.length:()I
invokevirtual java.lang.StringBuffer.delete:(II)Ljava/lang/StringBuffer;
pop
62: aconst_null
astore 2
end local 12 63: StackMap locals:
StackMap stack:
aload 2
ifnull 65
iload 11
bipush 44
if_icmpne 64
aload 5
invokevirtual java.lang.Integer.intValue:()I
ifne 64
aload 4
invokevirtual java.lang.Integer.intValue:()I
ifne 64
iconst_1
aload 3
invokevirtual java.lang.Integer.intValue:()I
if_icmpeq 65
64: StackMap locals:
StackMap stack:
aload 10
iload 11
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
65: StackMap locals:
StackMap stack:
iload 11
istore 8
end local 11 66: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:()Z
ifeq 67
aload 7
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 10
67: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.Integer.intValue:()I
ifne 68
aload 3
invokevirtual java.lang.Integer.intValue:()I
ifne 68
aload 4
invokevirtual java.lang.Integer.intValue:()I
ifeq 69
68: StackMap locals:
StackMap stack:
new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "Arguments to function: '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' are not closed properly."
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
69: StackMap locals:
StackMap stack:
aload 9
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 70 0 this Lcom/jayway/jsonpath/internal/path/PathCompiler;
0 70 1 funcName Ljava/lang/String;
1 70 2 type Lcom/jayway/jsonpath/internal/function/ParamType;
2 70 3 groupParen Ljava/lang/Integer;
3 70 4 groupBracket Ljava/lang/Integer;
4 70 5 groupBrace Ljava/lang/Integer;
5 70 6 groupQuote Ljava/lang/Integer;
6 70 7 endOfStream Ljava/lang/Boolean;
7 70 8 priorChar C
8 70 9 parameters Ljava/util/List<Lcom/jayway/jsonpath/internal/function/Parameter;>;
9 70 10 parameter Ljava/lang/StringBuffer;
11 66 11 c C
53 63 12 param Lcom/jayway/jsonpath/internal/function/Parameter;
57 59 13 predicates Ljava/util/LinkedList<Lcom/jayway/jsonpath/Predicate;>;
58 59 14 compiler Lcom/jayway/jsonpath/internal/path/PathCompiler;
Signature: (Ljava/lang/String;)Ljava/util/List<Lcom/jayway/jsonpath/internal/function/Parameter;>;
MethodParameters:
Name Flags
funcName
private boolean isWhitespace(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 32
if_icmpeq 1
iload 1
bipush 9
if_icmpeq 1
iload 1
bipush 10
if_icmpeq 1
iload 1
bipush 13
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/path/PathCompiler;
0 2 1 c C
MethodParameters:
Name Flags
c
private boolean readPlaceholderToken(com.jayway.jsonpath.internal.path.PathTokenAppender);
descriptor: (Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 91
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 63
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.indexOfNextSignificantChar:(C)I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpne 5
4: iconst_0
ireturn
5: StackMap locals: int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextSignificantChar:(I)C
istore 3
start local 3 6: iload 3
bipush 93
if_icmpeq 8
iload 3
bipush 44
if_icmpeq 8
7: iconst_0
ireturn
8: StackMap locals: int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
iconst_1
iadd
istore 4
start local 4 9: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 4
bipush 93
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextIndexOf:(IC)I
istore 5
start local 5 10: iload 5
iconst_m1
if_icmpne 12
11: iconst_0
ireturn
12: StackMap locals: int int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 4
iload 5
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 6
start local 6 13: aload 6
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 7
start local 7 14: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.filterStack:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
aload 7
arraylength
if_icmpge 16
15: new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "Not enough predicates supplied for filter ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] at position "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals: java.lang.String java.lang.String[]
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 17: aload 7
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 28
StackMap locals: com.jayway.jsonpath.internal.path.PathCompiler com.jayway.jsonpath.internal.path.PathTokenAppender int int int int java.lang.String java.lang.String[] java.util.Collection top int int java.lang.String[]
StackMap stack:
18: aload 12
iload 10
aaload
astore 9
start local 9 19: aload 9
ifnull 20
aload 9
invokevirtual java.lang.String.trim:()Ljava/lang/String;
goto 21
StackMap locals: com.jayway.jsonpath.internal.path.PathCompiler com.jayway.jsonpath.internal.path.PathTokenAppender int int int int java.lang.String java.lang.String[] java.util.Collection java.lang.String int int java.lang.String[]
StackMap stack:
20: aload 9
StackMap locals:
StackMap stack: java.lang.String
21: astore 9
22: ldc "?"
aload 9
ifnonnull 23
ldc ""
goto 24
StackMap locals:
StackMap stack: java.lang.String
23: aload 9
StackMap locals: com.jayway.jsonpath.internal.path.PathCompiler com.jayway.jsonpath.internal.path.PathTokenAppender int int int int java.lang.String java.lang.String[] java.util.Collection java.lang.String int int java.lang.String[]
StackMap stack: java.lang.String java.lang.String
24: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 26
25: new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "Expected '?' but found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
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
26: StackMap locals:
StackMap stack:
aload 8
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.filterStack:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
checkcast com.jayway.jsonpath.Predicate
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 9 27: iinc 10 1
StackMap locals: com.jayway.jsonpath.internal.path.PathCompiler com.jayway.jsonpath.internal.path.PathTokenAppender int int int int java.lang.String java.lang.String[] java.util.Collection top int int java.lang.String[]
StackMap stack:
28: iload 10
iload 11
if_icmplt 18
29: aload 1
aload 8
invokestatic com.jayway.jsonpath.internal.path.PathTokenFactory.createPredicatePathToken:(Ljava/util/Collection;)Lcom/jayway/jsonpath/internal/path/PathToken;
invokeinterface com.jayway.jsonpath.internal.path.PathTokenAppender.appendPathToken:(Lcom/jayway/jsonpath/internal/path/PathToken;)Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
pop
30: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 5
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
31: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentIsTail:()Z
ifne 32
aload 0
aload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readNextToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
ifne 32
iconst_0
ireturn
StackMap locals: com.jayway.jsonpath.internal.path.PathCompiler com.jayway.jsonpath.internal.path.PathTokenAppender int int int int java.lang.String java.lang.String[] java.util.Collection
StackMap stack:
32: iconst_1
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/jayway/jsonpath/internal/path/PathCompiler;
0 33 1 appender Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
3 33 2 questionmarkIndex I
6 33 3 nextSignificantChar C
9 33 4 expressionBeginIndex I
10 33 5 expressionEndIndex I
13 33 6 expression Ljava/lang/String;
14 33 7 tokens [Ljava/lang/String;
17 33 8 predicates Ljava/util/Collection<Lcom/jayway/jsonpath/Predicate;>;
19 27 9 token Ljava/lang/String;
MethodParameters:
Name Flags
appender
private boolean readFilterToken(com.jayway.jsonpath.internal.path.PathTokenAppender);
descriptor: (Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 91
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifne 2
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 63
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextSignificantCharIs:(C)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path: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.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 63
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.indexOfNextSignificantChar:(C)I
istore 3
start local 3 4: iload 3
iconst_m1
if_icmpne 6
5: iconst_0
ireturn
6: StackMap locals: int int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 3
bipush 40
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.indexOfNextSignificantChar:(IC)I
istore 4
start local 4 7: iload 4
iconst_m1
if_icmpne 9
8: iconst_0
ireturn
9: StackMap locals: int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 4
iconst_1
iconst_1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.indexOfClosingBracket:(IZZ)I
istore 5
start local 5 10: iload 5
iconst_m1
if_icmpne 12
11: iconst_0
ireturn
12: StackMap locals: int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 5
bipush 93
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextSignificantCharIs:(IC)Z
ifne 14
13: iconst_0
ireturn
14: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 5
bipush 93
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.indexOfNextSignificantChar:(IC)I
istore 6
start local 6 15: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 2
iload 6
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 7
start local 7 16: aload 7
invokestatic com.jayway.jsonpath.internal.filter.FilterCompiler.compile:(Ljava/lang/String;)Lcom/jayway/jsonpath/Filter;
astore 8
start local 8 17: aload 1
aload 8
invokestatic com.jayway.jsonpath.internal.path.PathTokenFactory.createPredicatePathToken:(Lcom/jayway/jsonpath/Predicate;)Lcom/jayway/jsonpath/internal/path/PathToken;
invokeinterface com.jayway.jsonpath.internal.path.PathTokenAppender.appendPathToken:(Lcom/jayway/jsonpath/internal/path/PathToken;)Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
pop
18: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 6
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
19: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentIsTail:()Z
ifne 20
aload 0
aload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readNextToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
ifne 20
iconst_0
ireturn
StackMap locals: int java.lang.String com.jayway.jsonpath.Predicate
StackMap stack:
20: iconst_1
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/jayway/jsonpath/internal/path/PathCompiler;
0 21 1 appender Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
3 21 2 openStatementBracketIndex I
4 21 3 questionMarkIndex I
7 21 4 openBracketIndex I
10 21 5 closeBracketIndex I
15 21 6 closeStatementBracketIndex I
16 21 7 criteria Ljava/lang/String;
17 21 8 predicate Lcom/jayway/jsonpath/Predicate;
MethodParameters:
Name Flags
appender
private boolean readWildCardToken(com.jayway.jsonpath.internal.path.PathTokenAppender);
descriptor: (Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 91
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
istore 2
start local 2 1: iload 2
ifeq 3
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 42
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextSignificantCharIs:(C)Z
ifne 3
2: iconst_0
ireturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 42
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifne 5
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.isOutOfBounds:(I)Z
ifeq 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iload 2
ifeq 12
6: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 42
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.indexOfNextSignificantChar:(C)I
istore 3
start local 3 7: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 3
bipush 93
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextSignificantCharIs:(IC)Z
ifne 9
8: new com.jayway.jsonpath.InvalidPathException
dup
new java.lang.StringBuilder
dup
ldc "Expected wildcard token to end with ']' on position "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
iconst_1
invokevirtual java.lang.StringBuilder.append:(I)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
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 3
bipush 93
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.indexOfNextSignificantChar:(IC)I
istore 4
start local 4 10: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 4
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
end local 4 end local 3 11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iconst_1
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.incrementPosition:(I)I
pop
13: StackMap locals:
StackMap stack:
aload 1
invokestatic com.jayway.jsonpath.internal.path.PathTokenFactory.createWildCardPathToken:()Lcom/jayway/jsonpath/internal/path/PathToken;
invokeinterface com.jayway.jsonpath.internal.path.PathTokenAppender.appendPathToken:(Lcom/jayway/jsonpath/internal/path/PathToken;)Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
pop
14: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentIsTail:()Z
ifne 15
aload 0
aload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readNextToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
ifne 15
iconst_0
ireturn
StackMap locals:
StackMap stack:
15: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/jayway/jsonpath/internal/path/PathCompiler;
0 16 1 appender Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
1 16 2 inBracket Z
7 11 3 wildCardIndex I
10 11 4 bracketCloseIndex I
MethodParameters:
Name Flags
appender
private boolean readArrayToken(com.jayway.jsonpath.internal.path.PathTokenAppender);
descriptor: (Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 91
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextSignificantChar:()C
istore 2
start local 2 3: iload 2
invokestatic java.lang.Character.isDigit:(C)Z
ifne 5
iload 2
bipush 45
if_icmpeq 5
iload 2
bipush 58
if_icmpeq 5
4: iconst_0
ireturn
5: StackMap locals: int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
iconst_1
iadd
istore 3
start local 3 6: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 3
bipush 93
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextIndexOf:(IC)I
istore 4
start local 4 7: iload 4
iconst_m1
if_icmpne 9
8: iconst_0
ireturn
9: StackMap locals: int int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 3
iload 4
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 5
start local 5 10: ldc "*"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
11: iconst_0
ireturn
12: StackMap locals: java.lang.String
StackMap stack:
iconst_0
istore 6
start local 6 13: goto 18
14: StackMap locals: int
StackMap stack:
aload 5
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 15: iload 7
invokestatic java.lang.Character.isDigit:(C)Z
ifne 17
iload 7
bipush 44
if_icmpeq 17
iload 7
bipush 45
if_icmpeq 17
iload 7
bipush 58
if_icmpeq 17
iload 7
bipush 32
if_icmpeq 17
16: iconst_0
ireturn
end local 7 17: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
18: iload 6
aload 5
invokevirtual java.lang.String.length:()I
if_icmplt 14
end local 6 19: aload 5
ldc ":"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
istore 6
start local 6 20: iload 6
ifeq 24
21: aload 5
invokestatic com.jayway.jsonpath.internal.path.ArraySliceOperation.parse:(Ljava/lang/String;)Lcom/jayway/jsonpath/internal/path/ArraySliceOperation;
astore 7
start local 7 22: aload 1
aload 7
invokestatic com.jayway.jsonpath.internal.path.PathTokenFactory.createSliceArrayPathToken:(Lcom/jayway/jsonpath/internal/path/ArraySliceOperation;)Lcom/jayway/jsonpath/internal/path/PathToken;
invokeinterface com.jayway.jsonpath.internal.path.PathTokenAppender.appendPathToken:(Lcom/jayway/jsonpath/internal/path/PathToken;)Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
pop
end local 7 23: goto 26
24: StackMap locals: com.jayway.jsonpath.internal.path.PathCompiler com.jayway.jsonpath.internal.path.PathTokenAppender int int int java.lang.String int
StackMap stack:
aload 5
invokestatic com.jayway.jsonpath.internal.path.ArrayIndexOperation.parse:(Ljava/lang/String;)Lcom/jayway/jsonpath/internal/path/ArrayIndexOperation;
astore 7
start local 7 25: aload 1
aload 7
invokestatic com.jayway.jsonpath.internal.path.PathTokenFactory.createIndexArrayPathToken:(Lcom/jayway/jsonpath/internal/path/ArrayIndexOperation;)Lcom/jayway/jsonpath/internal/path/PathToken;
invokeinterface com.jayway.jsonpath.internal.path.PathTokenAppender.appendPathToken:(Lcom/jayway/jsonpath/internal/path/PathToken;)Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
pop
end local 7 26: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 4
iconst_1
iadd
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
27: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentIsTail:()Z
ifne 28
aload 0
aload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readNextToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
ifne 28
iconst_0
ireturn
StackMap locals:
StackMap stack:
28: iconst_1
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/jayway/jsonpath/internal/path/PathCompiler;
0 29 1 appender Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
3 29 2 nextSignificantChar C
6 29 3 expressionBeginIndex I
7 29 4 expressionEndIndex I
10 29 5 expression Ljava/lang/String;
13 19 6 i I
15 17 7 c C
20 29 6 isSliceOperation Z
22 23 7 arraySliceOperation Lcom/jayway/jsonpath/internal/path/ArraySliceOperation;
25 26 7 arrayIndexOperation Lcom/jayway/jsonpath/internal/path/ArrayIndexOperation;
MethodParameters:
Name Flags
appender
private boolean readBracketPropertyToken(com.jayway.jsonpath.internal.path.PathTokenAppender);
descriptor: (Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=13, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
bipush 91
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentCharIs:(C)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextSignificantChar:()C
istore 2
start local 2 3: iload 2
bipush 39
if_icmpeq 5
iload 2
bipush 34
if_icmpeq 5
4: iconst_0
ireturn
5: StackMap locals: int
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 6: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.position:()I
iconst_1
iadd
istore 4
start local 4 7: iload 4
istore 5
start local 5 8: iconst_0
istore 6
start local 6 9: iconst_0
istore 7
start local 7 10: iconst_0
istore 8
start local 8 11: iconst_0
istore 9
start local 9 12: goto 43
13: StackMap locals: com.jayway.jsonpath.internal.path.PathCompiler com.jayway.jsonpath.internal.path.PathTokenAppender int java.util.List int int int int int int
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 5
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.charAt:(I)C
istore 10
start local 10 14: iload 8
ifeq 17
15: iconst_0
istore 8
16: goto 42
StackMap locals: int
StackMap stack:
17: bipush 92
iload 10
if_icmpne 20
18: iconst_1
istore 8
19: goto 42
StackMap locals:
StackMap stack:
20: iload 10
bipush 93
if_icmpne 24
iload 7
ifne 24
21: iload 9
ifeq 44
22: new java.lang.StringBuilder
dup
ldc "Found empty property at index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.jayway.jsonpath.internal.path.PathCompiler.fail:(Ljava/lang/String;)Z
pop
23: goto 44
24: StackMap locals:
StackMap stack:
iload 10
iload 2
if_icmpne 38
25: iload 7
ifeq 34
iload 8
ifne 34
26: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 5
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.nextSignificantChar:(I)C
istore 11
start local 11 27: iload 11
bipush 93
if_icmpeq 29
iload 11
bipush 44
if_icmpeq 29
28: new java.lang.StringBuilder
dup
ldc "Property must be separated by comma or Property must be terminated close square bracket at index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.jayway.jsonpath.internal.path.PathCompiler.fail:(Ljava/lang/String;)Z
pop
29: StackMap locals: int
StackMap stack:
iload 5
istore 6
30: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 4
iload 6
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.subSequence:(II)Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 12
start local 12 31: aload 3
aload 12
invokestatic com.jayway.jsonpath.internal.Utils.unescape:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
32: iconst_0
istore 7
end local 12 end local 11 33: goto 42
34: StackMap locals:
StackMap stack:
iload 5
iconst_1
iadd
istore 4
35: iconst_1
istore 7
36: iconst_0
istore 9
37: goto 42
StackMap locals:
StackMap stack:
38: iload 10
bipush 44
if_icmpne 42
39: iload 9
ifeq 41
40: new java.lang.StringBuilder
dup
ldc "Found empty property at index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.jayway.jsonpath.internal.path.PathCompiler.fail:(Ljava/lang/String;)Z
pop
41: StackMap locals:
StackMap stack:
iconst_1
istore 9
42: StackMap locals:
StackMap stack:
iinc 5 1
end local 10 43: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 5
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.inBounds:(I)Z
ifne 13
44: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 6
bipush 93
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.indexOfNextSignificantChar:(IC)I
iconst_1
iadd
istore 10
start local 10 45: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
iload 10
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.setPosition:(I)I
pop
46: aload 1
aload 3
iload 2
invokestatic com.jayway.jsonpath.internal.path.PathTokenFactory.createPropertyPathToken:(Ljava/util/List;C)Lcom/jayway/jsonpath/internal/path/PathToken;
invokeinterface com.jayway.jsonpath.internal.path.PathTokenAppender.appendPathToken:(Lcom/jayway/jsonpath/internal/path/PathToken;)Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
pop
47: aload 0
getfield com.jayway.jsonpath.internal.path.PathCompiler.path:Lcom/jayway/jsonpath/internal/CharacterIndex;
invokevirtual com.jayway.jsonpath.internal.CharacterIndex.currentIsTail:()Z
ifne 48
aload 0
aload 1
invokevirtual com.jayway.jsonpath.internal.path.PathCompiler.readNextToken:(Lcom/jayway/jsonpath/internal/path/PathTokenAppender;)Z
ifne 48
iconst_0
ireturn
StackMap locals: int
StackMap stack:
48: iconst_1
ireturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lcom/jayway/jsonpath/internal/path/PathCompiler;
0 49 1 appender Lcom/jayway/jsonpath/internal/path/PathTokenAppender;
3 49 2 potentialStringDelimiter C
6 49 3 properties Ljava/util/List<Ljava/lang/String;>;
7 49 4 startPosition I
8 49 5 readPosition I
9 49 6 endPosition I
10 49 7 inProperty Z
11 49 8 inEscape Z
12 49 9 lastSignificantWasComma Z
14 43 10 c C
27 33 11 nextSignificantChar C
31 33 12 prop Ljava/lang/String;
45 49 10 endBracketIndex I
MethodParameters:
Name Flags
appender
public static boolean fail(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.jayway.jsonpath.InvalidPathException
dup
aload 0
invokespecial com.jayway.jsonpath.InvalidPathException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 message Ljava/lang/String;
MethodParameters:
Name Flags
message
static int[] $SWITCH_TABLE$com$jayway$jsonpath$internal$function$ParamType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.jayway.jsonpath.internal.path.PathCompiler.$SWITCH_TABLE$com$jayway$jsonpath$internal$function$ParamType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.jayway.jsonpath.internal.function.ParamType.values:()[Lcom/jayway/jsonpath/internal/function/ParamType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.jayway.jsonpath.internal.function.ParamType.JSON:Lcom/jayway/jsonpath/internal/function/ParamType;
invokevirtual com.jayway.jsonpath.internal.function.ParamType.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.jayway.jsonpath.internal.function.ParamType.PATH:Lcom/jayway/jsonpath/internal/function/ParamType;
invokevirtual com.jayway.jsonpath.internal.function.ParamType.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
dup
putstatic com.jayway.jsonpath.internal.path.PathCompiler.$SWITCH_TABLE$com$jayway$jsonpath$internal$function$ParamType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
}
SourceFile: "PathCompiler.java"