public final class org.eclipse.parsson.JsonPointerImpl extends java.lang.Object implements jakarta.json.JsonPointer, java.io.Serializable
{
private static final long serialVersionUID;
private final java.lang.String[] tokens;
private final java.lang.String jsonPointer;
public void <init>(java.lang.String)
{
java.lang.String[] v, v, v, v, v;
int v, v, v, v, v, v, v, v;
jakarta.json.JsonException v;
java.lang.String v, v, v, v, v, v;
boolean v;
char v, v;
java.lang.StringBuilder v;
org.eclipse.parsson.JsonPointerImpl v;
v := @this: org.eclipse.parsson.JsonPointerImpl;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String jsonPointer> = v;
v = (int) -1;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String,int)>("/", v);
v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String[] tokens> = v;
v = "";
v = v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String[] tokens>;
v = v[0];
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new jakarta.json.JsonException;
v = staticinvoke <org.eclipse.parsson.JsonMessages: java.lang.String POINTER_FORMAT_INVALID()>();
specialinvoke v.<jakarta.json.JsonException: void <init>(java.lang.String)>(v);
throw v;
label:
v = 1;
label:
v = v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String[] tokens>;
v = lengthof v;
if v >= v goto label;
v = v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String[] tokens>;
v = v[v];
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = 0;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 126 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
if v >= v goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 48 goto label;
v = 126;
v = v + 1;
goto label;
label:
if v != 49 goto label;
v = 47;
v = v + 1;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
v = v + 1;
goto label;
label:
v = v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String[] tokens>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v[v] = v;
v = v + 1;
goto label;
label:
return;
}
public boolean equals(java.lang.Object)
{
java.lang.Class v;
java.lang.Object v;
java.lang.String v, v;
org.eclipse.parsson.JsonPointerImpl v;
boolean v;
v := @this: org.eclipse.parsson.JsonPointerImpl;
v := @parameter: java.lang.Object;
if v != v goto label;
return 1;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
if v == class "Lorg/eclipse/parsson/JsonPointerImpl;" goto label;
label:
return 0;
label:
v = v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String jsonPointer>;
v = v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String jsonPointer>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
return v;
}
public int hashCode()
{
int v;
java.lang.String v;
org.eclipse.parsson.JsonPointerImpl v;
v := @this: org.eclipse.parsson.JsonPointerImpl;
v = v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String jsonPointer>;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
return v;
}
public boolean containsValue(jakarta.json.JsonStructure)
{
org.eclipse.parsson.NodeReference v;
jakarta.json.JsonStructure v;
org.eclipse.parsson.NodeReference[] v;
org.eclipse.parsson.JsonPointerImpl v;
boolean v;
v := @this: org.eclipse.parsson.JsonPointerImpl;
v := @parameter: jakarta.json.JsonStructure;
v = specialinvoke v.<org.eclipse.parsson.JsonPointerImpl: org.eclipse.parsson.NodeReference[] getReferences(jakarta.json.JsonStructure)>(v);
v = v[0];
v = virtualinvoke v.<org.eclipse.parsson.NodeReference: boolean contains()>();
return v;
}
public jakarta.json.JsonValue getValue(jakarta.json.JsonStructure)
{
org.eclipse.parsson.NodeReference v;
jakarta.json.JsonStructure v;
org.eclipse.parsson.NodeReference[] v;
jakarta.json.JsonValue v;
org.eclipse.parsson.JsonPointerImpl v;
v := @this: org.eclipse.parsson.JsonPointerImpl;
v := @parameter: jakarta.json.JsonStructure;
v = specialinvoke v.<org.eclipse.parsson.JsonPointerImpl: org.eclipse.parsson.NodeReference[] getReferences(jakarta.json.JsonStructure)>(v);
v = v[0];
v = virtualinvoke v.<org.eclipse.parsson.NodeReference: jakarta.json.JsonValue get()>();
return v;
}
public jakarta.json.JsonStructure add(jakarta.json.JsonStructure, jakarta.json.JsonValue)
{
jakarta.json.JsonStructure v, v;
jakarta.json.JsonValue v;
java.util.function.BiFunction v;
org.eclipse.parsson.JsonPointerImpl v;
v := @this: org.eclipse.parsson.JsonPointerImpl;
v := @parameter: jakarta.json.JsonStructure;
v := @parameter: jakarta.json.JsonValue;
v = staticinvoke <org.eclipse.parsson.JsonPointerImpl$add__584: java.util.function.BiFunction bootstrap$()>();
v = specialinvoke v.<org.eclipse.parsson.JsonPointerImpl: jakarta.json.JsonStructure execute(java.util.function.BiFunction,jakarta.json.JsonStructure,jakarta.json.JsonValue)>(v, v, v);
return v;
}
public jakarta.json.JsonStructure replace(jakarta.json.JsonStructure, jakarta.json.JsonValue)
{
jakarta.json.JsonStructure v, v;
jakarta.json.JsonValue v;
java.util.function.BiFunction v;
org.eclipse.parsson.JsonPointerImpl v;
v := @this: org.eclipse.parsson.JsonPointerImpl;
v := @parameter: jakarta.json.JsonStructure;
v := @parameter: jakarta.json.JsonValue;
v = staticinvoke <org.eclipse.parsson.JsonPointerImpl$replace__585: java.util.function.BiFunction bootstrap$()>();
v = specialinvoke v.<org.eclipse.parsson.JsonPointerImpl: jakarta.json.JsonStructure execute(java.util.function.BiFunction,jakarta.json.JsonStructure,jakarta.json.JsonValue)>(v, v, v);
return v;
}
public jakarta.json.JsonStructure remove(jakarta.json.JsonStructure)
{
jakarta.json.JsonStructure v, v;
java.util.function.BiFunction v;
org.eclipse.parsson.JsonPointerImpl v;
v := @this: org.eclipse.parsson.JsonPointerImpl;
v := @parameter: jakarta.json.JsonStructure;
v = staticinvoke <org.eclipse.parsson.JsonPointerImpl$lambda_remove_0__586: java.util.function.BiFunction bootstrap$()>();
v = specialinvoke v.<org.eclipse.parsson.JsonPointerImpl: jakarta.json.JsonStructure execute(java.util.function.BiFunction,jakarta.json.JsonStructure,jakarta.json.JsonValue)>(v, v, null);
return v;
}
public java.lang.String toString()
{
java.lang.String v;
org.eclipse.parsson.JsonPointerImpl v;
v := @this: org.eclipse.parsson.JsonPointerImpl;
v = v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String jsonPointer>;
return v;
}
private jakarta.json.JsonStructure execute(java.util.function.BiFunction, jakarta.json.JsonStructure, jakarta.json.JsonValue)
{
org.eclipse.parsson.NodeReference[] v;
jakarta.json.JsonValue v;
java.util.function.BiFunction v;
org.eclipse.parsson.NodeReference v, v;
jakarta.json.JsonStructure v;
int v, v;
java.lang.Object v;
org.eclipse.parsson.JsonPointerImpl v;
v := @this: org.eclipse.parsson.JsonPointerImpl;
v := @parameter: java.util.function.BiFunction;
v := @parameter: jakarta.json.JsonStructure;
v := @parameter: jakarta.json.JsonValue;
v = specialinvoke v.<org.eclipse.parsson.JsonPointerImpl: org.eclipse.parsson.NodeReference[] getReferences(jakarta.json.JsonStructure)>(v);
v = v[0];
v = interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>(v, v);
v = 1;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<org.eclipse.parsson.NodeReference: jakarta.json.JsonStructure replace(jakarta.json.JsonValue)>(v);
v = v + 1;
goto label;
label:
return v;
}
private org.eclipse.parsson.NodeReference[] getReferences(jakarta.json.JsonStructure)
{
int[] v;
org.eclipse.parsson.JsonPointerImpl v;
java.lang.String[] v, v, v, v, v, v, v;
jakarta.json.JsonStructure v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
jakarta.json.JsonValue$ValueType v, v;
jakarta.json.JsonException v, v, v;
java.lang.String v, v, v, v, v, v, v;
org.eclipse.parsson.NodeReference[] v, v;
org.eclipse.parsson.NodeReference v, v, v;
java.lang.Object v;
v := @this: org.eclipse.parsson.JsonPointerImpl;
v := @parameter: jakarta.json.JsonStructure;
v = v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String[] tokens>;
v = lengthof v;
if v != 1 goto label;
v = newarray (org.eclipse.parsson.NodeReference)[1];
v = staticinvoke <org.eclipse.parsson.NodeReference: org.eclipse.parsson.NodeReference of(jakarta.json.JsonStructure)>(v);
v[0] = v;
return v;
label:
v = v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String[] tokens>;
v = lengthof v;
v = v - 1;
v = newarray (org.eclipse.parsson.NodeReference)[v];
v = v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String[] tokens>;
v = lengthof v;
v = 1;
label:
if v >= v goto label;
v = <org.eclipse.parsson.JsonPointerImpl$1: int[] $SwitchMap$jakarta$json$JsonValue$ValueType>;
v = interfaceinvoke v.<jakarta.json.JsonValue: jakarta.json.JsonValue$ValueType getValueType()>();
v = virtualinvoke v.<jakarta.json.JsonValue$ValueType: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = v - v;
v = v - 1;
v = v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String[] tokens>;
v = v[v];
v = staticinvoke <org.eclipse.parsson.NodeReference: org.eclipse.parsson.NodeReference of(jakarta.json.JsonObject,java.lang.String)>(v, v);
v[v] = v;
v = v - 1;
if v >= v goto label;
v = v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String[] tokens>;
v = v[v];
v = interfaceinvoke v.<jakarta.json.JsonObject: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new jakarta.json.JsonException;
v = v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String[] tokens>;
v = v[v];
v = staticinvoke <org.eclipse.parsson.JsonMessages: java.lang.String POINTER_MAPPING_MISSING(jakarta.json.JsonObject,java.lang.String)>(v, v);
specialinvoke v.<jakarta.json.JsonException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.eclipse.parsson.JsonPointerImpl: java.lang.String[] tokens>;
v = v[v];
v = staticinvoke <org.eclipse.parsson.JsonPointerImpl: int getIndex(java.lang.String)>(v);
v = v - v;
v = v - 1;
v = staticinvoke <org.eclipse.parsson.NodeReference: org.eclipse.parsson.NodeReference of(jakarta.json.JsonArray,int)>(v, v);
v[v] = v;
v = v - 1;
if v >= v goto label;
v = (int) -1;
if v == v goto label;
v = interfaceinvoke v.<jakarta.json.JsonArray: int size()>();
if v < v goto label;
v = new jakarta.json.JsonException;
v = interfaceinvoke v.<jakarta.json.JsonArray: int size()>();
v = staticinvoke <org.eclipse.parsson.JsonMessages: java.lang.String NODEREF_ARRAY_INDEX_ERR(int,int)>(v, v);
specialinvoke v.<jakarta.json.JsonException: void <init>(java.lang.String)>(v);
throw v;
label:
interfaceinvoke v.<jakarta.json.JsonArray: java.lang.Object get(int)>(v);
goto label;
label:
v = new jakarta.json.JsonException;
v = interfaceinvoke v.<jakarta.json.JsonValue: jakarta.json.JsonValue$ValueType getValueType()>();
v = staticinvoke <org.eclipse.parsson.JsonMessages: java.lang.String POINTER_REFERENCE_INVALID(jakarta.json.JsonValue$ValueType)>(v);
specialinvoke v.<jakarta.json.JsonException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v + 1;
goto label;
label:
return v;
}
private static int getIndex(java.lang.String)
{
char v, v;
java.lang.NumberFormatException v;
int v, v, v;
jakarta.json.JsonException v, v, v;
java.lang.String v, v, v, v;
boolean v, v;
v := @parameter: java.lang.String;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
label:
v = new jakarta.json.JsonException;
v = staticinvoke <org.eclipse.parsson.JsonMessages: java.lang.String POINTER_ARRAY_INDEX_ERR(java.lang.String)>(v);
specialinvoke v.<jakarta.json.JsonException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("-");
if v == 0 goto label;
v = (int) -1;
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("0");
if v == 0 goto label;
return 0;
label:
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v == 43 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
if v != 45 goto label;
label:
v = new jakarta.json.JsonException;
v = staticinvoke <org.eclipse.parsson.JsonMessages: java.lang.String POINTER_ARRAY_INDEX_ERR(java.lang.String)>(v);
specialinvoke v.<jakarta.json.JsonException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = new jakarta.json.JsonException;
v = staticinvoke <org.eclipse.parsson.JsonMessages: java.lang.String POINTER_ARRAY_INDEX_ILLEGAL(java.lang.String)>(v);
specialinvoke v.<jakarta.json.JsonException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.NumberFormatException from label to label with label;
}
}