Addressed review comments + additional test
This commit is contained in:
committed by
Roman Shevchenko
parent
1af631be9d
commit
6f70918c3b
@@ -17,7 +17,7 @@ public interface IFernflowerPreferences {
|
|||||||
String HIDE_DEFAULT_CONSTRUCTOR = "hdc";
|
String HIDE_DEFAULT_CONSTRUCTOR = "hdc";
|
||||||
String DECOMPILE_GENERIC_SIGNATURES = "dgs";
|
String DECOMPILE_GENERIC_SIGNATURES = "dgs";
|
||||||
String NO_EXCEPTIONS_RETURN = "ner";
|
String NO_EXCEPTIONS_RETURN = "ner";
|
||||||
String KT_SYNCHRONIZED_MONITOR = "ksm";
|
String ENSURE_SYNCHRONIZED_MONITOR = "esm";
|
||||||
String DECOMPILE_ENUM = "den";
|
String DECOMPILE_ENUM = "den";
|
||||||
String REMOVE_GET_CLASS_NEW = "rgn";
|
String REMOVE_GET_CLASS_NEW = "rgn";
|
||||||
String LITERALS_AS_IS = "lit";
|
String LITERALS_AS_IS = "lit";
|
||||||
@@ -62,7 +62,7 @@ public interface IFernflowerPreferences {
|
|||||||
defaults.put(HIDE_DEFAULT_CONSTRUCTOR, "1");
|
defaults.put(HIDE_DEFAULT_CONSTRUCTOR, "1");
|
||||||
defaults.put(DECOMPILE_GENERIC_SIGNATURES, "0");
|
defaults.put(DECOMPILE_GENERIC_SIGNATURES, "0");
|
||||||
defaults.put(NO_EXCEPTIONS_RETURN, "1");
|
defaults.put(NO_EXCEPTIONS_RETURN, "1");
|
||||||
defaults.put(KT_SYNCHRONIZED_MONITOR, "1");
|
defaults.put(ENSURE_SYNCHRONIZED_MONITOR, "1");
|
||||||
defaults.put(DECOMPILE_ENUM, "1");
|
defaults.put(DECOMPILE_ENUM, "1");
|
||||||
defaults.put(REMOVE_GET_CLASS_NEW, "1");
|
defaults.put(REMOVE_GET_CLASS_NEW, "1");
|
||||||
defaults.put(LITERALS_AS_IS, "0");
|
defaults.put(LITERALS_AS_IS, "0");
|
||||||
|
|||||||
@@ -88,8 +88,8 @@ public class MethodProcessorRunnable implements Runnable {
|
|||||||
ExceptionDeobfuscator.removeEmptyRanges(graph);
|
ExceptionDeobfuscator.removeEmptyRanges(graph);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DecompilerContext.getOption(IFernflowerPreferences.KT_SYNCHRONIZED_MONITOR)) {
|
if (DecompilerContext.getOption(IFernflowerPreferences.ENSURE_SYNCHRONIZED_MONITOR)) {
|
||||||
// special case: search for 'synchronized' ranges w/o monitorexit instruction (generated by the Kotlin compiler)
|
// special case: search for 'synchronized' ranges w/o monitorexit instruction (as generated by Kotlin and Scala)
|
||||||
DeadCodeHelper.extendSynchronizedRangeToMonitorexit(graph);
|
DeadCodeHelper.extendSynchronizedRangeToMonitorexit(graph);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
package pkg;
|
||||||
|
|
||||||
public final class PrivateEmptyConstructor {
|
public final class PrivateEmptyConstructor {
|
||||||
|
|
||||||
|
|||||||
8
testData/src/pkg/TestSynchronizedUnprotected.kt
Normal file
8
testData/src/pkg/TestSynchronizedUnprotected.kt
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
object TestSynchronizedUnprotected {
|
||||||
|
fun test() {
|
||||||
|
synchronized(this) {
|
||||||
|
println("Boom")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user