Use AppView<?> for kotlin metadata rewriting
This is in preparation for moving Kotlin metadata rewriter out of
minifiers
Bug: 158820867
Bug: 158766557
Change-Id: Ia4a1b1150f547aa45818f7bdb9d6204ed8150dc6
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinAnnotationArgumentInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinAnnotationArgumentInfo.java
index 6a9b23d..953766c 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinAnnotationArgumentInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinAnnotationArgumentInfo.java
@@ -9,7 +9,6 @@
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.kotlin.Kotlin.ClassClassifiers;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.Box;
import com.google.common.collect.ImmutableList;
@@ -30,8 +29,7 @@
private static final Map<String, KotlinAnnotationArgumentInfo> EMPTY_ARGUMENTS =
ImmutableMap.of();
- abstract KmAnnotationArgument<?> rewrite(
- AppView<AppInfoWithLiveness> appView, NamingLens namingLens);
+ abstract KmAnnotationArgument<?> rewrite(AppView<?> appView, NamingLens namingLens);
private static KotlinAnnotationArgumentInfo createArgument(
KmAnnotationArgument<?> arg, DexItemFactory factory) {
@@ -77,7 +75,7 @@
}
@Override
- KmAnnotationArgument<?> rewrite(AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ KmAnnotationArgument<?> rewrite(AppView<?> appView, NamingLens namingLens) {
return new KClassValue(
value.toRenamedBinaryNameOrDefault(appView, namingLens, ClassClassifiers.anyName));
}
@@ -105,7 +103,7 @@
}
@Override
- KmAnnotationArgument<?> rewrite(AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ KmAnnotationArgument<?> rewrite(AppView<?> appView, NamingLens namingLens) {
return new EnumValue(
enumClassName.toRenamedBinaryNameOrDefault(appView, namingLens, ClassClassifiers.anyName),
enumEntryName);
@@ -132,7 +130,7 @@
}
@Override
- KmAnnotationArgument<?> rewrite(AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ KmAnnotationArgument<?> rewrite(AppView<?> appView, NamingLens namingLens) {
Box<KmAnnotation> rewrittenAnnotation = new Box<>();
value.rewrite(rewrittenAnnotation::set, appView, namingLens);
if (rewrittenAnnotation.isSet()) {
@@ -172,7 +170,7 @@
}
@Override
- KmAnnotationArgument<?> rewrite(AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ KmAnnotationArgument<?> rewrite(AppView<?> appView, NamingLens namingLens) {
List<KmAnnotationArgument<?>> rewrittenArguments = new ArrayList<>();
for (KotlinAnnotationArgumentInfo kotlinAnnotationArgumentInfo : value) {
KmAnnotationArgument<?> rewrittenArg =
@@ -203,7 +201,7 @@
}
@Override
- KmAnnotationArgument<?> rewrite(AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ KmAnnotationArgument<?> rewrite(AppView<?> appView, NamingLens namingLens) {
return argument;
}
}
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinAnnotationInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinAnnotationInfo.java
index fd4d087..45adb46 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinAnnotationInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinAnnotationInfo.java
@@ -8,7 +8,6 @@
import com.android.tools.r8.graph.DexDefinitionSupplier;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.DescriptorUtils;
import com.google.common.collect.ImmutableList;
@@ -51,7 +50,7 @@
public void rewrite(
KmVisitorProviders.KmAnnotationVisitorProvider visitorProvider,
- AppView<AppInfoWithLiveness> appView,
+ AppView<?> appView,
NamingLens namingLens) {
String renamedDescriptor =
annotationType.toRenamedDescriptorOrDefault(appView, namingLens, null);
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinClassInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinClassInfo.java
index 9974651..24947bf 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinClassInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinClassInfo.java
@@ -16,7 +16,6 @@
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.graph.DexString;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.utils.DescriptorUtils;
import com.android.tools.r8.utils.Reporter;
import com.google.common.collect.ImmutableList;
@@ -200,8 +199,7 @@
}
@Override
- public KotlinClassHeader rewrite(
- DexClass clazz, AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ public KotlinClassHeader rewrite(DexClass clazz, AppView<?> appView, NamingLens namingLens) {
KmClass kmClass = new KmClass();
// TODO(b/154348683): Set flags.
kmClass.setFlags(flags);
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinClassLevelInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinClassLevelInfo.java
index 1a24001..fdb326e 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinClassLevelInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinClassLevelInfo.java
@@ -7,7 +7,6 @@
import com.android.tools.r8.graph.AppView;
import com.android.tools.r8.graph.DexClass;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import kotlinx.metadata.jvm.KotlinClassHeader;
@@ -57,8 +56,7 @@
return null;
}
- KotlinClassHeader rewrite(
- DexClass clazz, AppView<AppInfoWithLiveness> appView, NamingLens namingLens);
+ KotlinClassHeader rewrite(DexClass clazz, AppView<?> appView, NamingLens namingLens);
String getPackageName();
}
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinClassifierInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinClassifierInfo.java
index ac19e28..c80ed32 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinClassifierInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinClassifierInfo.java
@@ -9,7 +9,6 @@
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.kotlin.Kotlin.ClassClassifiers;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.DescriptorUtils;
import com.android.tools.r8.utils.Reporter;
@@ -47,8 +46,7 @@
}
}
- abstract void rewrite(
- KmTypeVisitor visitor, AppView<AppInfoWithLiveness> appView, NamingLens namingLens);
+ abstract void rewrite(KmTypeVisitor visitor, AppView<?> appView, NamingLens namingLens);
public static class KotlinClassClassifierInfo extends KotlinClassifierInfo {
@@ -61,8 +59,7 @@
}
@Override
- void rewrite(
- KmTypeVisitor visitor, AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ void rewrite(KmTypeVisitor visitor, AppView<?> appView, NamingLens namingLens) {
String descriptor =
type.toRenamedDescriptorOrDefault(appView, namingLens, ClassClassifiers.anyDescriptor);
// For local or anonymous classes, the classifier is prefixed with '.' and inner classes are
@@ -89,8 +86,7 @@
}
@Override
- void rewrite(
- KmTypeVisitor visitor, AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ void rewrite(KmTypeVisitor visitor, AppView<?> appView, NamingLens namingLens) {
visitor.visitTypeParameter(typeId);
}
@@ -109,8 +105,7 @@
}
@Override
- void rewrite(
- KmTypeVisitor visitor, AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ void rewrite(KmTypeVisitor visitor, AppView<?> appView, NamingLens namingLens) {
visitor.visitTypeAlias(typeAlias);
}
@@ -128,8 +123,7 @@
}
@Override
- void rewrite(
- KmTypeVisitor visitor, AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ void rewrite(KmTypeVisitor visitor, AppView<?> appView, NamingLens namingLens) {
visitor.visitClass(classifier);
}
@@ -147,8 +141,7 @@
}
@Override
- void rewrite(
- KmTypeVisitor visitor, AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ void rewrite(KmTypeVisitor visitor, AppView<?> appView, NamingLens namingLens) {
visitor.visitTypeAlias(classifier);
}
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinConstructorInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinConstructorInfo.java
index c28b4a7..2e4ee98 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinConstructorInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinConstructorInfo.java
@@ -11,7 +11,6 @@
import com.android.tools.r8.graph.DexEncodedMethod;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.utils.Reporter;
import java.util.List;
import kotlinx.metadata.KmClass;
@@ -51,10 +50,7 @@
}
public void rewrite(
- KmClass kmClass,
- DexEncodedMethod method,
- AppView<AppInfoWithLiveness> appView,
- NamingLens namingLens) {
+ KmClass kmClass, DexEncodedMethod method, AppView<?> appView, NamingLens namingLens) {
// Note that JvmExtensionsKt.setSignature does not have an overload for KmConstructorVisitor,
// thus we rely on creating the KmConstructor manually.
// TODO(b/154348683): Check for special flags to pass in.
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinContractInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinContractInfo.java
index 21fb43a..fd0d60d 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinContractInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinContractInfo.java
@@ -10,7 +10,6 @@
import com.android.tools.r8.graph.DexDefinitionSupplier;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.Reporter;
import com.google.common.collect.ImmutableList;
@@ -52,7 +51,7 @@
public void rewrite(
KmVisitorProviders.KmContractVisitorProvider visitorProvider,
- AppView<AppInfoWithLiveness> appView,
+ AppView<?> appView,
NamingLens namingLens) {
if (this == NO_EFFECT) {
return;
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinDeclarationContainerInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinDeclarationContainerInfo.java
index a83f77a..79b4173 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinDeclarationContainerInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinDeclarationContainerInfo.java
@@ -15,7 +15,6 @@
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.kotlin.KotlinMetadataUtils.KmPropertyProcessor;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.Reporter;
import com.google.common.collect.ImmutableList;
@@ -155,7 +154,7 @@
KmVisitorProviders.KmPropertyVisitorProvider propertyProvider,
KmVisitorProviders.KmTypeAliasVisitorProvider typeAliasProvider,
DexClass clazz,
- AppView<AppInfoWithLiveness> appView,
+ AppView<?> appView,
NamingLens namingLens) {
// Type aliases only have a representation here, so we can generate them directly.
for (KotlinTypeAliasInfo typeAlias : typeAliases) {
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinEffectExpressionInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinEffectExpressionInfo.java
index d3ce846..d6664d1 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinEffectExpressionInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinEffectExpressionInfo.java
@@ -11,7 +11,6 @@
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.kotlin.KmVisitorProviders.KmEffectExpressionVisitorProvider;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.Reporter;
import com.google.common.collect.ImmutableList;
@@ -87,9 +86,7 @@
}
public void rewrite(
- KmEffectExpressionVisitorProvider provider,
- AppView<AppInfoWithLiveness> appView,
- NamingLens namingLens) {
+ KmEffectExpressionVisitorProvider provider, AppView<?> appView, NamingLens namingLens) {
if (this == NO_EXPRESSION) {
return;
}
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinEffectInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinEffectInfo.java
index e38f158..3b1c748 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinEffectInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinEffectInfo.java
@@ -11,7 +11,6 @@
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.kotlin.KmVisitorProviders.KmEffectVisitorProvider;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.Reporter;
import java.util.List;
@@ -52,10 +51,7 @@
conclusion.trace(definitionSupplier);
}
- void rewrite(
- KmEffectVisitorProvider visitorProvider,
- AppView<AppInfoWithLiveness> appView,
- NamingLens namingLens) {
+ void rewrite(KmEffectVisitorProvider visitorProvider, AppView<?> appView, NamingLens namingLens) {
KmEffectVisitor kmEffectVisitor = visitorProvider.get(type, invocationKind);
conclusion.rewrite(kmEffectVisitor::visitConclusionOfConditionalEffect, appView, namingLens);
for (KotlinEffectExpressionInfo constructorArgument : constructorArguments) {
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinFileFacadeInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinFileFacadeInfo.java
index 94617e1..886281f 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinFileFacadeInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinFileFacadeInfo.java
@@ -10,7 +10,6 @@
import com.android.tools.r8.graph.DexEncodedMethod;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.utils.Reporter;
import java.util.function.Consumer;
import kotlinx.metadata.KmPackage;
@@ -53,8 +52,7 @@
}
@Override
- public KotlinClassHeader rewrite(
- DexClass clazz, AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ public KotlinClassHeader rewrite(DexClass clazz, AppView<?> appView, NamingLens namingLens) {
KotlinClassMetadata.FileFacade.Writer writer = new KotlinClassMetadata.FileFacade.Writer();
KmPackage kmPackage = new KmPackage();
packageInfo.rewrite(kmPackage, clazz, appView, namingLens);
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinFlexibleTypeUpperBoundInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinFlexibleTypeUpperBoundInfo.java
index da2e960..91413c7 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinFlexibleTypeUpperBoundInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinFlexibleTypeUpperBoundInfo.java
@@ -8,7 +8,6 @@
import com.android.tools.r8.graph.DexDefinitionSupplier;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.utils.Reporter;
import java.util.List;
import kotlinx.metadata.KmFlexibleTypeUpperBound;
@@ -65,7 +64,7 @@
public void rewrite(
KmVisitorProviders.KmFlexibleUpperBoundVisitorProvider visitorProvider,
- AppView<AppInfoWithLiveness> appView,
+ AppView<?> appView,
NamingLens namingLens) {
if (this == NO_FLEXIBLE_UPPER_BOUND) {
// Nothing to do.
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinFunctionInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinFunctionInfo.java
index dfcbac5..f5ce062 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinFunctionInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinFunctionInfo.java
@@ -11,7 +11,6 @@
import com.android.tools.r8.graph.DexEncodedMethod;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.utils.Reporter;
import java.util.List;
import kotlinx.metadata.KmFunction;
@@ -110,7 +109,7 @@
public void rewrite(
KmVisitorProviders.KmFunctionVisitorProvider visitorProvider,
DexEncodedMethod method,
- AppView<AppInfoWithLiveness> appView,
+ AppView<?> appView,
NamingLens namingLens) {
// TODO(b/154348683): Check method for flags to pass in.
String finalName = this.name;
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinJvmFieldSignatureInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinJvmFieldSignatureInfo.java
index 6daf3d7..974e4a8 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinJvmFieldSignatureInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinJvmFieldSignatureInfo.java
@@ -9,7 +9,6 @@
import com.android.tools.r8.graph.DexEncodedField;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import kotlinx.metadata.jvm.JvmFieldSignature;
@@ -38,7 +37,7 @@
}
public JvmFieldSignature rewrite(
- DexEncodedField field, AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ DexEncodedField field, AppView<?> appView, NamingLens namingLens) {
String finalName = name;
if (field != null) {
String fieldName = field.field.name.toString();
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinJvmMethodSignatureInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinJvmMethodSignatureInfo.java
index f4674a1..2469a54 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinJvmMethodSignatureInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinJvmMethodSignatureInfo.java
@@ -11,7 +11,6 @@
import com.android.tools.r8.graph.DexEncodedMethod;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.DescriptorUtils;
import com.google.common.collect.ImmutableList;
@@ -73,7 +72,7 @@
}
public JvmMethodSignature rewrite(
- DexEncodedMethod method, AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ DexEncodedMethod method, AppView<?> appView, NamingLens namingLens) {
if (invalidDescriptor != null) {
return new JvmMethodSignature(name, invalidDescriptor);
}
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinLambdaInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinLambdaInfo.java
index 459599b..cc215d5 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinLambdaInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinLambdaInfo.java
@@ -12,7 +12,6 @@
import com.android.tools.r8.graph.DexEncodedMethod;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.Reporter;
import kotlinx.metadata.KmLambda;
@@ -53,7 +52,7 @@
boolean rewrite(
KmVisitorProviders.KmLambdaVisitorProvider visitorProvider,
DexClass clazz,
- AppView<AppInfoWithLiveness> appView,
+ AppView<?> appView,
NamingLens namingLens) {
if (!hasBacking) {
function.rewrite(visitorProvider.get()::visitFunction, null, appView, namingLens);
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinLocalDelegatedPropertyInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinLocalDelegatedPropertyInfo.java
index cab770f..fca17cf 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinLocalDelegatedPropertyInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinLocalDelegatedPropertyInfo.java
@@ -11,7 +11,6 @@
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.kotlin.KmVisitorProviders.KmPropertyVisitorProvider;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.Reporter;
import com.google.common.collect.ImmutableList;
@@ -54,9 +53,7 @@
}
public void rewrite(
- KmPropertyVisitorProvider visitorProvider,
- AppView<AppInfoWithLiveness> appView,
- NamingLens namingLens) {
+ KmPropertyVisitorProvider visitorProvider, AppView<?> appView, NamingLens namingLens) {
for (KotlinPropertyInfo propertyInfo : propertyInfos) {
propertyInfo.rewrite(visitorProvider, null, null, null, appView, namingLens);
}
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataRewriter.java b/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataRewriter.java
index dfddc1d..d709ea4 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataRewriter.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataRewriter.java
@@ -16,7 +16,6 @@
import com.android.tools.r8.graph.DexValue.DexValueInt;
import com.android.tools.r8.graph.DexValue.DexValueString;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.utils.ThreadUtils;
import java.util.ArrayList;
import java.util.List;
@@ -26,12 +25,12 @@
public class KotlinMetadataRewriter {
- private final AppView<AppInfoWithLiveness> appView;
+ private final AppView<?> appView;
private final NamingLens lens;
private final DexItemFactory factory;
private final Kotlin kotlin;
- public KotlinMetadataRewriter(AppView<AppInfoWithLiveness> appView, NamingLens lens) {
+ public KotlinMetadataRewriter(AppView<?> appView, NamingLens lens) {
this.appView = appView;
this.lens = lens;
this.factory = appView.dexItemFactory();
@@ -54,7 +53,8 @@
}
if (oldMeta == null
|| kotlinInfo == NO_KOTLIN_INFO
- || !appView.appInfo().isPinned(clazz.type)) {
+ || (appView.appInfo().hasLiveness()
+ && !appView.withLiveness().appInfo().isPinned(clazz.type))) {
// Remove @Metadata in DexAnnotation when there is no kotlin info and the type is not
// missing.
if (oldMeta != null) {
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataUtils.java b/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataUtils.java
index 1ee78a5..6ef7a0d 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataUtils.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinMetadataUtils.java
@@ -14,7 +14,6 @@
import com.android.tools.r8.graph.DexMethod;
import com.android.tools.r8.graph.DexType;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.ProguardConfiguration;
import com.android.tools.r8.shaking.ProguardConfigurationRule;
import com.android.tools.r8.shaking.ProguardKeepRule;
@@ -49,8 +48,7 @@
}
@Override
- public KotlinClassHeader rewrite(
- DexClass clazz, AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ public KotlinClassHeader rewrite(DexClass clazz, AppView<?> appView, NamingLens namingLens) {
throw new Unreachable("Should never be called");
}
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinMultiFileClassFacadeInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinMultiFileClassFacadeInfo.java
index 1ccd35f..34c5248 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinMultiFileClassFacadeInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinMultiFileClassFacadeInfo.java
@@ -11,7 +11,6 @@
import com.android.tools.r8.graph.DexDefinitionSupplier;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.google.common.collect.ImmutableList;
import java.util.ArrayList;
import java.util.List;
@@ -51,8 +50,7 @@
}
@Override
- public KotlinClassHeader rewrite(
- DexClass clazz, AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ public KotlinClassHeader rewrite(DexClass clazz, AppView<?> appView, NamingLens namingLens) {
KotlinClassMetadata.MultiFileClassFacade.Writer writer =
new KotlinClassMetadata.MultiFileClassFacade.Writer();
List<String> partClassNameStrings = new ArrayList<>(partClassNames.size());
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinMultiFileClassPartInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinMultiFileClassPartInfo.java
index 9470082..ca97d0b 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinMultiFileClassPartInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinMultiFileClassPartInfo.java
@@ -10,7 +10,6 @@
import com.android.tools.r8.graph.DexEncodedMethod;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.utils.Reporter;
import java.util.function.Consumer;
import kotlinx.metadata.KmPackage;
@@ -57,8 +56,7 @@
}
@Override
- public KotlinClassHeader rewrite(
- DexClass clazz, AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ public KotlinClassHeader rewrite(DexClass clazz, AppView<?> appView, NamingLens namingLens) {
KotlinClassMetadata.MultiFileClassPart.Writer writer =
new KotlinClassMetadata.MultiFileClassPart.Writer();
KmPackage kmPackage = new KmPackage();
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinPackageInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinPackageInfo.java
index 3fab975..1ac03db 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinPackageInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinPackageInfo.java
@@ -14,7 +14,6 @@
import com.android.tools.r8.graph.DexEncodedMethod;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.Reporter;
import java.util.HashMap;
@@ -63,10 +62,7 @@
}
public void rewrite(
- KmPackage kmPackage,
- DexClass clazz,
- AppView<AppInfoWithLiveness> appView,
- NamingLens namingLens) {
+ KmPackage kmPackage, DexClass clazz, AppView<?> appView, NamingLens namingLens) {
containerInfo.rewrite(
kmPackage::visitFunction,
kmPackage::visitProperty,
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinPropertyInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinPropertyInfo.java
index c718992..6fceb06 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinPropertyInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinPropertyInfo.java
@@ -12,7 +12,6 @@
import com.android.tools.r8.graph.DexEncodedMethod;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.utils.Reporter;
import java.util.List;
import kotlinx.metadata.KmProperty;
@@ -146,7 +145,7 @@
DexEncodedField field,
DexEncodedMethod getter,
DexEncodedMethod setter,
- AppView<AppInfoWithLiveness> appView,
+ AppView<?> appView,
NamingLens namingLens) {
// TODO(b/154348683): Flags again.
KmPropertyVisitor kmProperty = visitorProvider.get(flags, name, getterFlags, setterFlags);
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinSyntheticClassInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinSyntheticClassInfo.java
index 5af2a4c..79054f4 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinSyntheticClassInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinSyntheticClassInfo.java
@@ -9,7 +9,6 @@
import com.android.tools.r8.graph.DexDefinitionSupplier;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.utils.Reporter;
import kotlinx.metadata.KmLambda;
import kotlinx.metadata.jvm.KotlinClassHeader;
@@ -78,8 +77,7 @@
}
@Override
- public KotlinClassHeader rewrite(
- DexClass clazz, AppView<AppInfoWithLiveness> appView, NamingLens namingLens) {
+ public KotlinClassHeader rewrite(DexClass clazz, AppView<?> appView, NamingLens namingLens) {
Writer writer = new Writer();
if (lambda != null) {
KmLambda kmLambda = new KmLambda();
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinTypeAliasInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinTypeAliasInfo.java
index bb75b7f..3ecbc2c 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinTypeAliasInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinTypeAliasInfo.java
@@ -10,7 +10,6 @@
import com.android.tools.r8.graph.DexDefinitionSupplier;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.Reporter;
import java.util.List;
@@ -61,7 +60,7 @@
void rewrite(
KmVisitorProviders.KmTypeAliasVisitorProvider visitorProvider,
- AppView<AppInfoWithLiveness> appView,
+ AppView<?> appView,
NamingLens namingLens) {
KmTypeAliasVisitor kmTypeAliasVisitor = visitorProvider.get(flags, name);
underlyingType.rewrite(kmTypeAliasVisitor::visitUnderlyingType, appView, namingLens);
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinTypeInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinTypeInfo.java
index 1c6c3dd..4e74391 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinTypeInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinTypeInfo.java
@@ -10,7 +10,6 @@
import com.android.tools.r8.graph.DexDefinitionSupplier;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.Reporter;
import com.google.common.collect.ImmutableList;
@@ -80,7 +79,7 @@
public void rewrite(
KmVisitorProviders.KmTypeVisitorProvider visitorProvider,
- AppView<AppInfoWithLiveness> appView,
+ AppView<?> appView,
NamingLens namingLens) {
// TODO(b/154348683): Check for correct flags
KmTypeVisitor kmTypeVisitor = visitorProvider.get(flags);
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinTypeParameterInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinTypeParameterInfo.java
index 53c2eb2..d8457ed 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinTypeParameterInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinTypeParameterInfo.java
@@ -10,7 +10,6 @@
import com.android.tools.r8.graph.DexDefinitionSupplier;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.Reporter;
import com.google.common.collect.ImmutableList;
@@ -87,7 +86,7 @@
void rewrite(
KmVisitorProviders.KmTypeParameterVisitorProvider visitorProvider,
- AppView<AppInfoWithLiveness> appView,
+ AppView<?> appView,
NamingLens namingLens) {
KmTypeParameterVisitor kmTypeParameterVisitor = visitorProvider.get(flags, name, id, variance);
for (KotlinTypeInfo originalUpperBound : originalUpperBounds) {
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinTypeProjectionInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinTypeProjectionInfo.java
index 9ab3de0..1f2ce01 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinTypeProjectionInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinTypeProjectionInfo.java
@@ -8,7 +8,6 @@
import com.android.tools.r8.graph.DexDefinitionSupplier;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.Reporter;
import kotlinx.metadata.KmTypeProjection;
@@ -39,7 +38,7 @@
public void rewrite(
KmVisitorProviders.KmTypeProjectionVisitorProvider visitorProvider,
KmVisitorProviders.KmTypeStarProjectionVisitorProvider starProjectionProvider,
- AppView<AppInfoWithLiveness> appView,
+ AppView<?> appView,
NamingLens namingLens) {
if (isStarProjection()) {
starProjectionProvider.get();
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinTypeReference.java b/src/main/java/com/android/tools/r8/kotlin/KotlinTypeReference.java
index dd2be72..088e7ec 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinTypeReference.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinTypeReference.java
@@ -10,7 +10,6 @@
import com.android.tools.r8.graph.DexString;
import com.android.tools.r8.graph.DexType;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.DescriptorUtils;
@@ -58,7 +57,7 @@
}
String toRenamedDescriptorOrDefault(
- AppView<AppInfoWithLiveness> appView, NamingLens namingLens, String defaultValue) {
+ AppView<?> appView, NamingLens namingLens, String defaultValue) {
if (unknown != null) {
return unknown;
}
@@ -66,7 +65,8 @@
if (!known.isClassType()) {
return known.descriptor.toString();
}
- if (!appView.appInfo().isNonProgramTypeOrLiveProgramType(known)) {
+ if (appView.appInfo().hasLiveness()
+ && !appView.withLiveness().appInfo().isNonProgramTypeOrLiveProgramType(known)) {
return defaultValue;
}
DexString descriptor = namingLens.lookupDescriptor(known);
@@ -77,7 +77,7 @@
}
String toRenamedBinaryNameOrDefault(
- AppView<AppInfoWithLiveness> appView, NamingLens namingLens, String defaultValue) {
+ AppView<?> appView, NamingLens namingLens, String defaultValue) {
if (unknown != null) {
// Unknown values are always on the input form, so we can just return it.
return unknown;
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinValueParameterInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinValueParameterInfo.java
index 83dd5d2..db54d35 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinValueParameterInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinValueParameterInfo.java
@@ -8,7 +8,6 @@
import com.android.tools.r8.graph.DexDefinitionSupplier;
import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.naming.NamingLens;
-import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.Reporter;
import com.google.common.collect.ImmutableList;
@@ -69,7 +68,7 @@
void rewrite(
KmVisitorProviders.KmValueParameterVisitorProvider visitorProvider,
- AppView<AppInfoWithLiveness> appView,
+ AppView<?> appView,
NamingLens namingLens) {
KmValueParameterVisitor kmValueParameterVisitor = visitorProvider.get(flags, name);
type.rewrite(kmValueParameterVisitor::visitType, appView, namingLens);