aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com/google/devtools/build/android/desugar
Commit message (Collapse)AuthorAge
* Changed all instances of /*itf=*/ to /*isInterface=*/ to eliminate errors.Gravatar Googler2018-08-13
| | | | | RELNOTES: None PiperOrigin-RevId: 208523963
* Make default method stubbing resilient to core library renaming, to preserve ↵Gravatar kmb2018-07-17
| | | | | | | | idempotency. RELNOTES: None. PiperOrigin-RevId: 204957400
* Drop module-info "class" in Android desugaringGravatar kmb2018-07-13
| | | | | | RELNOTES: None. PiperOrigin-RevId: 204492527
* tolerate missing outer classes for interface desugaringGravatar kmb2018-05-24
| | | | PiperOrigin-RevId: 197946783
* Enable proguarded Android builds with --experimental_desugar_java8_libs in BazelGravatar kmb2018-05-16
| | | | | | RELNOTES: Bazel supports including select Java 8 APIs into Android apps targeting pre-Nougat Android devices with --experimental_desugar_java8_libs PiperOrigin-RevId: 196833987
* Clean up code that directly imports nested classes like Builder, Entry, etc.Gravatar jcater2018-05-01
| | | | PiperOrigin-RevId: 195040539
* Relax the assertion in Desugar for checking the calls to $closeResource(...).Gravatar cnsun2018-04-17
| | | | | | | | It is possible that $closeResource(...) is not used as the calls to it might be eliminated by some optimization tools, such as Proguard. RELNOTES: n/a. PiperOrigin-RevId: 193262552
* build and test KeepScanner tool open-sourceGravatar kmb2018-03-30
| | | | PiperOrigin-RevId: 191159996
* stub simple core library bridge methods that only differ in return typeGravatar kmb2018-03-26
| | | | | | RELNOTES: None. PiperOrigin-RevId: 190559240
* Reflect core library moves in super calls, even in default method stubs. ↵Gravatar kmb2018-03-16
| | | | | | | | Always generate default method stubs for emulated methods. RELNOTES: None. PiperOrigin-RevId: 189423933
* Make KeepScanner tool search classpath for nearest definition of each member ↵Gravatar kmb2018-03-12
| | | | | | | | | reference, instead of potentially referring to a subtype. Refactor desugar's class loading machinery and related code into a separate package for easier reuse in this tool. RELNOTES: None. PiperOrigin-RevId: 188825305
* Minor fixes to KeepScanner tool:Gravatar kmb2018-03-12
| | | | | | | | - use Guava to read zip entries - Fix keep rules emitted for constructors RELNOTES: None. PiperOrigin-RevId: 188781547
* Support custom implementations of emulated core interface methodsGravatar kmb2018-03-12
| | | | | | RELNOTES: None. PiperOrigin-RevId: 188760099
* emulate dynamic dispatch of emulated default interface methodsGravatar kmb2018-03-02
| | | | | | RELNOTES: None. PiperOrigin-RevId: 187671513
* Android desugar config options to exclude methods from interface emulationGravatar kmb2018-03-01
| | | | | | RELNOTES: None. PiperOrigin-RevId: 187551970
* send invocations to emulated interfaces through dispatch helper.Gravatar kmb2018-03-01
| | | | | | | fix logic for implementing emulated interfaces. RELNOTES: None. PiperOrigin-RevId: 187520298
* add binary flag for core library desugaring and gate existing configuration ↵Gravatar kmb2018-02-26
| | | | | | | | flags by it. RELNOTES: None. PiperOrigin-RevId: 187075897
* Rename and implement emulated interfaces as needed during android desugaringGravatar kmb2018-02-24
| | | | | | RELNOTES: None. PiperOrigin-RevId: 186904092
* Actually retarget so-configured invocations in android desugaringGravatar kmb2018-02-22
| | | | | | RELNOTES: None. PiperOrigin-RevId: 186690865
* Add a check to avoid core library default methods that (accidentally) aren't ↵Gravatar kmb2018-02-22
| | | | | | | | being desugared. RELNOTES: None. PiperOrigin-RevId: 186675372
* add ability to move individual core library methodsGravatar kmb2018-02-21
| | | | | | RELNOTES: None. PiperOrigin-RevId: 186565673
* Apply interface invocation desugaring to renamed core libraries. Fix ↵Gravatar kmb2018-02-20
| | | | | | | | invokespecial invocations for core interfaces. RELNOTES: None. PiperOrigin-RevId: 186404206
* Tool that scans a given Jar for references to select classes and outputs ↵Gravatar kmb2018-02-20
| | | | | | | | corresponding Proguard-style -keep rules RELNOTES: None. PiperOrigin-RevId: 186372769
* Resolve the owner of interface.super calls to inherited default methods for ↵Gravatar kmb2018-02-15
| | | | | | | | android desugaring RELNOTES: None. PiperOrigin-RevId: 185863194
* Desugar fixes:Gravatar kmb2018-02-10
| | | | | | | | - make Objects.requireNonNull and Long.compare rewrites compatible with --core_library - apply those and try-with-resources rewrites to generated companion classes RELNOTES: None. PiperOrigin-RevId: 185262256
* Delete erroneous piece of desugar's renaming logicGravatar kmb2018-02-09
| | | | | | RELNOTES: None. PiperOrigin-RevId: 185218745
* Stub default methods as needed for core library desugaringGravatar kmb2018-02-08
| | | | | | RELNOTES: None PiperOrigin-RevId: 185082719
* Refactor the command line argument parser to use the latest API.Gravatar cnsun2018-02-08
| | | | | RELNOTES:none PiperOrigin-RevId: 185027580
* Rename generated core classes during core library desugaringGravatar kmb2018-02-07
| | | | | | RELNOTES: None. PiperOrigin-RevId: 184915177
* Reflect renamed classes in desugar output file namesGravatar kmb2018-02-07
| | | | | | RELNOTES: None. PiperOrigin-RevId: 184869773
* drop debug info when loading classes in desugar as a workaround for ↵Gravatar kmb2018-02-06
| | | | | | | | https://bugs.openjdk.java.net/browse/JDK-8066981 RELNOTES: None. PiperOrigin-RevId: 184732576
* Basic tooling to desugar select core librariesGravatar kmb2018-02-05
| | | | | | RELNOTES: None. PiperOrigin-RevId: 184619885
* Fix StreamResourceLeak errorGravatar Liam Miller-Cushon2018-01-10
| | | | | | | Fixes #4414 Change-Id: I06eac192b5be84bd84190980fbcd05574e3a4439 PiperOrigin-RevId: 181465165
* Relax the assertion on the inferred resource type. Now we only require that theGravatar cnsun2018-01-05
| | | | | | | | | resource type should have a (public) close() method. The old version requires the resource type implements AutoCloseable. When the classpath provided to Desugar has some problems, the resource type may not implement AutoCloseable, though it has the close() method. RELNOTES:n/a. PiperOrigin-RevId: 180950815
* Automatic formatting cleanup of Android *.java files.Gravatar jingwen2017-12-18
| | | | | RELNOTES: None. PiperOrigin-RevId: 179425421
* Eagerly close directory content stream again when looking for dumped lambdasGravatar kmb2017-12-15
| | | | | | RELNOTES: None. PiperOrigin-RevId: 179245378
* reflect prefix in additional ClassReader methods for consistency with what ↵Gravatar kmb2017-12-14
| | | | | | | | happens during visit() RELNOTES: None. PiperOrigin-RevId: 179115377
* make desugar resilient to unrelated lambdas being dumped while it runsGravatar kmb2017-12-13
| | | | | | RELNOTES: None. PiperOrigin-RevId: 178952440
* Correct stack map frame computation. When visiting CHOP Frame (discarding n ↵Gravatar cnsun2017-12-12
| | | | | | | | | | | local local variables), the current implementation deletes n local slots, which is wrong when the local variable to delete is of type category 2. This CL deletes local variables instead of local slots. Another change is using the Label objects to identify uninitialized values, instead of the offsets of labels, because the offsets of labels might not be computed. RELNOTES:n/a. PiperOrigin-RevId: 178762969
* Improve exception message to output more information.Gravatar cnsun2017-12-04
| | | | | | RELNOTES:None. PiperOrigin-RevId: 177875613
* Remove static import of inner class InferredType's fieldsGravatar ccross2017-12-04
| | | | | | | | | | | | | | | A few of the InferredType's fields were being static imported, but not all of them, and the use of the statically imported fields was inconsistent. Statically importing the inner class causes strange errors when building desugar in the Android platform build with OpenJDK8, but not OpenJDK9: external/desugar/java/com/google/devtools/build/android/desugar/BytecodeTypeInference.java:1015: error: cannot find symbol @AutoValue ^ symbol: class AutoValue location: class BytecodeTypeInference 1 error Remove the static imports to make the build work and to make the usage consistent. RELNOTES:None. PiperOrigin-RevId: 177875501
* Automatic code cleanup.Gravatar cushon2017-11-28
| | | | PiperOrigin-RevId: 177261837
* Let to push lambda arguments not only with *LOAD instructions but with ↵Gravatar Googler2017-11-28
| | | | | | | SIPUSH and *CONST_*. RELNOTES: None PiperOrigin-RevId: 177149410
* Specialize $closeResource(Throwable, AutoCloseable) so that desugared code ↵Gravatar cnsun2017-11-14
| | | | | | | | | | | does not depend on AutoCloseable, as it is not available before API 19. This CL includes the following: 1. A type inference algorithm based on ASM. It relies on the stack map frames to compute type information at the entry of basic blocks. 2. The type inference is used to infer the types of the resources to be closed. Then for each concrete resource type, we specialize the synthetic $closeResource method to $closeResource(Throwable, <concrete resource type>). RELNOTES: None PiperOrigin-RevId: 175731437
* Fix EnclosingMethod attribute when moving interface methods to companion classGravatar kmb2017-11-13
| | | | | | RELNOTES: None. PiperOrigin-RevId: 175613518
* Record dependencies when directly calling moved interface methods.Gravatar kmb2017-10-24
| | | | | | RELNOTES: None. PiperOrigin-RevId: 173154512
* Remove the implicit requirement of core_library.Gravatar ccalvarin2017-10-12
| | | | | | | The semantics of implicit requirements will soon change to adding the requirements in-place in the command line. This particular implicit requirement was not necessary. RELNOTES: None. PiperOrigin-RevId: 171841036
* Do not rewrite static interface method invocations from bootclasspathGravatar Googler2017-10-07
| | | | | RELNOTES: n/a PiperOrigin-RevId: 171344856
* add flags to desugar to emit metadata that can be used for double-checking ↵Gravatar kmb2017-10-06
| | | | | | | | correctness of default and static interface desugaring. RELNOTES: none PiperOrigin-RevId: 170779637
* Open source tests for Android desugarer.Gravatar ajmichael2017-09-14
| | | | | | | These tests will fail with a helpful error message if you do not have android_sdk_repository set up. They currently require that platform 25 be installed in your SDK. RELNOTES: None PiperOrigin-RevId: 168570577