Code with Finding: |
/*
* Decompiled with CFR 0_128.
*
* Could not load the following classes:
* com.whatsapp.util.Log
* com.whatsapp.util.ah
* com.whatsapp.util.ak
* com.whatsapp.util.br
* com.whatsapp.util.l
*/
package com.whatsapp.util;
import com.whatsapp.util.Log;
import com.whatsapp.util.ah;
import com.whatsapp.util.ak;
import com.whatsapp.util.br;
import com.whatsapp.util.l;
import java.io.BufferedWriter;
import java.io.Closeable;
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.Writer;
import java.lang.reflect.Array;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public final class n
implements Closeable {
private static final Charset l;
private static final String[] z;
private final int a;
private final File b;
private final LinkedHashMap c = new LinkedHashMap(0, 0.75f, true);
private final ExecutorService d = new ThreadPoolExecutor(0, 1, 60L, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());
private long e = 0L;
private final long f;
private final File g;
private final Callable h = new br(this);
private final int i;
private final File j;
private int k;
private Writer m;
private long n = 0L;
/*
* Enabled aggressive block sorting
*/
static {
String string;
String[] arrstring = new String[29];
String string2 = "'@\u0010\u0013\u001f7M\u0001\u000e\u000brD\u001a\u001e\u001d<O\u0019K\u0003;@\u0010QO";
int n2 = -1;
String[] arrstring2 = arrstring;
int n3 = 0;
block42 : do {
char[] arrc = string2.toCharArray();
int n4 = arrc.length;
int n5 = 0;
do {
int n6;
if (n4 <= n5) {
string = new String(arrc).intern();
switch (n2) {
default: {
arrstring2[n3] = string;
string2 = "'@\u0010\u0013\u001f7M\u0001\u000e\u000brD\u001a\u001e\u001d<O\u0019K\u0003;@\u0010QO";
n3 = 1;
arrstring2 = arrstring;
n2 = 0;
continue block42;
}
case 0: {
arrstring2[n3] = string;
string2 = "\u0016g'?6";
n3 = 2;
arrstring2 = arrstring;
n2 = 1;
continue block42;
}
case 1: {
arrstring2[n3] = string;
string2 = "\u0000k8$9\u0017";
n3 = 3;
arrstring2 = arrstring;
n2 = 2;
continue block42;
}
case 2: {
arrstring2[n3] = string;
string2 = "\u0000k4/";
n3 = 4;
arrstring2 = arrstring;
n2 = 3;
continue block42;
}
case 3: {
arrstring2[n3] = string;
n3 = 5;
arrstring2 = arrstring;
string2 = "\u0011b0*!";
n2 = 4;
continue block42;
}
case 4: {
arrstring2[n3] = string;
n3 = 6;
string2 = "<A\u0001K\u000erJ\u001c\u0019\n1Z\u001a\u0019\u0016h\u000e";
n2 = 5;
arrstring2 = arrstring;
continue block42;
}
case 5: {
arrstring2[n3] = string;
n3 = 7;
string2 = "4O\u001c\u0007\n6\u000e\u0001\u0004O6K\u0019\u000e\u001b7\u000e\u0013\u0002\u00037\u0014U";
n2 = 6;
arrstring2 = arrstring;
continue block42;
}
case 6: {
arrstring2[n3] = string;
n3 = 8;
string2 = "8A\u0000\u0019\u00013B[\u001f\u0002\"";
n2 = 7;
arrstring2 = arrstring;
continue block42;
}
case 7: {
arrstring2[n3] = string;
n3 = 9;
string2 = "8A\u0000\u0019\u00013B";
n2 = 8;
arrstring2 = arrstring;
continue block42;
}
case 8: {
arrstring2[n3] = string;
n3 = 10;
string2 = "\u0000k8$9\u0017\u000e";
n2 = 9;
arrstring2 = arrstring;
continue block42;
}
case 9: {
arrstring2[n3] = string;
n3 = 11;
string2 = "4O\u001c\u0007\n6\u000e\u0001\u0004O6K\u0019\u000e\u001b7\u000e";
n2 = 10;
arrstring2 = arrstring;
continue block42;
}
case 10: {
arrstring2[n3] = string;
n3 = 12;
string2 = "~\u000e";
n2 = 11;
arrstring2 = arrstring;
continue block42;
}
case 11: {
arrstring2[n3] = string;
n3 = 13;
string2 = "~\u000e";
n2 = 12;
arrstring2 = arrstring;
continue block42;
}
case 12: {
arrstring2[n3] = string;
n3 = 14;
string2 = "'@\u0010\u0013\u001f7M\u0001\u000e\u000brD\u001a\u001e\u001d<O\u0019K\u00077O\u0011\u000e\u001dh\u000e.";
n2 = 13;
arrstring2 = arrstring;
continue block42;
}
case 13: {
arrstring2[n3] = string;
n3 = 15;
string2 = "~\u000e";
n2 = 14;
arrstring2 = arrstring;
continue block42;
}
case 14: {
arrstring2[n3] = string;
n3 = 16;
string2 = ">G\u0017\b\u0000 K[\u0002\u0000|j\u001c\u0018\u0004\u001e\\\u0000(\u000e1F\u0010";
n2 = 15;
arrstring2 = arrstring;
continue block42;
}
case 15: {
arrstring2[n3] = string;
n3 = 17;
string2 = "\u0011b0*!r";
n2 = 16;
arrstring2 = arrstring;
continue block42;
}
case 16: {
arrstring2[n3] = string;
n3 = 18;
string2 = "\u0000k8$9\u0017\u000e";
n2 = 17;
arrstring2 = arrstring;
continue block42;
}
case 17: {
arrstring2[n3] = string;
n3 = 19;
string2 = "7J\u001c\u001fO6G\u0011\u0005H&\u000e\u0016\u0019\n3Z\u0010K\t;B\u0010K";
n2 = 18;
arrstring2 = arrstring;
continue block42;
}
case 18: {
arrstring2[n3] = string;
n3 = 20;
string2 = "\u0016g'?6r";
n2 = 19;
arrstring2 = arrstring;
continue block42;
}
case 19: {
arrstring2[n3] = string;
n3 = 21;
string2 = "?O\r8\u0006(KUWRr\u001e";
n2 = 20;
arrstring2 = arrstring;
continue block42;
}
case 20: {
arrstring2[n3] = string;
n3 = 22;
string2 = "$O\u0019\u001e\n\u0011A\u0000\u0005\u001br\u0012HK_";
n2 = 21;
arrstring2 = arrstring;
continue block42;
}
case 21: {
arrstring2[n3] = string;
n3 = 23;
string2 = "\u0000k4/O";
n2 = 22;
arrstring2 = arrstring;
continue block42;
}
case 22: {
arrstring2[n3] = string;
n3 = 24;
string2 = "1O\u0016\u0003\nrG\u0006K\f>A\u0006\u000e\u000b";
n2 = 23;
arrstring2 = arrstring;
continue block42;
}
case 23: {
arrstring2[n3] = string;
n3 = 25;
string2 = "\u0016g'?6r";
n2 = 24;
arrstring2 = arrstring;
continue block42;
}
case 24: {
arrstring2[n3] = string;
n3 = 26;
string2 = ">G\u0017\b\u0000 K[\u0002\u0000|j\u001c\u0018\u0004\u001e\\\u0000(\u000e1F\u0010";
n2 = 25;
arrstring2 = arrstring;
continue block42;
}
case 25: {
arrstring2[n3] = string;
n3 = 27;
string2 = "\u0011b0*!r";
n2 = 26;
arrstring2 = arrstring;
continue block42;
}
case 26: {
arrstring2[n3] = string;
n3 = 28;
string2 = "9K\f\u0018O?[\u0006\u001fO<A\u0001K\f=@\u0001\n\u0006<\u000e\u0006\u001b\u000e1K\u0006K\u0000 \u000e\u001b\u000e\u0018>G\u001b\u000e\u001ch\u000eW";
n2 = 27;
arrstring2 = arrstring;
continue block42;
}
case 27:
}
break block42;
}
char c = arrc[n5];
switch (n5 % 5) {
default: {
n6 = 111;
break;
}
case 0: {
n6 = 82;
break;
}
case 1: {
n6 = 46;
break;
}
case 2: {
n6 = 117;
break;
}
case 3: {
n6 = 107;
}
}
arrc[n5] = (char)(n6 ^ c);
++n5;
} while (true);
break;
} while (true);
arrstring2[n3] = string;
z = arrstring;
char[] arrc = "\u0007z3FW".toCharArray();
int n7 = arrc.length;
int n8 = 0;
do {
int n9;
if (n7 <= n8) {
l = Charset.forName(new String(arrc).intern());
return;
}
char c = arrc[n8];
switch (n8 % 5) {
default: {
n9 = 111;
break;
}
case 0: {
n9 = 82;
break;
}
case 1: {
n9 = 46;
break;
}
case 2: {
n9 = 117;
break;
}
case 3: {
n9 = 107;
}
}
arrc[n8] = (char)(n9 ^ c);
++n8;
} while (true);
}
private n(File file, int n2, int n3, long l) {
this.j = file;
this.a = n2;
this.b = new File(file, z[9]);
this.g = new File(file, z[8]);
this.i = n3;
this.f = l;
}
static int a(n n2, int n3) {
n2.k = n3;
return n3;
}
/*
* Loose catch block
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Converted monitor instructions to comments
* Lifted jumps to return sites
*/
private ak a(String string, long l2) {
l l3;
ak ak2;
block19 : {
l l4;
block18 : {
block17 : {
block16 : {
// MONITORENTER : this
this.h();
this.a(string);
l4 = (l)this.c.get(string);
if (l2 != -1L) {
if (l4 != null) {
long l5 = l.c((l)l4);
if (l5 == l2) break block16;
}
ak2 = null;
// MONITOREXIT : this
return ak2;
catch (IllegalArgumentException illegalArgumentException) {
throw illegalArgumentException;
}
}
}
if (l4 == null) {
l4 = new l(this, string, null);
this.c.put(string, l4);
int n2 = Log.d;
if (n2 == 0) break block17;
}
if (l.e((l)l4) != null) {
return null;
}
break block18;
catch (IllegalArgumentException illegalArgumentException) {
throw illegalArgumentException;
}
}
l3 = l4;
break block19;
}
l3 = l4;
}
ak2 = new ak(this, l3, null);
l.a((l)l3, (ak)ak2);
this.m.write(z[20] + string + '\n');
this.m.flush();
return ak2;
}
/*
* Loose catch block
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Lifted jumps to return sites
*/
public static n a(File file, int n2, int n3, long l2) {
block11 : {
if (l2 <= 0L) {
throw new IllegalArgumentException(z[21]);
}
if (n3 <= 0) {
throw new IllegalArgumentException(z[22]);
}
n n4 = new n(file, n2, n3, l2);
boolean bl = n4.b.exists();
if (bl) {
n4.b();
n4.e();
n4.m = new BufferedWriter(new FileWriter(n4.b, true), 8192);
return n4;
}
break block11;
catch (IOException iOException) {
n4.c();
}
}
file.mkdirs();
n n5 = new n(file, n2, n3, l2);
n5.d();
return n5;
}
/*
* Loose catch block
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Lifted jumps to return sites
*/
public static String a(InputStream inputStream) {
int n2;
int n3 = Log.d;
StringBuilder stringBuilder = new StringBuilder(80);
do {
int n4;
if ((n4 = inputStream.read()) == -1) {
throw new EOFException();
}
if (n4 == 10 && n3 == 0) break;
char c = (char)n4;
stringBuilder.append(c);
if (n3 == 0) continue;
break;
} while (true);
if ((n2 = stringBuilder.length()) <= 0) return stringBuilder.toString();
int n5 = n2 - 1;
if (stringBuilder.charAt(n5) != '\r') return stringBuilder.toString();
stringBuilder.setLength(n2 - 1);
return stringBuilder.toString();
catch (IllegalArgumentException illegalArgumentException) {
throw illegalArgumentException;
}
}
/*
* Unable to fully structure code
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Converted monitor instructions to comments
* Lifted jumps to return sites
*/
private void a(ak var1_1, boolean var2_2) {
block40 : {
block39 : {
block37 : {
// MONITORENTER : this
var4_3 = Log.d;
var5_4 = ak.a((ak)var1_1);
if (l.e((l)var5_4) != var1_1) {
throw new IllegalStateException();
}
var7_6 = 0;
if (var2_2) {
var37_7 = l.a((l)var5_4);
var7_6 = 0;
if (var37_7) break block37;
var38_8 = 0;
do {
var39_9 = this.i;
var7_6 = 0;
if (var38_8 >= var39_9) break block37;
if (!var5_4.b(var38_8).exists()) {
var1_1.a();
throw new IllegalStateException(n.z[19] + var38_8);
}
++var38_8;
} while (var4_3 == 0);
var7_6 = 0;
}
}
while (var7_6 < this.i) {
block38 : {
var26_14 = var5_4.b(var7_6);
if (!var2_2) ** GOTO lbl49
var29_15 = var26_14.exists();
if (!var29_15) break block38;
var30_16 = var5_4.a(var7_6);
var26_14.renameTo(var30_16);
var32_12 = l.d((l)var5_4)[var7_6];
var34_13 = var30_16.length();
l.d((l)var5_4)[var7_6] = var34_13;
this.n = var34_13 + (this.n - var32_12);
if (var4_3 == 0) break block38;
lbl49: // 2 sources:
n.b(var26_14);
}
++var7_6;
if (var4_3 == 0) continue;
}
this.k = 1 + this.k;
l.a((l)var5_4, (ak)null);
var12_17 = l.a((l)var5_4);
if (!(var12_17 | var2_2)) ** GOTO lbl67
l.a((l)var5_4, (boolean)true);
this.m.write(n.z[17] + l.b((l)var5_4) + var5_4.a() + '\n');
if (!var2_2) break block39;
var22_18 = this.e;
this.e = 1L + var22_18;
l.a((l)var5_4, (long)var22_18);
if (var4_3 == 0) break block39;
lbl67: // 2 sources:
this.c.remove(l.b((l)var5_4));
this.m.write(n.z[18] + l.b((l)var5_4) + '\n');
}
var16_19 = this.n;
var18_20 = this.f;
if (var16_19 > var18_20) ** GOTO lbl76
if (!this.g()) break block40;
lbl76: // 2 sources:
this.d.submit(this.h);
}
// MONITOREXIT : this
return;
{
catch (IllegalArgumentException var15_27) {
throw var15_27;
}
}
catch (IllegalArgumentException var28_21) {
throw var28_21;
}
catch (IllegalArgumentException var27_22) {
throw var27_22;
}
catch (IllegalArgumentException var8_23) {
throw var8_23;
}
catch (IllegalArgumentException var14_26) {
throw var14_26;
}
}
static void a(n n2) {
n2.f();
}
static void a(n n2, ak ak2, boolean bl) {
n2.a(ak2, bl);
}
/*
* Enabled force condition propagation
* Lifted jumps to return sites
*/
public static void a(Closeable closeable) {
if (closeable == null) return;
try {
closeable.close();
return;
}
catch (RuntimeException runtimeException) {
throw runtimeException;
}
catch (Exception exception) {
return;
}
}
public static void a(File file) {
int n2 = Log.d;
File[] arrfile = file.listFiles();
if (arrfile == null) {
throw new IllegalArgumentException(z[6] + file);
}
for (File file2 : arrfile) {
block8 : {
if (!file2.isDirectory()) break block8;
n.a(file2);
}
if (file2.delete()) continue;
throw new IOException(z[7] + file2);
}
}
/*
* Exception decompiling
*/
private void a(String var1_1) {
// This method has failed to decompile. When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file.
// org.benf.cfr.reader.util.ConfusedCFRException: Started 2 blocks at once
// org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.getStartingBlocks(Op04StructuredStatement.java:395)
// org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:473)
// org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:2880)
// org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:816)
// org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:196)
// org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:141)
// org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:95)
// org.benf.cfr.reader.entities.Method.analyse(Method.java:370)
// org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:852)
// org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:753)
// org.benf.cfr.reader.Main.doClass(Main.java:46)
// org.benf.cfr.reader.Main.main(Main.java:190)
// ReviewPreparator.unZipIt(ReviewPreparator.java:54)
// PrepareAndSendToReview$.$anonfun$prepareAndSendToReview$4(PrepareAndSendToReview.scala:37)
// scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
// scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:320)
// scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
// scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
// scala.collection.TraversableLike.map(TraversableLike.scala:234)
// scala.collection.TraversableLike.map$(TraversableLike.scala:227)
// scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:47)
// scala.collection.SetLike.map(SetLike.scala:101)
// scala.collection.SetLike.map$(SetLike.scala:101)
// scala.collection.AbstractSet.map(Set.scala:47)
// PrepareAndSendToReview$.prepareAndSendToReview(PrepareAndSendToReview.scala:35)
// PrepareAndSendToReview$.main(PrepareAndSendToReview.scala:12)
// PrepareAndSendToReview.main(PrepareAndSendToReview.scala)
throw new IllegalStateException("Decompilation failed");
}
private static Object[] a(Object[] arrobject, int n2, int n3) {
int n4 = arrobject.length;
if (n2 > n3) {
throw new IllegalArgumentException();
}
if (n2 < 0 || n2 > n4) {
throw new ArrayIndexOutOfBoundsException();
}
int n5 = n3 - n2;
int n6 = Math.min(n5, n4 - n2);
Object[] arrobject2 = (Object[])Array.newInstance(arrobject.getClass().getComponentType(), n5);
System.arraycopy(arrobject, n2, arrobject2, 0, n6);
return arrobject2;
}
static Writer b(n n2) {
return n2.m;
}
/*
* Exception decompiling
*/
private void b() {
// This method has failed to decompile. When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file.
// org.benf.cfr.reader.util.ConfusedCFRException: Tried to end blocks [0[TRYBLOCK]], but top level block is 14[CATCHBLOCK]
// org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.processEndingBlocks(Op04StructuredStatement.java:418)
// org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:470)
// org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:2880)
// org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:816)
// org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:196)
// org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:141)
// org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:95)
// org.benf.cfr.reader.entities.Method.analyse(Method.java:370)
// org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:852)
// org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:753)
// org.benf.cfr.reader.Main.doClass(Main.java:46)
// org.benf.cfr.reader.Main.main(Main.java:190)
// ReviewPreparator.unZipIt(ReviewPreparator.java:54)
// PrepareAndSendToReview$.$anonfun$prepareAndSendToReview$4(PrepareAndSendToReview.scala:37)
// scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
// scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:320)
// scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
// scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
// scala.collection.TraversableLike.map(TraversableLike.scala:234)
// scala.collection.TraversableLike.map$(TraversableLike.scala:227)
// scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:47)
// scala.collection.SetLike.map(SetLike.scala:101)
// scala.collection.SetLike.map$(SetLike.scala:101)
// scala.collection.AbstractSet.map(Set.scala:47)
// PrepareAndSendToReview$.prepareAndSendToReview(PrepareAndSendToReview.scala:35)
// PrepareAndSendToReview$.main(PrepareAndSendToReview.scala:12)
// PrepareAndSendToReview.main(PrepareAndSendToReview.scala)
throw new IllegalStateException("Decompilation failed");
}
/*
* Loose catch block
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Lifted jumps to return sites
*/
private static void b(File file) {
boolean bl = file.exists();
if (!bl) return;
if (file.delete()) return;
throw new IOException();
{
catch (IllegalArgumentException illegalArgumentException) {
throw illegalArgumentException;
}
}
catch (IllegalArgumentException illegalArgumentException) {
throw illegalArgumentException;
}
}
/*
* Exception decompiling
*/
private void b(String var1_1) {
// This method has failed to decompile. When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file.
// org.benf.cfr.reader.util.ConfusedCFRException: Started 7 blocks at once
// org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.getStartingBlocks(Op04StructuredStatement.java:395)
// org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:473)
// org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:2880)
// org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:816)
// org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:196)
// org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:141)
// org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:95)
// org.benf.cfr.reader.entities.Method.analyse(Method.java:370)
// org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:852)
// org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:753)
// org.benf.cfr.reader.Main.doClass(Main.java:46)
// org.benf.cfr.reader.Main.main(Main.java:190)
// ReviewPreparator.unZipIt(ReviewPreparator.java:54)
// PrepareAndSendToReview$.$anonfun$prepareAndSendToReview$4(PrepareAndSendToReview.scala:37)
// scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
// scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:320)
// scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
// scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
// scala.collection.TraversableLike.map(TraversableLike.scala:234)
// scala.collection.TraversableLike.map$(TraversableLike.scala:227)
// scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:47)
// scala.collection.SetLike.map(SetLike.scala:101)
// scala.collection.SetLike.map$(SetLike.scala:101)
// scala.collection.AbstractSet.map(Set.scala:47)
// PrepareAndSendToReview$.prepareAndSendToReview(PrepareAndSendToReview.scala:35)
// PrepareAndSendToReview$.main(PrepareAndSendToReview.scala:12)
// PrepareAndSendToReview.main(PrepareAndSendToReview.scala)
throw new IllegalStateException("Decompilation failed");
}
static boolean c(n n2) {
return n2.g();
}
static File d(n n2) {
return n2.j;
}
/*
* Unable to fully structure code
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Converted monitor instructions to comments
* Lifted jumps to return sites
*/
private void d() {
block13 : {
// MONITORENTER : this
var2_1 = Log.d;
if (this.m == null) break block13;
this.m.close();
}
var4_2 = new BufferedWriter(new FileWriter(this.g), 8192);
var4_2.write(n.z[26]);
var4_2.write("\n");
var4_2.write("1");
var4_2.write("\n");
var4_2.write(Integer.toString(this.a));
var4_2.write("\n");
var4_2.write(Integer.toString(this.i));
var4_2.write("\n");
var4_2.write("\n");
var5_3 = this.c.values().iterator();
while (var5_3.hasNext()) {
block14 : {
var7_4 = (l)var5_3.next();
var10_5 = l.e((l)var7_4);
if (var10_5 == null) ** GOTO lbl29
var4_2.write(n.z[25] + l.b((l)var7_4) + '\n');
if (var2_1 == 0) break block14;
lbl29: // 2 sources:
var4_2.write(n.z[27] + l.b((l)var7_4) + var7_4.a() + '\n');
}
if (var2_1 == 0) continue;
}
var4_2.close();
this.g.renameTo(this.b);
this.m = new BufferedWriter(new FileWriter(this.b, true), 8192);
// MONITOREXIT : this
return;
catch (IllegalArgumentException var8_7) {
throw var8_7;
}
}
private void e() {
int n2 = Log.d;
n.b(this.g);
Iterator iterator = this.c.values().iterator();
while (iterator.hasNext()) {
block6 : {
l l2;
block5 : {
l2 = (l)iterator.next();
if (l.e((l)l2) != null) break block5;
for (int i = 0; i < this.i; ++i) {
this.n += l.d((l)l2)[i];
if (n2 == 0) continue;
}
if (n2 == 0) break block6;
}
l.a((l)l2, (ak)null);
for (int i = 0; i < this.i; ++i) {
n.b(l2.a(i));
n.b(l2.b(i));
if (n2 == 0) continue;
}
iterator.remove();
}
if (n2 == 0) continue;
}
}
static void e(n n2) {
n2.d();
}
static int f(n n2) {
return n2.i;
}
private void f() {
int n2 = Log.d;
while (this.n > this.f) {
this.d((String)this.c.entrySet().iterator().next().getKey());
if (n2 == 0) continue;
}
}
/*
* Loose catch block
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Lifted jumps to return sites
*/
private boolean g() {
int n2 = this.k;
if (n2 < 2000) return false;
{
catch (IllegalArgumentException illegalArgumentException) {
throw illegalArgumentException;
}
}
if (this.k < this.c.size()) return false;
return true;
}
private void h() {
if (this.m == null) {
throw new IllegalStateException(z[24]);
}
}
public boolean a() {
Writer writer = this.m;
if (writer == null) {
return true;
}
return false;
}
public ak c(String string) {
return this.a(string, -1L);
}
public void c() {
this.close();
n.a(this.j);
}
/*
* Unable to fully structure code
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Converted monitor instructions to comments
* Lifted jumps to return sites
*/
@Override
public void close() {
// MONITORENTER : this
n2 = Log.d;
writer = this.m;
** if (writer != null) goto lbl-1000
lbl-1000: // 1 sources:
{
// MONITOREXIT : this
return;
}
lbl-1000: // 1 sources:
{
}
for (l l2 : new ArrayList<V>(this.c.values())) {
if (l.e((l)l2) != null) {
l.e((l)l2).a();
}
if (n2 == 0) continue;
}
this.f();
this.m.close();
this.m = null;
return;
catch (IllegalArgumentException illegalArgumentException) {
throw illegalArgumentException;
}
}
/*
* Loose catch block
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Converted monitor instructions to comments
* Lifted jumps to return sites
*/
public boolean d(String string) {
int n2;
l l2;
block16 : {
// MONITORENTER : this
n2 = Log.d;
this.h();
this.a(string);
l2 = (l)this.c.get(string);
if (l2 != null) {
ak ak2 = l.e((l)l2);
if (ak2 == null) break block16;
}
boolean bl = false;
// MONITOREXIT : this
return bl;
catch (IllegalArgumentException illegalArgumentException) {
throw illegalArgumentException;
}
}
for (int i = 0; i < this.i; this.n -= l.d((l)l2)[i], ++i) {
File file = l2.a(i);
if (!file.delete()) {
throw new IOException(z[11] + file);
}
l.d((l)l2)[i] = 0L;
if (n2 == 0) continue;
}
this.k = 1 + this.k;
this.m.append(z[10] + string + '\n');
this.c.remove(string);
if (!this.g()) return true;
this.d.submit(this.h);
return true;
}
/*
* Loose catch block
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Converted monitor instructions to comments
* Lifted jumps to return sites
*/
public ah e(String string) {
int n2;
l l2;
block14 : {
// MONITORENTER : this
n2 = Log.d;
this.h();
this.a(string);
l2 = (l)this.c.get(string);
ah ah2 = null;
if (l2 != null) {
boolean bl = l.a((l)l2);
ah2 = null;
if (bl) break block14;
}
// MONITOREXIT : this
return ah2;
catch (FileNotFoundException fileNotFoundException) {
throw fileNotFoundException;
}
}
InputStream[] arrinputStream = new InputStream[this.i];
try {
for (int i = 0; i < this.i; ++i) {
arrinputStream[i] = new FileInputStream(l2.a(i));
if (n2 == 0) continue;
}
}
catch (FileNotFoundException fileNotFoundException) {
return null;
}
this.k = 1 + this.k;
this.m.append(z[23] + string + '\n');
if (!this.g()) return new ah(this, string, l.c((l)l2), arrinputStream, null);
this.d.submit(this.h);
return new ah(this, string, l.c((l)l2), arrinputStream, null);
}
}
|