public class com.jayway.jsonpath.internal.path.FunctionPathToken extends com.jayway.jsonpath.internal.path.PathToken
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.jayway.jsonpath.internal.path.FunctionPathToken
super_class: com.jayway.jsonpath.internal.path.PathToken
{
private final java.lang.String functionName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String pathFragment;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<com.jayway.jsonpath.internal.function.Parameter> functionParams;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/jayway/jsonpath/internal/function/Parameter;>;
private static volatile int[] $SWITCH_TABLE$com$jayway$jsonpath$internal$function$ParamType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(java.lang.String, java.util.List<com.jayway.jsonpath.internal.function.Parameter>);
descriptor: (Ljava/lang/String;Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial com.jayway.jsonpath.internal.path.PathToken.<init>:()V
1: aload 0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
ifnull 2
aload 2
invokeinterface java.util.List.size:()I
ifle 2
ldc "(...)"
goto 3
StackMap locals: com.jayway.jsonpath.internal.path.FunctionPathToken java.lang.String java.util.List
StackMap stack: com.jayway.jsonpath.internal.path.FunctionPathToken java.lang.StringBuilder
2: ldc "()"
StackMap locals: com.jayway.jsonpath.internal.path.FunctionPathToken java.lang.String java.util.List
StackMap stack: com.jayway.jsonpath.internal.path.FunctionPathToken java.lang.StringBuilder java.lang.String
3: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield com.jayway.jsonpath.internal.path.FunctionPathToken.pathFragment:Ljava/lang/String;
4: aload 1
ifnull 8
5: aload 0
aload 1
putfield com.jayway.jsonpath.internal.path.FunctionPathToken.functionName:Ljava/lang/String;
6: aload 0
aload 2
putfield com.jayway.jsonpath.internal.path.FunctionPathToken.functionParams:Ljava/util/List;
7: goto 10
8: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.jayway.jsonpath.internal.path.FunctionPathToken.functionName:Ljava/lang/String;
9: aload 0
aconst_null
putfield com.jayway.jsonpath.internal.path.FunctionPathToken.functionParams:Ljava/util/List;
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/jayway/jsonpath/internal/path/FunctionPathToken;
0 11 1 pathFragment Ljava/lang/String;
0 11 2 parameters Ljava/util/List<Lcom/jayway/jsonpath/internal/function/Parameter;>;
Signature: (Ljava/lang/String;Ljava/util/List<Lcom/jayway/jsonpath/internal/function/Parameter;>;)V
MethodParameters:
Name Flags
pathFragment
parameters
public void evaluate(java.lang.String, com.jayway.jsonpath.internal.PathRef, java.lang.Object, com.jayway.jsonpath.internal.path.EvaluationContextImpl);
descriptor: (Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.jayway.jsonpath.internal.path.FunctionPathToken.functionName:Ljava/lang/String;
invokestatic com.jayway.jsonpath.internal.function.PathFunctionFactory.newFunction:(Ljava/lang/String;)Lcom/jayway/jsonpath/internal/function/PathFunction;
astore 5
start local 5 1: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual com.jayway.jsonpath.internal.path.FunctionPathToken.evaluateParameters:(Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;)V
2: aload 5
aload 1
aload 2
aload 3
aload 4
aload 0
getfield com.jayway.jsonpath.internal.path.FunctionPathToken.functionParams:Ljava/util/List;
invokeinterface com.jayway.jsonpath.internal.function.PathFunction.invoke:(Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/EvaluationContext;Ljava/util/List;)Ljava/lang/Object;
astore 6
start local 6 3: aload 4
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.jayway.jsonpath.internal.path.FunctionPathToken.functionName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
aload 6
invokevirtual com.jayway.jsonpath.internal.path.EvaluationContextImpl.addResult:(Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;)V
4: aload 0
invokevirtual com.jayway.jsonpath.internal.path.FunctionPathToken.isLeaf:()Z
ifne 6
5: aload 0
invokevirtual com.jayway.jsonpath.internal.path.FunctionPathToken.next:()Lcom/jayway/jsonpath/internal/path/PathToken;
aload 1
aload 2
aload 6
aload 4
invokevirtual com.jayway.jsonpath.internal.path.PathToken.evaluate:(Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;)V
6: StackMap locals: com.jayway.jsonpath.internal.function.PathFunction java.lang.Object
StackMap stack:
return
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 7 0 this Lcom/jayway/jsonpath/internal/path/FunctionPathToken;
0 7 1 currentPath Ljava/lang/String;
0 7 2 parent Lcom/jayway/jsonpath/internal/PathRef;
0 7 3 model Ljava/lang/Object;
0 7 4 ctx Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;
1 7 5 pathFunction Lcom/jayway/jsonpath/internal/function/PathFunction;
3 7 6 result Ljava/lang/Object;
MethodParameters:
Name Flags
currentPath
parent
model
ctx
private void evaluateParameters(java.lang.String, com.jayway.jsonpath.internal.PathRef, java.lang.Object, com.jayway.jsonpath.internal.path.EvaluationContextImpl);
descriptor: (Ljava/lang/String;Lcom/jayway/jsonpath/internal/PathRef;Ljava/lang/Object;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.jayway.jsonpath.internal.path.FunctionPathToken.functionParams:Ljava/util/List;
ifnull 11
1: aload 0
getfield com.jayway.jsonpath.internal.path.FunctionPathToken.functionParams:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 10
StackMap locals: com.jayway.jsonpath.internal.path.FunctionPathToken java.lang.String com.jayway.jsonpath.internal.PathRef java.lang.Object com.jayway.jsonpath.internal.path.EvaluationContextImpl top java.util.Iterator
StackMap stack:
2: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.jayway.jsonpath.internal.function.Parameter
astore 5
start local 5 3: aload 5
invokevirtual com.jayway.jsonpath.internal.function.Parameter.hasEvaluated:()Z
ifne 10
4: invokestatic com.jayway.jsonpath.internal.path.FunctionPathToken.$SWITCH_TABLE$com$jayway$jsonpath$internal$function$ParamType:()[I
aload 5
invokevirtual com.jayway.jsonpath.internal.function.Parameter.getType:()Lcom/jayway/jsonpath/internal/function/ParamType;
invokevirtual com.jayway.jsonpath.internal.function.ParamType.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 8
2: 5
default: 10
}
5: StackMap locals: com.jayway.jsonpath.internal.path.FunctionPathToken java.lang.String com.jayway.jsonpath.internal.PathRef java.lang.Object com.jayway.jsonpath.internal.path.EvaluationContextImpl com.jayway.jsonpath.internal.function.Parameter java.util.Iterator
StackMap stack:
aload 5
new com.jayway.jsonpath.internal.function.latebinding.PathLateBindingValue
dup
aload 5
invokevirtual com.jayway.jsonpath.internal.function.Parameter.getPath:()Lcom/jayway/jsonpath/internal/Path;
aload 4
invokevirtual com.jayway.jsonpath.internal.path.EvaluationContextImpl.rootDocument:()Ljava/lang/Object;
aload 4
invokevirtual com.jayway.jsonpath.internal.path.EvaluationContextImpl.configuration:()Lcom/jayway/jsonpath/Configuration;
invokespecial com.jayway.jsonpath.internal.function.latebinding.PathLateBindingValue.<init>:(Lcom/jayway/jsonpath/internal/Path;Ljava/lang/Object;Lcom/jayway/jsonpath/Configuration;)V
invokevirtual com.jayway.jsonpath.internal.function.Parameter.setLateBinding:(Lcom/jayway/jsonpath/internal/function/latebinding/ILateBindingValue;)V
6: aload 5
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual com.jayway.jsonpath.internal.function.Parameter.setEvaluated:(Ljava/lang/Boolean;)V
7: goto 10
8: StackMap locals:
StackMap stack:
aload 5
new com.jayway.jsonpath.internal.function.latebinding.JsonLateBindingValue
dup
aload 4
invokevirtual com.jayway.jsonpath.internal.path.EvaluationContextImpl.configuration:()Lcom/jayway/jsonpath/Configuration;
invokevirtual com.jayway.jsonpath.Configuration.jsonProvider:()Lcom/jayway/jsonpath/spi/json/JsonProvider;
aload 5
invokespecial com.jayway.jsonpath.internal.function.latebinding.JsonLateBindingValue.<init>:(Lcom/jayway/jsonpath/spi/json/JsonProvider;Lcom/jayway/jsonpath/internal/function/Parameter;)V
invokevirtual com.jayway.jsonpath.internal.function.Parameter.setLateBinding:(Lcom/jayway/jsonpath/internal/function/latebinding/ILateBindingValue;)V
9: aload 5
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual com.jayway.jsonpath.internal.function.Parameter.setEvaluated:(Ljava/lang/Boolean;)V
end local 5 10: StackMap locals: com.jayway.jsonpath.internal.path.FunctionPathToken java.lang.String com.jayway.jsonpath.internal.PathRef java.lang.Object com.jayway.jsonpath.internal.path.EvaluationContextImpl top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
11: StackMap locals: com.jayway.jsonpath.internal.path.FunctionPathToken java.lang.String com.jayway.jsonpath.internal.PathRef java.lang.Object com.jayway.jsonpath.internal.path.EvaluationContextImpl
StackMap stack:
return
end local 4 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/path/FunctionPathToken;
0 12 1 currentPath Ljava/lang/String;
0 12 2 parent Lcom/jayway/jsonpath/internal/PathRef;
0 12 3 model Ljava/lang/Object;
0 12 4 ctx Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;
3 10 5 param Lcom/jayway/jsonpath/internal/function/Parameter;
MethodParameters:
Name Flags
currentPath
parent
model
ctx
public boolean isTokenDefinite();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jayway/jsonpath/internal/path/FunctionPathToken;
public java.lang.String getPathFragment();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.jayway.jsonpath.internal.path.FunctionPathToken.pathFragment:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jayway/jsonpath/internal/path/FunctionPathToken;
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.FunctionPathToken.$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.FunctionPathToken.$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: "FunctionPathToken.java"