public class org.apache.zookeeper.server.SnapshotFormatter extends java.lang.Object
{
private static java.lang.Integer INODE_IDX;
public void <init>()
{
org.apache.zookeeper.server.SnapshotFormatter v;
v := @this: org.apache.zookeeper.server.SnapshotFormatter;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static void main(java.lang.String[]) throws java.lang.Exception
{
java.lang.String[] v;
int v, v, v, v, v, v;
java.lang.String v, v, v, v;
boolean v, v, v, v;
java.io.PrintStream v, v, v, v, v;
org.apache.zookeeper.server.ExitCode v, v, v;
org.apache.zookeeper.server.SnapshotFormatter v;
v := @parameter: java.lang.String[];
v = null;
v = 0;
v = 0;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("-d");
if v == 0 goto label;
v = 1;
goto label;
label:
v = v[v];
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("-json");
if v == 0 goto label;
v = 1;
goto label;
label:
v = v[v];
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = lengthof v;
if v != v goto label;
if v != null goto label;
label:
v = <java.lang.System: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("USAGE: SnapshotFormatter [-d|-json] snapshot_file");
v = <java.lang.System: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("       -d dump the data for each znode");
v = <java.lang.System: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("       -json dump znode info in json format");
v = <org.apache.zookeeper.server.ExitCode: org.apache.zookeeper.server.ExitCode INVALID_INVOCATION>;
v = virtualinvoke v.<org.apache.zookeeper.server.ExitCode: int getValue()>();
staticinvoke <org.apache.zookeeper.util.ServiceUtils: void requestSystemExit(int)>(v);
return;
label:
v = staticinvoke <org.apache.zookeeper.ZKUtil: java.lang.String validateFileInput(java.lang.String)>(v);
if null == v goto label;
v = <java.lang.System: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = <org.apache.zookeeper.server.ExitCode: org.apache.zookeeper.server.ExitCode INVALID_INVOCATION>;
v = virtualinvoke v.<org.apache.zookeeper.server.ExitCode: int getValue()>();
staticinvoke <org.apache.zookeeper.util.ServiceUtils: void requestSystemExit(int)>(v);
label:
if v == 0 goto label;
if v == 0 goto label;
v = <java.lang.System: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("Cannot specify both data dump (-d) and json mode (-json) in same call");
v = <org.apache.zookeeper.server.ExitCode: org.apache.zookeeper.server.ExitCode INVALID_INVOCATION>;
v = virtualinvoke v.<org.apache.zookeeper.server.ExitCode: int getValue()>();
staticinvoke <org.apache.zookeeper.util.ServiceUtils: void requestSystemExit(int)>(v);
label:
v = new org.apache.zookeeper.server.SnapshotFormatter;
specialinvoke v.<org.apache.zookeeper.server.SnapshotFormatter: void <init>()>();
virtualinvoke v.<org.apache.zookeeper.server.SnapshotFormatter: void run(java.lang.String,boolean,boolean)>(v, v, v);
return;
}
public void run(java.lang.String, boolean, boolean) throws java.io.IOException
{
java.lang.Throwable v;
java.util.zip.CheckedInputStream v;
java.util.HashMap v;
long v;
java.io.File v;
org.apache.jute.BinaryInputArchive v;
org.apache.zookeeper.server.DataTree v;
org.apache.zookeeper.server.SnapshotFormatter v;
java.lang.String v, v;
boolean v, v;
v := @this: org.apache.zookeeper.server.SnapshotFormatter;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: boolean;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = staticinvoke <org.apache.zookeeper.server.persistence.SnapStream: java.util.zip.CheckedInputStream getInputStream(java.io.File)>(v);
label:
v = staticinvoke <org.apache.jute.BinaryInputArchive: org.apache.jute.BinaryInputArchive getArchive(java.io.InputStream)>(v);
v = new org.apache.zookeeper.server.DataTree;
specialinvoke v.<org.apache.zookeeper.server.DataTree: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
staticinvoke <org.apache.zookeeper.server.persistence.FileSnap: void deserialize(org.apache.zookeeper.server.DataTree,java.util.Map,org.apache.jute.InputArchive)>(v, v, v);
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
v = staticinvoke <org.apache.zookeeper.server.persistence.Util: long getZxidFromName(java.lang.String,java.lang.String)>(v, "snapshot");
if v == 0 goto label;
specialinvoke v.<org.apache.zookeeper.server.SnapshotFormatter: void printSnapshotJson(org.apache.zookeeper.server.DataTree)>(v);
goto label;
label:
specialinvoke v.<org.apache.zookeeper.server.SnapshotFormatter: void printDetails(org.apache.zookeeper.server.DataTree,java.util.Map,boolean,long)>(v, v, v, v);
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void printDetails(org.apache.zookeeper.server.DataTree, java.util.Map, boolean, long)
{
java.lang.Object[] v, v;
long v, v, v, v, v;
java.lang.Long v;
java.util.Map v;
java.lang.String v, v, v, v;
boolean v;
org.apache.zookeeper.server.DataTree$ZxidDigest v;
java.io.PrintStream v, v;
org.apache.zookeeper.server.DataTree v;
org.apache.zookeeper.server.SnapshotFormatter v;
v := @this: org.apache.zookeeper.server.SnapshotFormatter;
v := @parameter: org.apache.zookeeper.server.DataTree;
v := @parameter: java.util.Map;
v := @parameter: boolean;
v := @parameter: long;
v = specialinvoke v.<org.apache.zookeeper.server.SnapshotFormatter: long printZnodeDetails(org.apache.zookeeper.server.DataTree,boolean)>(v, v);
specialinvoke v.<org.apache.zookeeper.server.SnapshotFormatter: void printSessionDetails(org.apache.zookeeper.server.DataTree,java.util.Map)>(v, v);
v = virtualinvoke v.<org.apache.zookeeper.server.DataTree: org.apache.zookeeper.server.DataTree$ZxidDigest getDigestFromLoadedSnapshot()>();
if v == null goto label;
v = <java.lang.System: java.io.PrintStream out>;
v = newarray (java.lang.Object)[2];
v = v.<org.apache.zookeeper.server.DataTree$ZxidDigest: long zxid>;
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v[0] = v;
v = v.<org.apache.zookeeper.server.DataTree$ZxidDigest: long digest>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Target zxid digest is: %s, %s", v);
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
label:
v = <java.lang.System: java.io.PrintStream out>;
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Math: long max(long,long)>(v, v);
v = staticinvoke <java.lang.Long: java.lang.String toHexString(long)>(v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("----%nLast zxid: 0x%s", v);
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
return;
}
private long printZnodeDetails(org.apache.zookeeper.server.DataTree, boolean)
{
java.io.PrintStream v, v;
java.lang.Object[] v;
long v;
java.lang.Integer v;
int v;
org.apache.zookeeper.server.DataTree v;
org.apache.zookeeper.server.SnapshotFormatter v;
java.lang.String v;
boolean v;
v := @this: org.apache.zookeeper.server.SnapshotFormatter;
v := @parameter: org.apache.zookeeper.server.DataTree;
v := @parameter: boolean;
v = <java.lang.System: java.io.PrintStream out>;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<org.apache.zookeeper.server.DataTree: int getNodeCount()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("ZNode Details (count=%d):", v);
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = specialinvoke v.<org.apache.zookeeper.server.SnapshotFormatter: long printZnode(org.apache.zookeeper.server.DataTree,java.lang.String,boolean)>(v, "/", v);
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("----");
return v;
}
private long printZnode(org.apache.zookeeper.server.DataTree, java.lang.String, boolean)
{
byte[] v, v, v, v;
boolean v, v, v;
org.apache.zookeeper.server.DataNode v;
java.util.Set v;
java.lang.Throwable v;
long v, v, v, v;
int v;
org.apache.zookeeper.data.StatPersisted v, v, v;
java.lang.String v, v, v, v, v, v;
java.io.PrintStream v, v, v, v;
java.util.Iterator v;
java.util.Base64$Encoder v;
org.apache.zookeeper.server.DataTree v;
org.apache.zookeeper.server.SnapshotFormatter v;
java.lang.Object v;
v := @this: org.apache.zookeeper.server.SnapshotFormatter;
v := @parameter: org.apache.zookeeper.server.DataTree;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("----");
v = virtualinvoke v.<org.apache.zookeeper.server.DataTree: org.apache.zookeeper.server.DataNode getNode(java.lang.String)>(v);
entermonitor v;
label:
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = v.<org.apache.zookeeper.server.DataNode: org.apache.zookeeper.data.StatPersisted stat>;
specialinvoke v.<org.apache.zookeeper.server.SnapshotFormatter: void printStat(org.apache.zookeeper.data.StatPersisted)>(v);
v = v.<org.apache.zookeeper.server.DataNode: org.apache.zookeeper.data.StatPersisted stat>;
v = virtualinvoke v.<org.apache.zookeeper.data.StatPersisted: long getMzxid()>();
v = v.<org.apache.zookeeper.server.DataNode: org.apache.zookeeper.data.StatPersisted stat>;
v = virtualinvoke v.<org.apache.zookeeper.data.StatPersisted: long getPzxid()>();
v = staticinvoke <java.lang.Math: long max(long,long)>(v, v);
if v == 0 goto label;
v = <java.lang.System: java.io.PrintStream out>;
v = v.<org.apache.zookeeper.server.DataNode: byte[] data>;
if v != null goto label;
v = "";
goto label;
label:
v = staticinvoke <java.util.Base64: java.util.Base64$Encoder getEncoder()>();
v = v.<org.apache.zookeeper.server.DataNode: byte[] data>;
v = virtualinvoke v.<java.util.Base64$Encoder: java.lang.String encodeToString(byte[])>(v);
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("  data = \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
goto label;
label:
v = <java.lang.System: java.io.PrintStream out>;
v = v.<org.apache.zookeeper.server.DataNode: byte[] data>;
if v != null goto label;
v = 0;
goto label;
label:
v = v.<org.apache.zookeeper.server.DataNode: byte[] data>;
v = lengthof v;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("  dataLength = \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
label:
v = virtualinvoke v.<org.apache.zookeeper.server.DataNode: java.util.Set getChildren()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v == null goto label;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("/");
if v == 0 goto label;
v = "";
goto label;
label:
v = "/";
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001\u0001");
v = specialinvoke v.<org.apache.zookeeper.server.SnapshotFormatter: long printZnode(org.apache.zookeeper.server.DataTree,java.lang.String,boolean)>(v, v, v);
v = staticinvoke <java.lang.Math: long max(long,long)>(v, v);
goto label;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
private void printSessionDetails(org.apache.zookeeper.server.DataTree, java.util.Map)
{
java.lang.Object[] v;
long v;
java.lang.Integer v;
java.lang.Long v;
java.util.Map v;
int v;
java.lang.String v;
boolean v;
java.io.PrintStream v, v;
java.util.Iterator v;
java.util.Set v, v;
org.apache.zookeeper.server.DataTree v;
org.apache.zookeeper.server.SnapshotFormatter v;
java.lang.Object v, v, v;
v := @this: org.apache.zookeeper.server.SnapshotFormatter;
v := @parameter: org.apache.zookeeper.server.DataTree;
v := @parameter: java.util.Map;
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("Session Details (sid, timeout, ephemeralCount):");
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = <java.lang.System: java.io.PrintStream out>;
v = newarray (java.lang.Object)[3];
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v[1] = v;
v = virtualinvoke v.<org.apache.zookeeper.server.DataTree: java.util.Set getEphemerals(long)>(v);
v = interfaceinvoke v.<java.util.Set: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("%#016x, %d, %d", v);
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
goto label;
label:
return;
}
private void printStat(org.apache.zookeeper.data.StatPersisted)
{
java.util.Date v, v;
long v, v, v, v, v, v;
int v, v, v;
org.apache.zookeeper.data.StatPersisted v;
java.lang.String v, v, v, v, v, v, v;
java.io.PrintStream v, v, v, v, v;
org.apache.zookeeper.server.SnapshotFormatter v;
v := @this: org.apache.zookeeper.server.SnapshotFormatter;
v := @parameter: org.apache.zookeeper.data.StatPersisted;
v = virtualinvoke v.<org.apache.zookeeper.data.StatPersisted: long getCzxid()>();
specialinvoke v.<org.apache.zookeeper.server.SnapshotFormatter: void printHex(java.lang.String,long)>("cZxid", v);
v = <java.lang.System: java.io.PrintStream out>;
v = new java.util.Date;
v = virtualinvoke v.<org.apache.zookeeper.data.StatPersisted: long getCtime()>();
specialinvoke v.<java.util.Date: void <init>(long)>(v);
v = virtualinvoke v.<java.util.Date: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("  ctime = \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.zookeeper.data.StatPersisted: long getMzxid()>();
specialinvoke v.<org.apache.zookeeper.server.SnapshotFormatter: void printHex(java.lang.String,long)>("mZxid", v);
v = <java.lang.System: java.io.PrintStream out>;
v = new java.util.Date;
v = virtualinvoke v.<org.apache.zookeeper.data.StatPersisted: long getMtime()>();
specialinvoke v.<java.util.Date: void <init>(long)>(v);
v = virtualinvoke v.<java.util.Date: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("  mtime = \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.zookeeper.data.StatPersisted: long getPzxid()>();
specialinvoke v.<org.apache.zookeeper.server.SnapshotFormatter: void printHex(java.lang.String,long)>("pZxid", v);
v = <java.lang.System: java.io.PrintStream out>;
v = virtualinvoke v.<org.apache.zookeeper.data.StatPersisted: int getCversion()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("  cversion = \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = <java.lang.System: java.io.PrintStream out>;
v = virtualinvoke v.<org.apache.zookeeper.data.StatPersisted: int getVersion()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("  dataVersion = \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = <java.lang.System: java.io.PrintStream out>;
v = virtualinvoke v.<org.apache.zookeeper.data.StatPersisted: int getAversion()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("  aclVersion = \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.zookeeper.data.StatPersisted: long getEphemeralOwner()>();
specialinvoke v.<org.apache.zookeeper.server.SnapshotFormatter: void printHex(java.lang.String,long)>("ephemeralOwner", v);
return;
}
private void printHex(java.lang.String, long)
{
java.io.PrintStream v;
java.lang.Object[] v;
java.lang.Long v;
org.apache.zookeeper.server.SnapshotFormatter v;
long v;
java.lang.String v, v;
v := @this: org.apache.zookeeper.server.SnapshotFormatter;
v := @parameter: java.lang.String;
v := @parameter: long;
v = <java.lang.System: java.io.PrintStream out>;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("  %s = %#016x", v);
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
return;
}
private void printSnapshotJson(org.apache.zookeeper.server.DataTree)
{
java.io.PrintStream v, v;
com.fasterxml.jackson.core.io.JsonStringEncoder v;
java.lang.Object[] v;
long v;
java.lang.Long v;
org.apache.zookeeper.server.DataTree v;
org.apache.zookeeper.server.SnapshotFormatter v;
v := @this: org.apache.zookeeper.server.SnapshotFormatter;
v := @parameter: org.apache.zookeeper.server.DataTree;
v = staticinvoke <com.fasterxml.jackson.core.io.JsonStringEncoder: com.fasterxml.jackson.core.io.JsonStringEncoder getInstance()>();
v = <java.lang.System: java.io.PrintStream out>;
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
virtualinvoke v.<java.io.PrintStream: java.io.PrintStream printf(java.lang.String,java.lang.Object[])>("[1,0,{\"progname\":\"SnapshotFormatter.java\",\"progver\":\"0.01\",\"timestamp\":%d}", v);
specialinvoke v.<org.apache.zookeeper.server.SnapshotFormatter: void printZnodeJson(org.apache.zookeeper.server.DataTree,java.lang.String,com.fasterxml.jackson.core.io.JsonStringEncoder)>(v, "/", v);
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void print(java.lang.String)>("]");
return;
}
private void printZnodeJson(org.apache.zookeeper.server.DataTree, java.lang.String, com.fasterxml.jackson.core.io.JsonStringEncoder)
{
byte[] v, v;
java.lang.Integer v, v;
boolean v, v, v;
org.apache.zookeeper.server.DataNode v;
com.fasterxml.jackson.core.io.JsonStringEncoder v;
java.util.Set v;
java.lang.StringBuilder v, v, v, v, v, v, v, v, v, v, v;
java.lang.Throwable v, v;
int v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v;
java.io.PrintStream v, v, v, v, v;
java.util.Iterator v;
org.apache.zookeeper.server.DataTree v;
char[] v;
org.apache.zookeeper.server.SnapshotFormatter v;
java.lang.Object v;
v := @this: org.apache.zookeeper.server.SnapshotFormatter;
v := @parameter: org.apache.zookeeper.server.DataTree;
v := @parameter: java.lang.String;
v := @parameter: com.fasterxml.jackson.core.io.JsonStringEncoder;
v = virtualinvoke v.<org.apache.zookeeper.server.DataTree: org.apache.zookeeper.server.DataNode getNode(java.lang.String)>(v);
if null != v goto label;
v = <java.lang.System: java.io.PrintStream err>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("DataTree Node for \u doesn\'t exist");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
return;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("/");
if v == 0 goto label;
v = v;
goto label;
label:
v = virtualinvoke v.<java.lang.String: int lastIndexOf(java.lang.String)>("/");
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
label:
v = v;
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void print(java.lang.String)>(",");
entermonitor v;
label:
v = v.<org.apache.zookeeper.server.DataNode: byte[] data>;
if v != null goto label;
v = 0;
goto label;
label:
v = v.<org.apache.zookeeper.server.DataNode: byte[] data>;
v = lengthof v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("{");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\"name\":\"");
v = virtualinvoke v.<com.fasterxml.jackson.core.io.JsonStringEncoder: char[] quoteAsString(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char[])>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\"");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(",");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\"asize\":");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(",");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\"dsize\":");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(",");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\"dev\":");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(0);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(",");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\"ino\":");
v = <org.apache.zookeeper.server.SnapshotFormatter: java.lang.Integer INODE_IDX>;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v + 1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
<org.apache.zookeeper.server.SnapshotFormatter: java.lang.Integer INODE_IDX> = v;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("}");
entermonitor v;
label:
v = virtualinvoke v.<org.apache.zookeeper.server.DataNode: java.util.Set getChildren()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v == null goto label;
v = interfaceinvoke v.<java.util.Set: int size()>();
if v <= 0 goto label;
v = <java.lang.System: java.io.PrintStream out>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.StringBuilder)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("[\u0001");
virtualinvoke v.<java.io.PrintStream: void print(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("/");
if v == 0 goto label;
v = "";
goto label;
label:
v = "/";
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001\u0001");
specialinvoke v.<org.apache.zookeeper.server.SnapshotFormatter: void printZnodeJson(org.apache.zookeeper.server.DataTree,java.lang.String,com.fasterxml.jackson.core.io.JsonStringEncoder)>(v, v, v);
goto label;
label:
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void print(java.lang.String)>("]");
goto label;
label:
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void print(java.lang.Object)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
java.lang.Integer v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(1000);
<org.apache.zookeeper.server.SnapshotFormatter: java.lang.Integer INODE_IDX> = v;
return;
}
}