public class com.jayway.jsonpath.spi.json.GsonJsonProvider extends com.jayway.jsonpath.spi.json.AbstractJsonProvider
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.jayway.jsonpath.spi.json.GsonJsonProvider
super_class: com.jayway.jsonpath.spi.json.AbstractJsonProvider
{
private static final com.google.gson.JsonParser PARSER;
descriptor: Lcom/google/gson/JsonParser;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final com.google.gson.Gson gson;
descriptor: Lcom/google/gson/Gson;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.google.gson.JsonParser
dup
invokespecial com.google.gson.JsonParser.<init>:()V
putstatic com.jayway.jsonpath.spi.json.GsonJsonProvider.PARSER:Lcom/google/gson/JsonParser;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new com.google.gson.Gson
dup
invokespecial com.google.gson.Gson.<init>:()V
invokespecial com.jayway.jsonpath.spi.json.GsonJsonProvider.<init>:(Lcom/google/gson/Gson;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
public void <init>(com.google.gson.Gson);
descriptor: (Lcom/google/gson/Gson;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.jayway.jsonpath.spi.json.AbstractJsonProvider.<init>:()V
1: aload 0
aload 1
putfield com.jayway.jsonpath.spi.json.GsonJsonProvider.gson:Lcom/google/gson/Gson;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 3 1 gson Lcom/google/gson/Gson;
MethodParameters:
Name Flags
gson final
public java.lang.Object unwrap(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof com.google.gson.JsonElement
ifne 4
3: aload 1
areturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast com.google.gson.JsonElement
astore 2
start local 2 5: aload 2
invokevirtual com.google.gson.JsonElement.isJsonNull:()Z
ifeq 7
6: aconst_null
areturn
7: StackMap locals: com.google.gson.JsonElement
StackMap stack:
aload 2
invokevirtual com.google.gson.JsonElement.isJsonPrimitive:()Z
ifeq 15
8: aload 2
invokevirtual com.google.gson.JsonElement.getAsJsonPrimitive:()Lcom/google/gson/JsonPrimitive;
astore 3
start local 3 9: aload 3
invokevirtual com.google.gson.JsonPrimitive.isString:()Z
ifeq 11
10: aload 3
invokevirtual com.google.gson.JsonPrimitive.getAsString:()Ljava/lang/String;
areturn
11: StackMap locals: com.google.gson.JsonPrimitive
StackMap stack:
aload 3
invokevirtual com.google.gson.JsonPrimitive.isBoolean:()Z
ifeq 13
12: aload 3
invokevirtual com.google.gson.JsonPrimitive.getAsBoolean:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
13: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.google.gson.JsonPrimitive.isNumber:()Z
ifeq 15
14: aload 3
invokevirtual com.google.gson.JsonPrimitive.getAsNumber:()Ljava/lang/Number;
invokestatic com.jayway.jsonpath.spi.json.GsonJsonProvider.unwrapNumber:(Ljava/lang/Number;)Ljava/lang/Number;
areturn
end local 3 15: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 16 1 o Ljava/lang/Object;
5 16 2 e Lcom/google/gson/JsonElement;
9 15 3 p Lcom/google/gson/JsonPrimitive;
MethodParameters:
Name Flags
o final
private static boolean isPrimitiveNumber(java.lang.Number);
descriptor: (Ljava/lang/Number;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.Integer
ifne 6
1: aload 0
instanceof java.lang.Double
ifne 6
2: aload 0
instanceof java.lang.Long
ifne 6
3: aload 0
instanceof java.math.BigDecimal
ifne 6
4: aload 0
instanceof java.math.BigInteger
ifne 6
5: iconst_0
ireturn
StackMap locals:
StackMap stack:
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 n Ljava/lang/Number;
MethodParameters:
Name Flags
n final
private static java.lang.Number unwrapNumber(java.lang.Number);
descriptor: (Ljava/lang/Number;)Ljava/lang/Number;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
invokestatic com.jayway.jsonpath.spi.json.GsonJsonProvider.isPrimitiveNumber:(Ljava/lang/Number;)Z
ifne 17
1: new java.math.BigDecimal
dup
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
astore 2
start local 2 2: aload 2
invokevirtual java.math.BigDecimal.scale:()I
ifgt 11
3: aload 2
new java.math.BigDecimal
dup
ldc 2147483647
invokespecial java.math.BigDecimal.<init>:(I)V
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ifgt 6
4: aload 2
invokevirtual java.math.BigDecimal.intValue:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 1
start local 1 5: goto 18
end local 1 StackMap locals: java.lang.Number top java.math.BigDecimal
StackMap stack:
6: aload 2
new java.math.BigDecimal
dup
ldc 9223372036854775807
invokespecial java.math.BigDecimal.<init>:(J)V
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ifgt 9
7: aload 2
invokevirtual java.math.BigDecimal.longValue:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
astore 1
start local 1 8: goto 18
end local 1 9: StackMap locals:
StackMap stack:
aload 2
astore 1
start local 1 10: goto 18
end local 1 11: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.math.BigDecimal.doubleValue:()D
dstore 3
start local 3 12: dload 3
invokestatic java.math.BigDecimal.valueOf:(D)Ljava/math/BigDecimal;
aload 2
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ifeq 15
13: aload 2
astore 1
start local 1 14: goto 18
end local 1 15: StackMap locals: double
StackMap stack:
dload 3
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
astore 1
end local 3 end local 2 start local 1 16: goto 18
end local 1 17: StackMap locals: java.lang.Number
StackMap stack:
aload 0
astore 1
start local 1 18: StackMap locals: java.lang.Number
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 n Ljava/lang/Number;
5 6 1 unwrapped Ljava/lang/Number;
8 9 1 unwrapped Ljava/lang/Number;
10 11 1 unwrapped Ljava/lang/Number;
14 15 1 unwrapped Ljava/lang/Number;
16 17 1 unwrapped Ljava/lang/Number;
18 19 1 unwrapped Ljava/lang/Number;
2 16 2 bigDecimal Ljava/math/BigDecimal;
12 16 3 doubleValue D
MethodParameters:
Name Flags
n final
public java.lang.Object parse(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.jayway.jsonpath.spi.json.GsonJsonProvider.PARSER:Lcom/google/gson/JsonParser;
aload 1
invokevirtual com.google.gson.JsonParser.parse:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 1 1 json Ljava/lang/String;
Exceptions:
throws com.jayway.jsonpath.InvalidJsonException
MethodParameters:
Name Flags
json final
public java.lang.Object parse(java.io.InputStream, java.lang.String);
descriptor: (Ljava/io/InputStream;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.jayway.jsonpath.spi.json.GsonJsonProvider.PARSER:Lcom/google/gson/JsonParser;
new java.io.InputStreamReader
dup
aload 1
aload 2
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
invokevirtual com.google.gson.JsonParser.parse:(Ljava/io/Reader;)Lcom/google/gson/JsonElement;
1: areturn
2: StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
astore 3
start local 3 3: new com.jayway.jsonpath.JsonPathException
dup
aload 3
invokespecial com.jayway.jsonpath.JsonPathException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 4 1 jsonStream Ljava/io/InputStream;
0 4 2 charset Ljava/lang/String;
3 4 3 e Ljava/io/UnsupportedEncodingException;
Exception table:
from to target type
0 1 2 Class java.io.UnsupportedEncodingException
Exceptions:
throws com.jayway.jsonpath.InvalidJsonException
MethodParameters:
Name Flags
jsonStream final
charset final
public java.lang.String toJson(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jayway.jsonpath.spi.json.GsonJsonProvider.gson:Lcom/google/gson/Gson;
aload 1
invokevirtual com.google.gson.Gson.toJson:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj final
public java.lang.Object createArray();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.google.gson.JsonArray
dup
invokespecial com.google.gson.JsonArray.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
public java.lang.Object createMap();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.google.gson.JsonObject
dup
invokespecial com.google.gson.JsonObject.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
public boolean isArray(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.google.gson.JsonArray
ifne 1
aload 1
instanceof java.util.List
ifne 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/spi/json/GsonJsonProvider;
0 2 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj final
public java.lang.Object getArrayIndex(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.toJsonArray:(Ljava/lang/Object;)Lcom/google/gson/JsonArray;
iload 2
invokevirtual com.google.gson.JsonArray.get:(I)Lcom/google/gson/JsonElement;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 1 1 obj Ljava/lang/Object;
0 1 2 idx I
MethodParameters:
Name Flags
obj final
idx final
public void setArrayIndex(java.lang.Object, int, java.lang.Object);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.isArray:(Ljava/lang/Object;)Z
ifne 2
1: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.toJsonArray:(Ljava/lang/Object;)Lcom/google/gson/JsonArray;
astore 4
start local 4 3: iload 2
aload 4
invokevirtual com.google.gson.JsonArray.size:()I
if_icmpne 6
4: aload 4
aload 0
aload 3
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.createJsonElement:(Ljava/lang/Object;)Lcom/google/gson/JsonElement;
invokevirtual com.google.gson.JsonArray.add:(Lcom/google/gson/JsonElement;)V
5: goto 7
6: StackMap locals: com.google.gson.JsonArray
StackMap stack:
aload 4
iload 2
aload 0
aload 3
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.createJsonElement:(Ljava/lang/Object;)Lcom/google/gson/JsonElement;
invokevirtual com.google.gson.JsonArray.set:(ILcom/google/gson/JsonElement;)Lcom/google/gson/JsonElement;
pop
end local 4 7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 8 1 array Ljava/lang/Object;
0 8 2 index I
0 8 3 newValue Ljava/lang/Object;
3 7 4 arr Lcom/google/gson/JsonArray;
MethodParameters:
Name Flags
array final
index final
newValue final
public java.lang.Object getMapValue(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.toJsonObject:(Ljava/lang/Object;)Lcom/google/gson/JsonObject;
astore 3
start local 3 1: aload 3
aload 2
invokevirtual com.google.gson.JsonObject.get:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
astore 4
start local 4 2: aload 3
aload 2
invokevirtual com.google.gson.JsonObject.has:(Ljava/lang/String;)Z
ifne 4
3: getstatic com.jayway.jsonpath.spi.json.GsonJsonProvider.UNDEFINED:Ljava/lang/Object;
areturn
4: StackMap locals: com.google.gson.JsonObject java.lang.Object
StackMap stack:
aload 0
aload 4
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.unwrap:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 5 1 obj Ljava/lang/Object;
0 5 2 key Ljava/lang/String;
1 5 3 jsonObject Lcom/google/gson/JsonObject;
2 5 4 o Ljava/lang/Object;
MethodParameters:
Name Flags
obj final
key final
public void setProperty(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.isMap:(Ljava/lang/Object;)Z
ifeq 3
1: aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.toJsonObject:(Ljava/lang/Object;)Lcom/google/gson/JsonObject;
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
aload 0
aload 3
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.createJsonElement:(Ljava/lang/Object;)Lcom/google/gson/JsonElement;
invokevirtual com.google.gson.JsonObject.add:(Ljava/lang/String;Lcom/google/gson/JsonElement;)V
2: goto 14
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.toJsonArray:(Ljava/lang/Object;)Lcom/google/gson/JsonArray;
astore 4
start local 4 4: aload 2
ifnull 9
5: aload 2
instanceof java.lang.Integer
ifeq 6
aload 2
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
goto 7
StackMap locals: com.google.gson.JsonArray
StackMap stack:
6: aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
StackMap locals:
StackMap stack: int
7: istore 5
start local 5 8: goto 10
end local 5 9: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.google.gson.JsonArray.size:()I
istore 5
start local 5 10: StackMap locals: int
StackMap stack:
iload 5
aload 4
invokevirtual com.google.gson.JsonArray.size:()I
if_icmpne 13
11: aload 4
aload 0
aload 3
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.createJsonElement:(Ljava/lang/Object;)Lcom/google/gson/JsonElement;
invokevirtual com.google.gson.JsonArray.add:(Lcom/google/gson/JsonElement;)V
12: goto 14
13: StackMap locals:
StackMap stack:
aload 4
iload 5
aload 0
aload 3
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.createJsonElement:(Ljava/lang/Object;)Lcom/google/gson/JsonElement;
invokevirtual com.google.gson.JsonArray.set:(ILcom/google/gson/JsonElement;)Lcom/google/gson/JsonElement;
pop
end local 5 end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 15 1 obj Ljava/lang/Object;
0 15 2 key Ljava/lang/Object;
0 15 3 value Ljava/lang/Object;
4 14 4 array Lcom/google/gson/JsonArray;
8 9 5 index I
10 14 5 index I
MethodParameters:
Name Flags
obj final
key final
value final
public void removeProperty(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.isMap:(Ljava/lang/Object;)Z
ifeq 3
1: aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.toJsonObject:(Ljava/lang/Object;)Lcom/google/gson/JsonObject;
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual com.google.gson.JsonObject.remove:(Ljava/lang/String;)Lcom/google/gson/JsonElement;
pop
2: goto 8
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.toJsonArray:(Ljava/lang/Object;)Lcom/google/gson/JsonArray;
astore 3
start local 3 4: aload 2
instanceof java.lang.Integer
ifeq 5
aload 2
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
goto 6
StackMap locals: com.google.gson.JsonArray
StackMap stack:
5: aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
StackMap locals:
StackMap stack: int
6: istore 4
start local 4 7: aload 3
iload 4
invokevirtual com.google.gson.JsonArray.remove:(I)Lcom/google/gson/JsonElement;
pop
end local 4 end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 9 1 obj Ljava/lang/Object;
0 9 2 key Ljava/lang/Object;
4 8 3 array Lcom/google/gson/JsonArray;
7 8 4 index I
MethodParameters:
Name Flags
obj final
key final
public boolean isMap(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.google.gson.JsonObject
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj final
public java.util.Collection<java.lang.String> getPropertyKeys();
descriptor: (Ljava/lang/Object;)Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.toJsonObject:(Ljava/lang/Object;)Lcom/google/gson/JsonObject;
invokevirtual com.google.gson.JsonObject.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: com.jayway.jsonpath.spi.json.GsonJsonProvider java.lang.Object java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 3: aload 2
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 6 1 obj Ljava/lang/Object;
1 6 2 keys Ljava/util/List<Ljava/lang/String;>;
3 4 3 entry Ljava/util/Map$Entry<Ljava/lang/String;Lcom/google/gson/JsonElement;>;
Signature: (Ljava/lang/Object;)Ljava/util/Collection<Ljava/lang/String;>;
MethodParameters:
Name Flags
obj final
public int length(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.isArray:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.toJsonArray:(Ljava/lang/Object;)Lcom/google/gson/JsonArray;
invokevirtual com.google.gson.JsonArray.size:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.isMap:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.toJsonObject:(Ljava/lang/Object;)Lcom/google/gson/JsonObject;
invokevirtual com.google.gson.JsonObject.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
ireturn
4: StackMap locals:
StackMap stack:
aload 1
instanceof com.google.gson.JsonElement
ifeq 8
5: aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.toJsonElement:(Ljava/lang/Object;)Lcom/google/gson/JsonElement;
astore 2
start local 2 6: aload 2
invokevirtual com.google.gson.JsonElement.isJsonPrimitive:()Z
ifeq 8
7: aload 2
invokevirtual com.google.gson.JsonElement.toString:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ireturn
end local 2 8: StackMap locals:
StackMap stack:
new com.jayway.jsonpath.JsonPathException
dup
new java.lang.StringBuilder
dup
ldc "length operation can not applied to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ifnull 9
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
goto 10
9: StackMap locals: com.jayway.jsonpath.spi.json.GsonJsonProvider java.lang.Object
StackMap stack: new 8 new 8
ldc "null"
10: StackMap locals: com.jayway.jsonpath.spi.json.GsonJsonProvider java.lang.Object
StackMap stack: new 8 new 8 java.lang.String
invokespecial com.jayway.jsonpath.JsonPathException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 11 1 obj Ljava/lang/Object;
6 8 2 element Lcom/google/gson/JsonElement;
MethodParameters:
Name Flags
obj final
public java.lang.Iterable<?> toIterable();
descriptor: (Ljava/lang/Object;)Ljava/lang/Iterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.toJsonArray:(Ljava/lang/Object;)Lcom/google/gson/JsonArray;
astore 2
start local 2 1: new java.util.ArrayList
dup
aload 2
invokevirtual com.google.gson.JsonArray.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 2: aload 2
invokevirtual com.google.gson.JsonArray.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: com.jayway.jsonpath.spi.json.GsonJsonProvider java.lang.Object com.google.gson.JsonArray java.util.List top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 4
start local 4 4: aload 3
aload 0
aload 4
invokevirtual com.jayway.jsonpath.spi.json.GsonJsonProvider.unwrap:(Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 3
areturn
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/spi/json/GsonJsonProvider;
0 7 1 obj Ljava/lang/Object;
1 7 2 arr Lcom/google/gson/JsonArray;
2 7 3 values Ljava/util/List<Ljava/lang/Object;>;
4 5 4 o Ljava/lang/Object;
Signature: (Ljava/lang/Object;)Ljava/lang/Iterable<*>;
MethodParameters:
Name Flags
obj final
private com.google.gson.JsonElement createJsonElement(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/google/gson/JsonElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jayway.jsonpath.spi.json.GsonJsonProvider.gson:Lcom/google/gson/Gson;
aload 1
invokevirtual com.google.gson.Gson.toJsonTree:(Ljava/lang/Object;)Lcom/google/gson/JsonElement;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 1 1 o Ljava/lang/Object;
MethodParameters:
Name Flags
o final
private com.google.gson.JsonArray toJsonArray(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/google/gson/JsonArray;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.google.gson.JsonArray
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 1 1 o Ljava/lang/Object;
MethodParameters:
Name Flags
o final
private com.google.gson.JsonObject toJsonObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/google/gson/JsonObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.google.gson.JsonObject
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 1 1 o Ljava/lang/Object;
MethodParameters:
Name Flags
o final
private com.google.gson.JsonElement toJsonElement(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/google/gson/JsonElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.google.gson.JsonElement
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jayway/jsonpath/spi/json/GsonJsonProvider;
0 1 1 o Ljava/lang/Object;
MethodParameters:
Name Flags
o final
}
SourceFile: "GsonJsonProvider.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map