commit | f418c2072011329e288d750f8f63a5e5b0cb7ad6 | [log] [tgz] |
---|---|---|
author | Christoffer Adamsen <christofferqa@google.com> | Tue Mar 26 08:20:21 2024 +0000 |
committer | Christoffer Adamsen <christofferqa@google.com> | Tue Mar 26 08:20:21 2024 +0000 |
tree | a7875619869b1ff965b92865db6582030125bb72 | |
parent | cf5b51c94871c08719927f865ffc3f89f5d0042e [diff] |
Account for dead Composable functions Bug: b/302483644 Change-Id: I9c35a73eb839fddeb95c395691aea68b5a991290
diff --git a/src/main/java/com/android/tools/r8/optimize/compose/ComposeMethodProcessor.java b/src/main/java/com/android/tools/r8/optimize/compose/ComposeMethodProcessor.java index ec12fa0..846dcbe 100644 --- a/src/main/java/com/android/tools/r8/optimize/compose/ComposeMethodProcessor.java +++ b/src/main/java/com/android/tools/r8/optimize/compose/ComposeMethodProcessor.java
@@ -175,6 +175,12 @@ asProgramFieldOrNull(appView.definitionFor(singleBaseInFlow.asFieldValue().getField())); assert field != null; + // If the only input to the $$changed parameter of the Composable function is in-flow then skip. + if (methodState.getParameterState(parameterIndex).getAbstractValue(appView).isBottom()) { + methodState.setParameterState(parameterIndex, ValueState.unknown()); + return; + } + codeScanner .getFieldStates() .addTemporaryFieldState(