Deprecate DexEncodedMethod#isStaticMethod.
Use overridden version of DexDefinition#isStatic instead.
(This CL is a mechanical refactoring.)
Change-Id: I23aebb5a49eacfd264f95081648e831e4cc1d27a
diff --git a/src/main/java/com/android/tools/r8/graph/AppInfo.java b/src/main/java/com/android/tools/r8/graph/AppInfo.java
index f594c71..1ca8a58 100644
--- a/src/main/java/com/android/tools/r8/graph/AppInfo.java
+++ b/src/main/java/com/android/tools/r8/graph/AppInfo.java
@@ -112,7 +112,7 @@
public DexEncodedMethod lookupStaticTarget(DexMethod method) {
ResolutionResult resolutionResult = resolveMethod(method.holder, method);
DexEncodedMethod target = resolutionResult.asSingleTarget();
- return target == null || target.isStaticMethod() ? target : null;
+ return target == null || target.isStatic() ? target : null;
}
/**
@@ -145,7 +145,7 @@
}
resolutionResult = resolveMethod(contextClass.superType, method);
DexEncodedMethod target = resolutionResult.asSingleTarget();
- return target == null || !target.isStaticMethod() ? target : null;
+ return target == null || !target.isStatic() ? target : null;
}
/**
diff --git a/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java b/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java
index a4986a5..3d83104 100644
--- a/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java
+++ b/src/main/java/com/android/tools/r8/graph/DexEncodedMethod.java
@@ -213,15 +213,6 @@
return (accessFlags.isPrivate() || accessFlags.isConstructor()) && !accessFlags.isStatic();
}
- /**
- * Returns true if this method can be invoked via invoke-static.
- */
- // TODO(jsjeon): deprecate this, and use isStatic() instead.
- public boolean isStaticMethod() {
- checkIfObsolete();
- return accessFlags.isStatic();
- }
-
@Override
public boolean isStatic() {
checkIfObsolete();
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/LambdaDescriptor.java b/src/main/java/com/android/tools/r8/ir/desugar/LambdaDescriptor.java
index e16e2d5..6836ad3 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/LambdaDescriptor.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/LambdaDescriptor.java
@@ -130,7 +130,7 @@
private boolean isInstanceMethod(DexEncodedMethod encodedMethod) {
assert encodedMethod != null;
- return !encodedMethod.accessFlags.isConstructor() && !encodedMethod.isStaticMethod();
+ return !encodedMethod.accessFlags.isConstructor() && !encodedMethod.isStatic();
}
private boolean isPrivateInstanceMethod(DexEncodedMethod encodedMethod) {
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/CodeRewriter.java b/src/main/java/com/android/tools/r8/ir/optimize/CodeRewriter.java
index 194558e..3a4e4e3 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/CodeRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/CodeRewriter.java
@@ -767,7 +767,7 @@
public void identifyInvokeSemanticsForInlining(
DexEncodedMethod method, IRCode code, OptimizationFeedback feedback) {
- if (method.isStaticMethod()) {
+ if (method.isStatic()) {
// Identifies if the method preserves class initialization after inlining.
feedback.markTriggerClassInitBeforeAnySideEffect(method,
triggersClassInitializationBeforeSideEffect(code, method.method.getHolder()));
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/MethodPoolCollection.java b/src/main/java/com/android/tools/r8/ir/optimize/MethodPoolCollection.java
index bd3acb6..49c740c 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/MethodPoolCollection.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/MethodPoolCollection.java
@@ -97,7 +97,7 @@
clazz.forEachMethod(
encodedMethod -> {
// We will add private instance methods when we promote them.
- if (!encodedMethod.isPrivateMethod() || encodedMethod.isStaticMethod()) {
+ if (!encodedMethod.isPrivateMethod() || encodedMethod.isStatic()) {
methodPool.seen(equivalence.wrap(encodedMethod.method));
}
});
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/lambda/kotlin/KotlinLambdaGroupIdFactory.java b/src/main/java/com/android/tools/r8/ir/optimize/lambda/kotlin/KotlinLambdaGroupIdFactory.java
index 42e0bb1..605fdf9 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/lambda/kotlin/KotlinLambdaGroupIdFactory.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/lambda/kotlin/KotlinLambdaGroupIdFactory.java
@@ -155,7 +155,7 @@
method.accessFlags, CLASS_INITIALIZER_FLAGS);
checkDirectMethodAnnotations(method);
- } else if (method.isStaticMethod()) {
+ } else if (method.isStatic()) {
throw new LambdaStructureError(
"unexpected static method: " + method.method.toSourceString());
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizer.java b/src/main/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizer.java
index eaa5037..e33d977 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizer.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizer.java
@@ -180,7 +180,7 @@
return true;
}
for (DexEncodedMethod method : clazz.methods()) {
- if (!method.isStaticMethod() && appInfo.isPinned(method.method)) {
+ if (!method.isStatic() && appInfo.isPinned(method.method)) {
return true;
}
}
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/staticizer/StaticizingProcessor.java b/src/main/java/com/android/tools/r8/ir/optimize/staticizer/StaticizingProcessor.java
index 5b930fe..b7c830f 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/staticizer/StaticizingProcessor.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/staticizer/StaticizingProcessor.java
@@ -130,7 +130,7 @@
// CHECK: no abstract or native instance methods.
if (Streams.stream(candidateClass.methods()).anyMatch(
- method -> !method.isStaticMethod() && (method.shouldNotHaveCode()))) {
+ method -> !method.isStatic() && (method.shouldNotHaveCode()))) {
it.remove();
continue;
}
@@ -151,7 +151,7 @@
// Collect instance methods to be staticized.
for (DexEncodedMethod method : candidateClass.methods()) {
- if (!method.isStaticMethod()) {
+ if (!method.isStatic()) {
removedInstanceMethods.add(method);
if (!factory().isConstructor(method.method)) {
methodsToBeStaticized.add(method);
@@ -334,7 +334,7 @@
// Move instance methods into static ones.
List<DexEncodedMethod> newDirectMethods = new ArrayList<>();
for (DexEncodedMethod method : candidateClass.methods()) {
- if (method.isStaticMethod()) {
+ if (method.isStatic()) {
newDirectMethods.add(method);
} else if (!factory().isConstructor(method.method)) {
DexEncodedMethod staticizedMethod = method.toStaticMethodWithoutThis();
@@ -374,7 +374,7 @@
}
private boolean classMembersConflict(DexClass a, DexClass b) {
- assert Streams.stream(a.methods()).allMatch(DexEncodedMethod::isStaticMethod);
+ assert Streams.stream(a.methods()).allMatch(DexEncodedMethod::isStatic);
assert a.instanceFields().length == 0;
return Stream.of(a.staticFields()).anyMatch(fld -> b.lookupField(fld.field) != null) ||
Streams.stream(a.methods()).anyMatch(method -> b.lookupMethod(method.method) != null);
diff --git a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
index 43f8d20..5e03071 100644
--- a/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
+++ b/src/main/java/com/android/tools/r8/shaking/VerticalClassMerger.java
@@ -811,7 +811,7 @@
deferredRenamings.map(directMethod.method, resultingDirectMethod.method);
deferredRenamings.recordMove(directMethod.method, resultingDirectMethod.method);
- if (!directMethod.isStaticMethod()) {
+ if (!directMethod.isStatic()) {
blockRedirectionOfSuperCalls(resultingDirectMethod.method);
}
}
@@ -1069,7 +1069,7 @@
accessFlags.setSynthetic();
accessFlags.unsetAbstract();
- assert invocationTarget.isPrivateMethod() == !invocationTarget.isStaticMethod();
+ assert invocationTarget.isPrivateMethod() == !invocationTarget.isStatic();
SynthesizedBridgeCode code =
new SynthesizedBridgeCode(
newMethod,
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizerTest.java b/src/test/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizerTest.java
index 9be118c..c184e6e 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizerTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/staticizer/ClassStaticizerTest.java
@@ -185,7 +185,7 @@
assertNotNull(clazz);
assertTrue(clazz.isPresent());
return Streams.stream(clazz.getDexClass().methods())
- .filter(method -> !method.isStaticMethod())
+ .filter(method -> !method.isStatic())
.map(method -> method.method.toSourceString())
.sorted()
.collect(Collectors.toList());