final class com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate implements com.jayway.jsonpath.internal.path.ScanPathToken$Predicate
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate
super_class: java.lang.Object
{
private final com.jayway.jsonpath.internal.path.EvaluationContextImpl ctx;
descriptor: Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.jayway.jsonpath.internal.path.PropertyPathToken propertyPathToken;
descriptor: Lcom/jayway/jsonpath/internal/path/PropertyPathToken;
flags: (0x0002) ACC_PRIVATE
private void <init>(com.jayway.jsonpath.internal.path.PathToken, com.jayway.jsonpath.internal.path.EvaluationContextImpl);
descriptor: (Lcom/jayway/jsonpath/internal/path/PathToken;Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 // com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate this
start local 1 // com.jayway.jsonpath.internal.path.PathToken target
start local 2 // com.jayway.jsonpath.internal.path.EvaluationContextImpl ctx
0: .line 166
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 167
aload 0 /* this */
aload 2 /* ctx */
putfield com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate.ctx:Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;
2: .line 168
aload 0 /* this */
aload 1 /* target */
checkcast com.jayway.jsonpath.internal.path.PropertyPathToken
putfield com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate.propertyPathToken:Lcom/jayway/jsonpath/internal/path/PropertyPathToken;
3: .line 169
return
end local 2 // com.jayway.jsonpath.internal.path.EvaluationContextImpl ctx
end local 1 // com.jayway.jsonpath.internal.path.PathToken target
end local 0 // com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/jayway/jsonpath/internal/path/ScanPathToken$PropertyPathTokenPredicate;
0 4 1 target Lcom/jayway/jsonpath/internal/path/PathToken;
0 4 2 ctx Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;
MethodParameters:
Name Flags
target
ctx
public boolean matches(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 // com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate this
start local 1 // java.lang.Object model
0: .line 174
aload 0 /* this */
getfield com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate.ctx:Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;
invokevirtual com.jayway.jsonpath.internal.path.EvaluationContextImpl.jsonProvider:()Lcom/jayway/jsonpath/spi/json/JsonProvider;
aload 1 /* model */
invokeinterface com.jayway.jsonpath.spi.json.JsonProvider.isMap:(Ljava/lang/Object;)Z
ifne 2
1: .line 175
iconst_0
ireturn
2: .line 191
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate.propertyPathToken:Lcom/jayway/jsonpath/internal/path/PropertyPathToken;
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.isTokenDefinite:()Z
ifne 4
3: .line 194
iconst_1
ireturn
4: .line 197
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate.propertyPathToken:Lcom/jayway/jsonpath/internal/path/PropertyPathToken;
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.isLeaf:()Z
ifeq 6
aload 0 /* this */
getfield com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate.ctx:Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;
invokevirtual com.jayway.jsonpath.internal.path.EvaluationContextImpl.options:()Ljava/util/Set;
getstatic com.jayway.jsonpath.Option.DEFAULT_PATH_LEAF_TO_NULL:Lcom/jayway/jsonpath/Option;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 6
5: .line 199
iconst_1
ireturn
6: .line 202
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate.ctx:Lcom/jayway/jsonpath/internal/path/EvaluationContextImpl;
invokevirtual com.jayway.jsonpath.internal.path.EvaluationContextImpl.jsonProvider:()Lcom/jayway/jsonpath/spi/json/JsonProvider;
aload 1 /* model */
invokeinterface com.jayway.jsonpath.spi.json.JsonProvider.getPropertyKeys:(Ljava/lang/Object;)Ljava/util/Collection;
astore 2 /* keys */
start local 2 // java.util.Collection keys
7: .line 203
aload 2 /* keys */
aload 0 /* this */
getfield com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate.propertyPathToken:Lcom/jayway/jsonpath/internal/path/PropertyPathToken;
invokevirtual com.jayway.jsonpath.internal.path.PropertyPathToken.getProperties:()Ljava/util/List;
invokeinterface java.util.Collection.containsAll:(Ljava/util/Collection;)Z
ireturn
end local 2 // java.util.Collection keys
end local 1 // java.lang.Object model
end local 0 // com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/jayway/jsonpath/internal/path/ScanPathToken$PropertyPathTokenPredicate;
0 8 1 model Ljava/lang/Object;
7 8 2 keys Ljava/util/Collection<Ljava/lang/String;>;
MethodParameters:
Name Flags
model
}
SourceFile: "ScanPathToken.java"
NestHost: com.jayway.jsonpath.internal.path.ScanPathToken
InnerClasses:
private abstract Predicate = com.jayway.jsonpath.internal.path.ScanPathToken$Predicate of com.jayway.jsonpath.internal.path.ScanPathToken
private final PropertyPathTokenPredicate = com.jayway.jsonpath.internal.path.ScanPathToken$PropertyPathTokenPredicate of com.jayway.jsonpath.internal.path.ScanPathToken