Merge remote-tracking branch 'aosp/upstream-master' into master
* aosp/upstream-master:
Eliminate some middleman methods
Split out option usage restriction from option category.
Add ordering semantics for cached options data
Remove the overloading of option category to cover documentation level.
Fix an expansion flag issue where it expands to a repeatable flag.
Correct ClassRemapperWithBugFix to avoid stack map frame corruption.
Remove --no_ support.
Work around the NPE bug in ClassRemapper of ASM. ASM throws an NPE in MethodRemapper when MethodRemapper is chained after MethodNode and there is compressed stack map frame in a method.
Add integration test for --all_incompatible_changes flag conflicts
Clean up clearValue and parsed option storage.
Add --all_incompatible_changes, the user's shorthand for turning on all --incompatible_* flags
Add new exception for wrapping parser construction failures
Watch for --no and --no_ flag name conflicts.
Expand Invocation FlagPolicies on expansion flags.
Add support to read classpath entries from directories
split the long method Desugar.desugar() into smaller pieces.
refactoring: move the code parsing and validating command line arguments into a separate method, so that the main becomes shorter. Also move most of the code in main to an instance method.
rewrite Long.compare(long, long) to JVM instruction lcmp, so that devices with API level below 19 can still use Long.compare(long, long)
Avoid to re-index classpath and bootclasspath
Avoid factory methods when desugaring lambda expressions and this:: method references for android RELNOTES: no factory methods generated for lambda expressions on android
Test: m -j java
Change-Id: If699bd485213455cedc7e1face66e194a26a0419