aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java
diff options
context:
space:
mode:
authorGravatar cnsun <cnsun@google.com>2017-06-29 23:59:19 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2017-06-30 13:00:51 +0200
commit7fe99c2c4417184f28ea9f213ea6dc83091f6b21 (patch)
tree797322046b1a7198adc12b663c039773e62a4965 /src/tools/android/java
parentdb8c437ea1858bc8b9e9b2ec6838ed3916d0ce4b (diff)
Flip the flag --rewrite_calls_to_long_compare to false by default. Now
desugaring Long.compare(long, long) is only enabled if either --min_sdk_version < 19 or --rewrite_calls_to_long_compare is specified. RELNOTES: set --rewrite_calls_to_long_compare to false by default. PiperOrigin-RevId: 160578028
Diffstat (limited to 'src/tools/android/java')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/desugar/Desugar.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/desugar/Desugar.java b/src/tools/android/java/com/google/devtools/build/android/desugar/Desugar.java
index d7a6504fff..7148cc9ed3 100644
--- a/src/tools/android/java/com/google/devtools/build/android/desugar/Desugar.java
+++ b/src/tools/android/java/com/google/devtools/build/android/desugar/Desugar.java
@@ -132,13 +132,15 @@ class Desugar {
@Option(
name = "rewrite_calls_to_long_compare",
- defaultValue = "true",
+ defaultValue = "false",
documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
effectTags = {OptionEffectTag.UNKNOWN},
- help = "rewrite calls to Long.compare(long, long) to the JVM instruction lcmp",
+ help =
+ "Rewrite calls to Long.compare(long, long) to the JVM instruction lcmp "
+ + "regardless of --min_sdk_version.",
category = "misc"
)
- public boolean enableRewritingOfLongCompare;
+ public boolean alwaysRewriteLongCompare;
@Option(
name = "output",
@@ -244,6 +246,7 @@ class Desugar {
private final boolean outputJava7;
private final boolean allowDefaultMethods;
private final boolean allowCallsToObjectsNonNull;
+ private final boolean allowCallsToLongCompare;
/** An instance of Desugar is expected to be used ONLY ONCE */
private boolean used;
@@ -256,6 +259,7 @@ class Desugar {
this.allowDefaultMethods =
options.desugarInterfaceMethodBodiesIfNeeded || options.minSdkVersion >= 24;
this.allowCallsToObjectsNonNull = options.minSdkVersion >= 19;
+ this.allowCallsToLongCompare = options.minSdkVersion >= 19 && !options.alwaysRewriteLongCompare;
this.used = false;
}
@@ -512,7 +516,7 @@ class Desugar {
// the inliner again
visitor = new ObjectsRequireNonNullMethodRewriter(visitor);
}
- if (options.enableRewritingOfLongCompare) {
+ if (!allowCallsToLongCompare) {
visitor = new LongCompareMethodRewriter(visitor);
}
return visitor;
@@ -553,7 +557,7 @@ class Desugar {
if (!allowCallsToObjectsNonNull) {
visitor = new ObjectsRequireNonNullMethodRewriter(visitor);
}
- if (options.enableRewritingOfLongCompare) {
+ if (!allowCallsToLongCompare) {
visitor = new LongCompareMethodRewriter(visitor);
}
return visitor;