summaryrefslogtreecommitdiffstats
path: root/test/java/com
Commit message (Collapse)AuthorAgeFilesLines
* Clean up code that directly imports nested classes like Builder, Entry, etc.jcater2018-05-041-3/+3
| | | | | | PiperOrigin-RevId: 194985157 GitOrigin-RevId: 26ff4b3e3997aab79e39caf62c0d123a315d9478 Change-Id: Ibdf69191b559399f4775d82a52a26ce93567707c
* Relax the assertion in Desugar for checking the calls to $closeResource(...).cnsun2018-05-042-0/+8
| | | | | | | | | | 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 GitOrigin-RevId: 1a2ab6d54e2a8749549f41055cd66f3f6dfea4cc Change-Id: Ifdbd7b47132b541ecfd831d2a7b83d76853ec206
* Reflect core library moves in super calls, even in default method stubs. ↵kmb2018-05-041-0/+53
| | | | | | | | | | Always generate default method stubs for emulated methods. RELNOTES: None. PiperOrigin-RevId: 189423933 GitOrigin-RevId: 44a26afb091f2d23d68bcad53e45a319b299867a Change-Id: I8eaecb5a1a29051a14d0529005a56a225b2f4d8b
* Make KeepScanner tool search classpath for nearest definition of each member ↵kmb2018-05-049-3/+30
| | | | | | | | | | | 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 GitOrigin-RevId: 2cbeb24a9c41c6b14ecbb26e2e198fbaf79aea64 Change-Id: Ie2969cb1e1c86aa68c5a6dc0be6b42b09dfaee70
* Minor fixes to KeepScanner tool:kmb2018-05-041-5/+5
| | | | | | | | | | - use Guava to read zip entries - Fix keep rules emitted for constructors RELNOTES: None. PiperOrigin-RevId: 188781547 GitOrigin-RevId: 8e038b04e068285ba02b7934a7df25803802daff Change-Id: Ifc99978b041f9c1c97ff707aafac90c59187c6c8
* Support custom implementations of emulated core interface methodskmb2018-05-041-1/+1
| | | | | | | | RELNOTES: None. PiperOrigin-RevId: 188760099 GitOrigin-RevId: bff3472e4013c053e452fad7948ad68c5cbd5692 Change-Id: I6fe0153afa5bb57d27da9ca43f2a6796c8907e95
* tests,windows: enable android.desugar.runtimeLaszlo Csomor2018-05-041-1/+10
| | | | | | | | | | | | | | Add the c.g.d.build.android.desugar.runtime tests to the transitive closure of //src:all_windows_tests, thus running them on CI. See https://github.com/bazelbuild/bazel/issues/4292 Closes #4796. PiperOrigin-RevId: 188312286 GitOrigin-RevId: 63f6e2293fe8e679732d3d180afc0e781ae40241 Change-Id: I0975c9291a5a043d562242e65e6ad5557b958d36
* emulate dynamic dispatch of emulated default interface methodskmb2018-05-042-14/+23
| | | | | | | | RELNOTES: None. PiperOrigin-RevId: 187671513 GitOrigin-RevId: babbfdc6cb98a23fe0dadf02d7dc407504e9cac5 Change-Id: Ie23b521a82464d07f625cefad8418c502f0978f0
* Android desugar config options to exclude methods from interface emulationkmb2018-05-042-2/+45
| | | | | | | | RELNOTES: None. PiperOrigin-RevId: 187551970 GitOrigin-RevId: f090082d62c3ea779d2dd33eb0fd7355b0ee9456 Change-Id: Id9ff715440eace84432ae6c5b88f7daaa43f36db
* send invocations to emulated interfaces through dispatch helper.kmb2018-05-042-0/+13
| | | | | | | | | fix logic for implementing emulated interfaces. RELNOTES: None. PiperOrigin-RevId: 187520298 GitOrigin-RevId: 4b6c0ec4b54e258763ce22e1a7f529d293aff026 Change-Id: If35dfebaa31dc5ea170c945f0ae7b26edf260ba2
* add ability to move individual core library methodskmb2018-05-042-14/+61
| | | | | | | | RELNOTES: None. PiperOrigin-RevId: 186565673 GitOrigin-RevId: deb99ccfb4e6b236c21e6d425281870aa598804a Change-Id: I56030d75aa6b3666299aa98ec961ef7078917975
* Apply interface invocation desugaring to renamed core libraries. Fix ↵kmb2018-05-041-39/+88
| | | | | | | | | | invokespecial invocations for core interfaces. RELNOTES: None. PiperOrigin-RevId: 186404206 GitOrigin-RevId: f4d2dad976907abea8a727a8360c2e4e087b893f Change-Id: Ic6ddd94802f83596c35999db68ad3b28bdc93c73
* Tool that scans a given Jar for references to select classes and outputs ↵kmb2018-05-044-0/+182
| | | | | | | | | | corresponding Proguard-style -keep rules RELNOTES: None. PiperOrigin-RevId: 186372769 GitOrigin-RevId: c1042f2adc55d040495a1159100146fad607d32a Change-Id: I8c3509e9d48145cc90faa143016c3f2cb0d23c27
* Resolve the owner of interface.super calls to inherited default methods for ↵kmb2018-05-043-0/+55
| | | | | | | | | | android desugaring RELNOTES: None. PiperOrigin-RevId: 185863194 GitOrigin-RevId: c8e8749adc7b98c272b2421569dc97a88d487771 Change-Id: I063c2caa4b38fff2f9111f9fc09c317a5b097834
* Stub default methods as needed for core library desugaringkmb2018-05-042-0/+18
| | | | | | | | RELNOTES: None PiperOrigin-RevId: 185082719 GitOrigin-RevId: aa79fd483daff0db9be274c33de109257f8a6804 Change-Id: I90cad779653c93f9917f69fe06daad2bbf919f65
* Rename generated core classes during core library desugaringkmb2018-05-041-0/+4
| | | | | | | | RELNOTES: None. PiperOrigin-RevId: 184915177 GitOrigin-RevId: 154317e1269b1925722754291a8c7181ccd005f6 Change-Id: I2974e07e3154ec481579cb191c48bc2f8d0af06f
* drop debug info when loading classes in desugar as a workaround for ↵kmb2018-05-041-0/+0
| | | | | | | | | | https://bugs.openjdk.java.net/browse/JDK-8066981 RELNOTES: None. PiperOrigin-RevId: 184732576 GitOrigin-RevId: e85e280645f579ffd5511a41553e95713c80177d Change-Id: Ic2e2372810c649b0376183b011441e70f08d57d1
* Basic tooling to desugar select core librarieskmb2018-05-042-0/+322
| | | | | | | | RELNOTES: None. PiperOrigin-RevId: 184619885 GitOrigin-RevId: 1324318ea0fe60350c0a5179818fc1c97d4ec854 Change-Id: I2d9bc87180067959b618641a188d83a8d7c24b3b
* Relax the assertion on the inferred resource type. Now we only require that thecnsun2018-05-047-0/+49
| | | | | | | | | | | 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 GitOrigin-RevId: 7bde688a21b781caa666fe2bebe4482cf987270b Change-Id: Id0a03911e12f903ce62fec72317a7dbc8d311287
* Correct stack map frame computation. When visiting CHOP Frame (discarding n ↵cnsun2017-12-145-20/+700
| | | | | | | | | | | | | 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 GitOrigin-RevId: 770b1779dfd4e673e1523bc7e6f1772d4f4dfc04 Change-Id: Ib1ae1a813a51649d5d9522bdf393f48e56432b66
* Let to push lambda arguments not only with *LOAD instructions but with ↵Googler2017-11-292-0/+356
| | | | | | | | | SIPUSH and *CONST_*. RELNOTES: None PiperOrigin-RevId: 177149410 GitOrigin-RevId: af10f2a83bdda8406a8c0a012db6d38e19d022b0 Change-Id: Ica86f3606d70b1cd25e336eb2cce5e369138ba76
* Specialize $closeResource(Throwable, AutoCloseable) so that desugared code ↵cnsun2017-11-298-5/+1751
| | | | | | | | | | | | | 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 GitOrigin-RevId: e83f3b1fb010298cbe1e16e5f7f2f39bfb045cef Change-Id: I347f8e4058a191621fb21bf2e81d7cf8f39ce6aa
* Record dependencies when directly calling moved interface methods.kmb2017-10-242-0/+42
| | | | | | | | RELNOTES: None. PiperOrigin-RevId: 173154512 GitOrigin-RevId: a01493b751fa1a31e1cef929b36ee030402909fa Change-Id: Id96eb89cbca159e7ce7f0e72ec3c3312a7ba4071
* Exclude Android dependency checking from Bazel's singlejar build.kmb2017-10-241-2/+6
| | | | | | | | | This should also address https://github.com/bazelbuild/bazel/issues/3903 RELNOTES: None. PiperOrigin-RevId: 172963663 GitOrigin-RevId: db1426b75d7721554a8b139696b5b4c400a260a5 Change-Id: I4cf813e365609c5f811f421f9133b2497f2c5c72
* Desugar-singlejar integration tests for double-checking default methods.kmb2017-10-245-12/+54
| | | | | | PiperOrigin-RevId: 171980809 GitOrigin-RevId: 9cf05abe06ee687d21e8a5bb12399a33f3fe0498 Change-Id: I4995c684a6d1d7440a125e1f56daa47209c60cdc
* Do not rewrite static interface method invocations from bootclasspathGoogler2017-10-245-3/+16
| | | | | | | RELNOTES: n/a PiperOrigin-RevId: 171344856 GitOrigin-RevId: 38da0c2e6e082964e32e8646439cdec7cd50808f Change-Id: Ice56501cd04133409dacde89318abac85b1828b9
* add flags to desugar to emit metadata that can be used for double-checking ↵kmb2017-10-249-1/+244
| | | | | | | | | | correctness of default and static interface desugaring. RELNOTES: none PiperOrigin-RevId: 170779637 GitOrigin-RevId: bdb12ceeb7c23d7d2293e8006d0aa7127a91b973 Change-Id: I6969cc42323b5299a90af9e8084658e9f654825f
* Open source tests for Android desugarer.ajmichael2017-09-2277-0/+5735
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 GitOrigin-RevId: d60e0d02eb56e27f98086d764c6d9f88898d920d Change-Id: I27f71669816c963111a92762a9f3dffddabfa0f6