public class com.jayway.jsonpath.internal.filter.RelationalExpressionNode extends com.jayway.jsonpath.internal.filter.ExpressionNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.jayway.jsonpath.internal.filter.RelationalExpressionNode
super_class: com.jayway.jsonpath.internal.filter.ExpressionNode
{
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final com.jayway.jsonpath.internal.filter.ValueNode left;
descriptor: Lcom/jayway/jsonpath/internal/filter/ValueNode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.jayway.jsonpath.internal.filter.RelationalOperator relationalOperator;
descriptor: Lcom/jayway/jsonpath/internal/filter/RelationalOperator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.jayway.jsonpath.internal.filter.ValueNode right;
descriptor: Lcom/jayway/jsonpath/internal/filter/ValueNode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/jayway/jsonpath/internal/filter/RelationalExpressionNode;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic com.jayway.jsonpath.internal.filter.RelationalExpressionNode.logger:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.jayway.jsonpath.internal.filter.ValueNode, com.jayway.jsonpath.internal.filter.RelationalOperator, com.jayway.jsonpath.internal.filter.ValueNode);
descriptor: (Lcom/jayway/jsonpath/internal/filter/ValueNode;Lcom/jayway/jsonpath/internal/filter/RelationalOperator;Lcom/jayway/jsonpath/internal/filter/ValueNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial com.jayway.jsonpath.internal.filter.ExpressionNode.<init>:()V
1: aload 0
aload 1
putfield com.jayway.jsonpath.internal.filter.RelationalExpressionNode.left:Lcom/jayway/jsonpath/internal/filter/ValueNode;
2: aload 0
aload 2
putfield com.jayway.jsonpath.internal.filter.RelationalExpressionNode.relationalOperator:Lcom/jayway/jsonpath/internal/filter/RelationalOperator;
3: aload 0
aload 3
putfield com.jayway.jsonpath.internal.filter.RelationalExpressionNode.right:Lcom/jayway/jsonpath/internal/filter/ValueNode;
4: getstatic com.jayway.jsonpath.internal.filter.RelationalExpressionNode.logger:Lorg/slf4j/Logger;
ldc "ExpressionNode {}"
aload 0
invokevirtual com.jayway.jsonpath.internal.filter.RelationalExpressionNode.toString:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/jayway/jsonpath/internal/filter/RelationalExpressionNode;
0 6 1 left Lcom/jayway/jsonpath/internal/filter/ValueNode;
0 6 2 relationalOperator Lcom/jayway/jsonpath/internal/filter/RelationalOperator;
0 6 3 right Lcom/jayway/jsonpath/internal/filter/ValueNode;
MethodParameters:
Name Flags
left
relationalOperator
right
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.jayway.jsonpath.internal.filter.RelationalExpressionNode.relationalOperator:Lcom/jayway/jsonpath/internal/filter/RelationalOperator;
getstatic com.jayway.jsonpath.internal.filter.RelationalOperator.EXISTS:Lcom/jayway/jsonpath/internal/filter/RelationalOperator;
if_acmpne 2
1: aload 0
getfield com.jayway.jsonpath.internal.filter.RelationalExpressionNode.left:Lcom/jayway/jsonpath/internal/filter/ValueNode;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
getfield com.jayway.jsonpath.internal.filter.RelationalExpressionNode.left:Lcom/jayway/jsonpath/internal/filter/ValueNode;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
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.filter.RelationalExpressionNode.relationalOperator:Lcom/jayway/jsonpath/internal/filter/RelationalOperator;
invokevirtual com.jayway.jsonpath.internal.filter.RelationalOperator.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.jayway.jsonpath.internal.filter.RelationalExpressionNode.right:Lcom/jayway/jsonpath/internal/filter/ValueNode;
invokevirtual java.lang.Object.toString:()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 3 0 this Lcom/jayway/jsonpath/internal/filter/RelationalExpressionNode;
public boolean apply(com.jayway.jsonpath.Predicate$PredicateContext);
descriptor: (Lcom/jayway/jsonpath/Predicate$PredicateContext;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jayway.jsonpath.internal.filter.RelationalExpressionNode.left:Lcom/jayway/jsonpath/internal/filter/ValueNode;
astore 2
start local 2 1: aload 0
getfield com.jayway.jsonpath.internal.filter.RelationalExpressionNode.right:Lcom/jayway/jsonpath/internal/filter/ValueNode;
astore 3
start local 3 2: aload 0
getfield com.jayway.jsonpath.internal.filter.RelationalExpressionNode.left:Lcom/jayway/jsonpath/internal/filter/ValueNode;
invokevirtual com.jayway.jsonpath.internal.filter.ValueNode.isPathNode:()Z
ifeq 4
3: aload 0
getfield com.jayway.jsonpath.internal.filter.RelationalExpressionNode.left:Lcom/jayway/jsonpath/internal/filter/ValueNode;
invokevirtual com.jayway.jsonpath.internal.filter.ValueNode.asPathNode:()Lcom/jayway/jsonpath/internal/filter/ValueNodes$PathNode;
aload 1
invokevirtual com.jayway.jsonpath.internal.filter.ValueNodes$PathNode.evaluate:(Lcom/jayway/jsonpath/Predicate$PredicateContext;)Lcom/jayway/jsonpath/internal/filter/ValueNode;
astore 2
4: StackMap locals: com.jayway.jsonpath.internal.filter.ValueNode com.jayway.jsonpath.internal.filter.ValueNode
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.RelationalExpressionNode.right:Lcom/jayway/jsonpath/internal/filter/ValueNode;
invokevirtual com.jayway.jsonpath.internal.filter.ValueNode.isPathNode:()Z
ifeq 6
5: aload 0
getfield com.jayway.jsonpath.internal.filter.RelationalExpressionNode.right:Lcom/jayway/jsonpath/internal/filter/ValueNode;
invokevirtual com.jayway.jsonpath.internal.filter.ValueNode.asPathNode:()Lcom/jayway/jsonpath/internal/filter/ValueNodes$PathNode;
aload 1
invokevirtual com.jayway.jsonpath.internal.filter.ValueNodes$PathNode.evaluate:(Lcom/jayway/jsonpath/Predicate$PredicateContext;)Lcom/jayway/jsonpath/internal/filter/ValueNode;
astore 3
6: StackMap locals:
StackMap stack:
aload 0
getfield com.jayway.jsonpath.internal.filter.RelationalExpressionNode.relationalOperator:Lcom/jayway/jsonpath/internal/filter/RelationalOperator;
invokestatic com.jayway.jsonpath.internal.filter.EvaluatorFactory.createEvaluator:(Lcom/jayway/jsonpath/internal/filter/RelationalOperator;)Lcom/jayway/jsonpath/internal/filter/Evaluator;
astore 4
start local 4 7: aload 4
ifnull 9
8: aload 4
aload 2
aload 3
aload 1
invokeinterface com.jayway.jsonpath.internal.filter.Evaluator.evaluate:(Lcom/jayway/jsonpath/internal/filter/ValueNode;Lcom/jayway/jsonpath/internal/filter/ValueNode;Lcom/jayway/jsonpath/Predicate$PredicateContext;)Z
ireturn
9: StackMap locals: com.jayway.jsonpath.internal.filter.Evaluator
StackMap stack:
iconst_0
ireturn
end local 4 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/RelationalExpressionNode;
0 10 1 ctx Lcom/jayway/jsonpath/Predicate$PredicateContext;
1 10 2 l Lcom/jayway/jsonpath/internal/filter/ValueNode;
2 10 3 r Lcom/jayway/jsonpath/internal/filter/ValueNode;
7 10 4 evaluator Lcom/jayway/jsonpath/internal/filter/Evaluator;
MethodParameters:
Name Flags
ctx
}
SourceFile: "RelationalExpressionNode.java"
InnerClasses:
public abstract PredicateContext = com.jayway.jsonpath.Predicate$PredicateContext of com.jayway.jsonpath.Predicate
public PathNode = com.jayway.jsonpath.internal.filter.ValueNodes$PathNode of com.jayway.jsonpath.internal.filter.ValueNodes