Status Update
Comments
sg...@google.com <sg...@google.com> #2
sg...@google.com <sg...@google.com>
va...@wandera.com <va...@wandera.com> #3
sg...@google.com <sg...@google.com> #4
Branch: androidx-master-dev
commit 3ed3fb003fa6c1244f923202859a616225b5b2fa
Author: Ian Lake <ilake@google.com>
Date: Fri Feb 14 11:17:46 2020
Create an interface for layouts that can be opened
Create a common interface that represents layouts
that have two states: open and closed. This allows
higher level libraries to rely on the interface,
rather than concrete implementations such as
DrawerLayout, making them more resilient to
changes in the current recommended implementation.
Fixes: 129979320
Test: ./gradlew checkApi
Change-Id: I0f2a1414977825aa053c6555261f2b7d4417bd19
M customview/customview/api/1.1.0-alpha02.txt
M customview/customview/api/current.txt
M customview/customview/api/public_plus_experimental_1.1.0-alpha02.txt
M customview/customview/api/public_plus_experimental_current.txt
M customview/customview/api/restricted_1.1.0-alpha02.txt
M customview/customview/api/restricted_current.txt
A customview/customview/src/main/java/androidx/customview/widget/Openable.java
M drawerlayout/drawerlayout/api/1.1.0-alpha03.txt
M drawerlayout/drawerlayout/api/current.txt
M drawerlayout/drawerlayout/api/public_plus_experimental_1.1.0-alpha03.txt
M drawerlayout/drawerlayout/api/public_plus_experimental_current.txt
M drawerlayout/drawerlayout/api/restricted_1.1.0-alpha03.txt
M drawerlayout/drawerlayout/api/restricted_current.txt
M drawerlayout/drawerlayout/build.gradle
M drawerlayout/drawerlayout/src/main/java/androidx/drawerlayout/widget/DrawerLayout.java
M jetifier/jetifier/migration.config
M slidingpanelayout/slidingpanelayout/api/1.1.0-alpha01.txt
M slidingpanelayout/slidingpanelayout/api/current.txt
M slidingpanelayout/slidingpanelayout/api/public_plus_experimental_1.1.0-alpha01.txt
M slidingpanelayout/slidingpanelayout/api/public_plus_experimental_current.txt
M slidingpanelayout/slidingpanelayout/api/restricted_1.1.0-alpha01.txt
M slidingpanelayout/slidingpanelayout/api/restricted_current.txt
M slidingpanelayout/slidingpanelayout/src/main/java/androidx/slidingpanelayout/widget/SlidingPaneLayout.java
dh...@uipath.com <dh...@uipath.com> #5
So the solution will be the following:
- AGP 7.x+
- Kotlin 1.5.x+
- JaCoCo 0.8.7+
- Java 11 set as the JDK
- Java 1.8 set as
jvmTarget
andcompileOptions
(like in the above example).
I will give that a try and see if it works.
Update The setup above looks like it works. We don't need actual Java 11 features in compiled code so that is fine for us.
ap...@google.com <ap...@google.com> #6
Branch: main
commit 469c04a741fe0f738140133d3693ef726bd2c685
Author: Søren Gjesse <sgjesse@google.com>
Date: Fri Aug 13 15:40:00 2021
Add a test for JaCoCo using CONSTANT_Dynamic for class file version 55
Bug: 178172809
Change-Id: I914f3b4edf49f196fc53a761a37f004e6ff55c7a
M src/test/java/com/android/tools/r8/D8TestCompileResult.java
M src/test/java/com/android/tools/r8/JvmTestBuilder.java
M src/test/java/com/android/tools/r8/ToolHelper.java
A src/test/java/com/android/tools/r8/desugar/constantdynamic/JacocoConstantDynamicTest.java
M src/test/java/com/android/tools/r8/rewrite/assertions/AssertionsConfigurationJacocoTest.java
ap...@google.com <ap...@google.com> #7
Branch: main
commit 1053e076c8e32d0ddd25affea1395a786c874f3a
Author: Søren Gjesse <sgjesse@google.com>
Date: Fri Aug 13 15:33:20 2021
Update Jacoco 0.8.6
Include lib/jacocoagent.jar as well.
README.google for third_party/jacoco/0.8.6:
URL:
Version: 0.8.6
License: Eclipse Public License Version 2.0
License File: doc/license.html
Description:
JaCoCo is a free Java code coverage library distributed under the Eclipse Public License.
Local Modifications:
This only includes lib/jacococli.jar, lib/jacocoagent.jar and doc/license.html
from the distribution.
Bug: 178172809
Change-Id: I75ef8704719a56fdc524bc8be72061fb1a651bc2
M src/test/java/com/android/tools/r8/ToolHelper.java
M third_party/jacoco/0.8.6.tar.gz.sha1
ap...@google.com <ap...@google.com> #8
Branch: main
commit 3b872685abcfc48266f881e1d36cfa15c2c7c816
Author: Søren Gjesse <sgjesse@google.com>
Date: Thu Aug 26 17:37:54 2021
Add CONSTANT_Dynamic test of using two differently typed constants
Bug: 178172809
Change-Id: Ia93c16bf1d0ffeb08ae71d7f5165a6a675fd932b
A src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleTypesConstantDynamicTest.java
ap...@google.com <ap...@google.com> #9
Branch: main
commit 387e73d38d58f73020f2d2dc7bf52143b7655093
Author: Søren Gjesse <sgjesse@google.com>
Date: Thu Aug 26 17:35:22 2021
Add CONSTANT_Dynamic test of using two named constants
Bug: 178172809
Change-Id: I37e2068804fba01e16e9f7e99a6251d1e147e5ae
A src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleNamedConstantDynamicTest.java
ap...@google.com <ap...@google.com> #10
Branch: main
commit a2f11283005b6464fe818cf2484791169376717b
Author: Søren Gjesse <sgjesse@google.com>
Date: Thu Aug 26 17:33:22 2021
Add CONSTANT_Dynamic test of using bootstrap method from another class
Bug: 178172809
Change-Id: I2678610bbac037c198aba9ddbb2d555b6f4c9bf2
A src/test/java/com/android/tools/r8/desugar/constantdynamic/SharedBootstrapMethodConstantDynamicTest.java
ap...@google.com <ap...@google.com> #11
Branch: main
commit a1f2fb64547ccd4da1fb090952771dbbea8148f5
Author: Søren Gjesse <sgjesse@google.com>
Date: Thu Aug 26 17:31:30 2021
Add a basic test for CONSTANT_Dynamic
Bug: 178172809
Change-Id: I943ae0f5c544a24a85241a68ad1b44b77cc366e7
A src/test/java/com/android/tools/r8/desugar/constantdynamic/BasicConstantDynamicTest.java
M src/test/java/com/android/tools/r8/transformers/ClassFileTransformer.java
ap...@google.com <ap...@google.com> #12
Branch: main
commit b6acb80d9bb5ef3a1c1b978bfae0881ecd6ef2f1
Author: Søren Gjesse <sgjesse@google.com>
Date: Mon Aug 30 15:01:16 2021
Move existing CONSTANT_Dynamic test
Bug: 178172809
Change-Id: I9087efe450fc424f238adf840df76fb169306bcb
M src/test/java/com/android/tools/r8/desugar/constantdynamic/ConstantDynamicHolderTest.java
ap...@google.com <ap...@google.com> #13
Branch: main
commit d2f2b95251a42fe1604118f6b1fd8e40ea3a7f45
Author: Søren Gjesse <sgjesse@google.com>
Date: Mon Aug 30 14:58:40 2021
Add CONSTANT_Dynamic test with a class hierarchy
Bug: 178172809
Change-Id: I4c18aae2eaf7872e7eddabb78e7ce00d71679e32
A src/test/java/com/android/tools/r8/desugar/constantdynamic/HierarchyConstantDynamicTest.java
ap...@google.com <ap...@google.com> #14
Branch: main
commit 9ce1961e61188dc1ae29ca8c079f06caefbb56bb
Author: Søren Gjesse <sgjesse@google.com>
Date: Tue Aug 31 17:53:58 2021
Remove checking of unknown origin in tests
Bug: 178172809
Change-Id: I5a33cf055a7d0e1ef05751910c7aebb92f829ba6
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BasicConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleNamedConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleTypesConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/SharedBootstrapMethodConstantDynamicTest.java
ap...@google.com <ap...@google.com> #15
Branch: main
commit 1692720f377f0430dfaefc0c77e9854aca042931
Author: Søren Gjesse <sgjesse@google.com>
Date: Tue Aug 31 17:52:27 2021
Don't use static initializer for CONSTANT_Dynamic desugaring
Bug: 178172809
Change-Id: If03d98c5e5327ec148a8d49d5f7a41ee6d5451e0
M src/main/java/com/android/tools/r8/graph/FieldAccessFlags.java
M src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicClass.java
ap...@google.com <ap...@google.com> #16
Branch: main
commit f79ab1595013c234c14b5b521d543b783e34dfa8
Author: Søren Gjesse <sgjesse@google.com>
Date: Tue Aug 31 17:51:02 2021
Desugaring of CONSTANT_Dynamic to support JaCoCo
This desugaring supports the use of CONSTANT_Dynamic found
in JaCoCo version 0.8.4+ when instrumenting class files
with version 55 or higher.
Initial implementation use <clinit> for synchronizing constant
creation.
Bug: 178172809
Change-Id: I2ec90f9848d1323c5af83a6f3c19066f08b5836d
M src/main/java/com/android/tools/r8/cf/CfCodePrinter.java
M src/main/java/com/android/tools/r8/cf/CfPrinter.java
A src/main/java/com/android/tools/r8/cf/code/CfConstDynamic.java
M src/main/java/com/android/tools/r8/cf/code/CfInstruction.java
M src/main/java/com/android/tools/r8/graph/CfCompareHelper.java
M src/main/java/com/android/tools/r8/graph/LazyCfCode.java
M src/main/java/com/android/tools/r8/ir/desugar/CfInstructionDesugaringEventConsumer.java
M src/main/java/com/android/tools/r8/ir/desugar/NonEmptyCfInstructionDesugaringCollection.java
A src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicClass.java
A src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicDesugaringEventConsumer.java
A src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicInstructionDesugaring.java
A src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicReference.java
M src/main/java/com/android/tools/r8/shaking/Enqueuer.java
M src/main/java/com/android/tools/r8/synthesis/SyntheticNaming.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BasicConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/ConstantDynamicHolderTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/HierarchyConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/JacocoConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleNamedConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleTypesConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/SharedBootstrapMethodConstantDynamicTest.java
ap...@google.com <ap...@google.com> #17
Branch: main
commit d679cc0aed4fb55acd41147a8519844cbe4145ea
Author: Søren Gjesse <sgjesse@google.com>
Date: Mon Sep 06 16:48:28 2021
Update CONSTANT_Dynamic desugaring
* Handle some invalid bootstrap methods
* Test multiple constants with different bootstrap methods
in same class
Bug: 178172809
Change-Id: I95042912e16b67e7ceaa13e0e6047af1a396905d
M src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicClass.java
A src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodNotFoundConstantDynamicTest.java
A src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodPrivateConstantDynamicTest.java
A src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodVirtualConstantDynamicTest.java
A src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleBootstrapMethodConstantDynamicTest.java
ap...@google.com <ap...@google.com> #18
Branch: main
commit c859a265e149160ac82ffc901fb9f99f4b1a985a
Author: Søren Gjesse <sgjesse@google.com>
Date: Tue Sep 07 15:28:12 2021
Refactor CONSTANT_Dynamic desugaring when throwing
Bug: 178172809
Change-Id: I902a341198ca4f0046b7806b55b8eadfd95aaec5
M src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicClass.java
M src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicDesugaringEventConsumer.java
M src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicInstructionDesugaring.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodNotFoundConstantDynamicTest.java
ap...@google.com <ap...@google.com> #19
Branch: main
commit 39bdaaa20b2c7ba9cbc1c7d26f74b8c4cf357bc4
Author: Søren Gjesse <sgjesse@google.com>
Date: Tue Sep 07 16:03:03 2021
Remove CONSTANT_Dynamic redundant testing
Running testForDesugaring includes a standard D8 compilation.
Bug: 178172809
Change-Id: I8c7c3ea4a96193d763c96b76465204218063a14e
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BasicConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodNotFoundConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodPrivateConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodVirtualConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleBootstrapMethodConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleNamedConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleTypesConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/SharedBootstrapMethodConstantDynamicTest.java
ap...@google.com <ap...@google.com> #20
Branch: main
commit 697e09e59c3f08b2be421c39d16c479584a9d9ac
Author: Ian Zerny <zerny@google.com>
Date: Tue Sep 14 14:21:06 2021
Clear the correct set in desugar finalization.
Bug: 178172809
Change-Id: Ie4e828e4169f80fe8e2b7f882aba62e0042fa30e
M src/main/java/com/android/tools/r8/ir/desugar/CfInstructionDesugaringEventConsumer.java
ap...@google.com <ap...@google.com> #21
Branch: 3.1
commit 098f12f6586e090f05e91c644d9990a4020a18a6
Author: Søren Gjesse <sgjesse@google.com>
Date: Mon Oct 04 15:08:30 2021
Remove CONSTANT_Dynamic redundant testing
Running testForDesugaring includes a standard D8 compilation.
Bug: 178172809
Change-Id: I8c7c3ea4a96193d763c96b76465204218063a14e
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodPrivateConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleNamedConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleTypesConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleBootstrapMethodConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/SharedBootstrapMethodConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BasicConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodNotFoundConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodVirtualConstantDynamicTest.java
ap...@google.com <ap...@google.com> #22
Branch: 3.1
commit 5c14f79721be75a94c789c9fe3ff10adc1b6584c
Author: Søren Gjesse <sgjesse@google.com>
Date: Mon Oct 04 15:07:41 2021
Refactor CONSTANT_Dynamic desugaring when throwing
Bug: 178172809
Change-Id: I902a341198ca4f0046b7806b55b8eadfd95aaec5
M src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicClass.java
M src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicDesugaringEventConsumer.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodNotFoundConstantDynamicTest.java
M src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicInstructionDesugaring.java
ap...@google.com <ap...@google.com> #23
Branch: 3.1
commit f78261e3820f41450507bc31e3984373c7f864e8
Author: Søren Gjesse <sgjesse@google.com>
Date: Mon Oct 04 14:58:38 2021
Update CONSTANT_Dynamic desugaring
* Handle some invalid bootstrap methods
* Test multiple constants with different bootstrap methods
in same class
Bug: 178172809
Change-Id: I95042912e16b67e7ceaa13e0e6047af1a396905d
A src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodPrivateConstantDynamicTest.java
M src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicClass.java
A src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleBootstrapMethodConstantDynamicTest.java
A src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodNotFoundConstantDynamicTest.java
A src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodVirtualConstantDynamicTest.java
sg...@google.com <sg...@google.com> #24
Putting this on hold for now. What is implemented so far is sufficient to handle JaCoCo version 0.8.4 and above, which use CONSTANT_Dynamic when instrumenting class files of version 55 and above.
wb...@gmail.com <wb...@gmail.com> #25
sg...@google.com <sg...@google.com> #26
You should be able to use R8 3.1.28 (the version used in the next Bumblebee Beta), by adding the following to settings.gradle
or settings.gradle.kts
.
pluginManagement {
buildscript {
repositories {
mavenCentral()
maven {
url = uri("https://storage.googleapis.com/r8-releases/raw")
}
}
dependencies {
classpath("com.android.tools:r8:3.1.28")
classpath('com.google.guava:guava:30.1.1-jre') // <-- THIS IS REQUIRED UNTIL R8 3.2.4-dev
}
}
}
sg...@google.com <sg...@google.com> #27
For Android Studio Chipmunk JaCoco 0.8.7 will be the default. See
ha...@faire.com <ha...@faire.com> #28
"Java 1.8 set as jvmTarget and compileOptions"
since our codebase uses java 11 features. In this case I tried the pluginManagement block from
In the case where using R8 3.1.28 doesn't work are we out of luck and will just have to wait for Android Studio Chipmunk/AGP 7.2.0 to be released?
sg...@google.com <sg...@google.com> #29
The pluginManagement
block in build.gradle
file and just run ./gradlew
:
println(com.android.tools.r8.Version.getVersionString())
If that is 3.1.28 or above you should be able to use JaCoCo with code compiled with -target 11
. Note, that R8 3.1.28 was included in Bumblebee Beta 2 (2021.1.1.15) and AGP 7.1.0-beta02, so you should be able to use that version without any additional configuration instead of waiting for Chipmunk/AGP 7.2.0.
ha...@faire.com <ha...@faire.com> #30
ap...@google.com <ap...@google.com> #31
Branch: main
commit 3e0a120cf508a856c117d8784cd6477340071181
Author: Søren Gjesse <sgjesse@google.com>
Date: Fri Jan 07 09:19:48 2022
Support CONSTANT_Dynamic in interface default methods (part 1)
This is first step for D8 only.
Bug: 178172809
Bug: 210485236
Bug: 210148618
Change-Id: I2a02607f04e577896f0730f02a34726eaa1bee8c
M src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicClass.java
M src/test/java/com/android/tools/r8/jacoco/JacocoClasses.java
A src/test/java/com/android/tools/r8/desugar/constantdynamic/ConstantDynamicInDefaultInterfaceMethodTest.java
M src/test/java/com/android/tools/r8/transformers/ClassFileTransformer.java
M src/test/java/com/android/tools/r8/TestBuilder.java
M src/main/java/com/android/tools/r8/ir/desugar/itf/InterfaceDesugaringSyntheticHelper.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/JacocoConstantDynamicTest.java
ap...@google.com <ap...@google.com> #32
Branch: 3.1
commit 3eb6988b4110560bf9a5a63b06d85462cecf5d46
Author: Søren Gjesse <sgjesse@google.com>
Date: Fri Jan 07 14:00:48 2022
Version 3.1.52
Bug: 211646483
Bug: 178172809
Bug: 210485236
Bug: 210148618
Change-Id: I0c7515820285cca9eb337e82fd5beebe448c9d14
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #33
Branch: 3.1
commit 7cbc40263192a47927707085f4a9076ab69cb423
Author: Søren Gjesse <sgjesse@google.com>
Date: Fri Jan 07 14:00:02 2022
Support CONSTANT_Dynamic in interface default methods (part 1)
This is first step for D8 only.
Bug: 178172809
Bug: 210485236
Bug: 210148618
Change-Id: I2a02607f04e577896f0730f02a34726eaa1bee8c
M src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicClass.java
M src/test/java/com/android/tools/r8/jacoco/JacocoClasses.java
A src/test/java/com/android/tools/r8/desugar/constantdynamic/ConstantDynamicInDefaultInterfaceMethodTest.java
M src/test/java/com/android/tools/r8/transformers/ClassFileTransformer.java
M src/test/java/com/android/tools/r8/TestBuilder.java
M src/main/java/com/android/tools/r8/ir/desugar/itf/InterfaceDesugaringSyntheticHelper.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/JacocoConstantDynamicTest.java
ap...@google.com <ap...@google.com> #34
Branch: main
commit 9da1cb3ab71053b8a77f68d10b1c74739a1a2c11
Author: Søren Gjesse <sgjesse@google.com>
Date: Fri Jan 07 11:36:40 2022
Add a DYNAMIC_Constant ICCE regression test
A DYNAMIC_Constant test where the bootstrap method handle
does not have the interface bit but targets a bootstrap method on an
interface.
Bug: 178172809
Change-Id: I729de5ad20c38cec77fea25b6f8ac4b3018598be
M src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleNamedConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleTypesConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodPrivateConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/MultipleBootstrapMethodConstantDynamicTest.java
M src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicClass.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BasicConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodNotFoundConstantDynamicTest.java
A src/test/java/com/android/tools/r8/desugar/constantdynamic/ConstantDynamicInDefaultInterfaceMethodICCETest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/HierarchyConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/ConstantDynamicInDefaultInterfaceMethodTest.java
M src/test/java/com/android/tools/r8/transformers/ClassFileTransformer.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/SharedBootstrapMethodConstantDynamicTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/ConstantDynamicGetDeclaredMethodsTest.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/BootstrapMethodVirtualConstantDynamicTest.java
ap...@google.com <ap...@google.com> #35
Branch: 3.2
commit 8ef49ca15bb490fc4ecf7e19d7790d477c0c0da5
Author: Søren Gjesse <sgjesse@google.com>
Date: Fri Jan 07 15:50:05 2022
Version 3.2.38
Bug: 211646483
Bug: 178172809
Bug: 210485236
Bug: 210148618
Change-Id: Iadf6e2fc97ed333e49e1ffbeadea5016aa3e3441
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #36
Branch: 3.2
commit 8fe86d4651ab8321362e3d1b0e2bf5915448155c
Author: Søren Gjesse <sgjesse@google.com>
Date: Fri Jan 07 15:37:57 2022
Support CONSTANT_Dynamic in interface default methods (part 1)
This is first step for D8 only.
Bug: 178172809
Bug: 210485236
Bug: 210148618
Change-Id: I2a02607f04e577896f0730f02a34726eaa1bee8c
M src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicClass.java
M src/test/java/com/android/tools/r8/jacoco/JacocoClasses.java
A src/test/java/com/android/tools/r8/desugar/constantdynamic/ConstantDynamicInDefaultInterfaceMethodTest.java
M src/test/java/com/android/tools/r8/transformers/ClassFileTransformer.java
M src/test/java/com/android/tools/r8/TestBuilder.java
M src/main/java/com/android/tools/r8/ir/desugar/itf/InterfaceDesugaringSyntheticHelper.java
M src/test/java/com/android/tools/r8/desugar/constantdynamic/JacocoConstantDynamicTest.java
ap...@google.com <ap...@google.com> #37
Branch: 3.1
commit 155e1c980904ca90975d2b787c7bd985eb8031aa
Author: Søren Gjesse <sgjesse@google.com>
Date: Tue Jan 11 11:29:23 2022
Version 3.1.56
Revert updates to CONSTANT_Dynamic desugaring.
Bug: 178172809
Change-Id: I91744c9fb96de0b0a42f6c5a3b73747baf051287
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #38
Branch: 3.1
commit 6fe8675570a645366827a5e237ba447304d02091
Author: Søren Gjesse <sgjesse@google.com>
Date: Thu Jan 13 08:46:01 2022
Version 3.1.59
Bug: 178172809
Change-Id: I95631b8c49ceef8116dde462be936ea9388ffae7
M src/main/java/com/android/tools/r8/Version.java
de...@gmail.com <de...@gmail.com> #39
Android Studio Chipmunk | 2021.2.1 Patch 1
AGP 7.1.3
Kotlin 1.5.x
Jacoco 0.8.8
java 11 set as JDK
Java 11 set as jvmTarget and compileOptions
Description
Dynamic class file constants was added in JDK 11, and is described inhttps://openjdk.java.net/jeps/309 .
Desugaring should be possible when the code for the bootstrap method is known. Either if it is included in the input program or use a "meta factory" which has well known behavior for which equivalent code can be generated.