[Retrace] Use OptionalInt instead of Optional<Integer>
Change-Id: Ibc0e9cfb6096af96e98fb66ff4d91bd048621127
diff --git a/src/main/java/com/android/tools/r8/retrace/RetraceClassElement.java b/src/main/java/com/android/tools/r8/retrace/RetraceClassElement.java
index 978962e..f7830c3 100644
--- a/src/main/java/com/android/tools/r8/retrace/RetraceClassElement.java
+++ b/src/main/java/com/android/tools/r8/retrace/RetraceClassElement.java
@@ -7,7 +7,7 @@
import com.android.tools.r8.references.MethodReference;
import com.android.tools.r8.references.TypeReference;
import java.util.List;
-import java.util.Optional;
+import java.util.OptionalInt;
@Keep
public interface RetraceClassElement extends RetraceElement<RetraceClassResult> {
@@ -21,19 +21,17 @@
RetraceMethodResult lookupMethod(String methodName);
RetraceFrameResult lookupFrame(
- RetraceStackTraceContext context, Optional<Integer> position, String methodName);
+ RetraceStackTraceContext context, OptionalInt position, String methodName);
RetraceFrameResult lookupFrame(
RetraceStackTraceContext context,
- Optional<Integer> position,
+ OptionalInt position,
String methodName,
List<TypeReference> formalTypes,
TypeReference returnType);
RetraceFrameResult lookupFrame(
- RetraceStackTraceContext context,
- Optional<Integer> position,
- MethodReference methodReference);
+ RetraceStackTraceContext context, OptionalInt position, MethodReference methodReference);
RetraceUnknownJsonMappingInformationResult getUnknownJsonMappingInformation();
}
diff --git a/src/main/java/com/android/tools/r8/retrace/RetraceClassResult.java b/src/main/java/com/android/tools/r8/retrace/RetraceClassResult.java
index e74c8ac..9f5bc71 100644
--- a/src/main/java/com/android/tools/r8/retrace/RetraceClassResult.java
+++ b/src/main/java/com/android/tools/r8/retrace/RetraceClassResult.java
@@ -7,7 +7,7 @@
import com.android.tools.r8.Keep;
import com.android.tools.r8.references.TypeReference;
import java.util.List;
-import java.util.Optional;
+import java.util.OptionalInt;
@Keep
public interface RetraceClassResult extends RetraceResult<RetraceClassElement> {
@@ -24,11 +24,11 @@
String methodName, List<TypeReference> formalTypes, TypeReference returnType);
RetraceFrameResult lookupFrame(
- RetraceStackTraceContext context, Optional<Integer> position, String methodName);
+ RetraceStackTraceContext context, OptionalInt position, String methodName);
RetraceFrameResult lookupFrame(
RetraceStackTraceContext context,
- Optional<Integer> position,
+ OptionalInt position,
String methodName,
List<TypeReference> formalTypes,
TypeReference returnType);
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/RetraceClassResultImpl.java b/src/main/java/com/android/tools/r8/retrace/internal/RetraceClassResultImpl.java
index efafa67..f94035b 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/RetraceClassResultImpl.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/RetraceClassResultImpl.java
@@ -25,7 +25,7 @@
import com.google.common.collect.ImmutableList;
import java.util.ArrayList;
import java.util.List;
-import java.util.Optional;
+import java.util.OptionalInt;
import java.util.function.BiFunction;
import java.util.stream.Stream;
@@ -120,14 +120,14 @@
@Override
public RetraceFrameResultImpl lookupFrame(
- RetraceStackTraceContext context, Optional<Integer> position, String methodName) {
+ RetraceStackTraceContext context, OptionalInt position, String methodName) {
return lookupFrame(context, position, MethodDefinition.create(obfuscatedReference, methodName));
}
@Override
public RetraceFrameResultImpl lookupFrame(
RetraceStackTraceContext context,
- Optional<Integer> position,
+ OptionalInt position,
String methodName,
List<TypeReference> formalTypes,
TypeReference returnType) {
@@ -145,7 +145,7 @@
}
private RetraceFrameResultImpl lookupFrame(
- RetraceStackTraceContext context, Optional<Integer> position, MethodDefinition definition) {
+ RetraceStackTraceContext context, OptionalInt position, MethodDefinition definition) {
List<Pair<RetraceClassElementImpl, List<MappedRange>>> mappings = new ArrayList<>();
internalStream()
.forEach(
@@ -161,7 +161,7 @@
}
private List<List<MappedRange>> getMappedRangesForFrame(
- RetraceClassElementImpl element, MethodDefinition definition, Optional<Integer> position) {
+ RetraceClassElementImpl element, MethodDefinition definition, OptionalInt position) {
List<List<MappedRange>> overloadedRanges = new ArrayList<>();
if (mapper == null) {
overloadedRanges.add(null);
@@ -174,8 +174,8 @@
return overloadedRanges;
}
List<MappedRange> mappedRangesForPosition = null;
- if (position.isPresent() && position.get() >= 0) {
- mappedRangesForPosition = mappedRanges.allRangesForLine(position.get(), false);
+ if (position.isPresent() && position.getAsInt() >= 0) {
+ mappedRangesForPosition = mappedRanges.allRangesForLine(position.getAsInt(), false);
}
if (mappedRangesForPosition == null || mappedRangesForPosition.isEmpty()) {
mappedRangesForPosition = mappedRanges.getMappedRanges();
@@ -330,7 +330,7 @@
@Override
public RetraceFrameResultImpl lookupFrame(
- RetraceStackTraceContext context, Optional<Integer> position, String methodName) {
+ RetraceStackTraceContext context, OptionalInt position, String methodName) {
return lookupFrame(
context,
position,
@@ -340,7 +340,7 @@
@Override
public RetraceFrameResult lookupFrame(
RetraceStackTraceContext context,
- Optional<Integer> position,
+ OptionalInt position,
String methodName,
List<TypeReference> formalTypes,
TypeReference returnType) {
@@ -354,9 +354,7 @@
@Override
public RetraceFrameResult lookupFrame(
- RetraceStackTraceContext context,
- Optional<Integer> position,
- MethodReference methodReference) {
+ RetraceStackTraceContext context, OptionalInt position, MethodReference methodReference) {
return lookupFrame(context, position, MethodDefinition.create(methodReference));
}
@@ -367,7 +365,7 @@
}
private RetraceFrameResultImpl lookupFrame(
- RetraceStackTraceContext context, Optional<Integer> position, MethodDefinition definition) {
+ RetraceStackTraceContext context, OptionalInt position, MethodDefinition definition) {
MethodDefinition methodDefinition =
MethodDefinition.create(classReference.getClassReference(), definition.getName());
ImmutableList.Builder<Pair<RetraceClassElementImpl, List<MappedRange>>> builder =
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/RetraceFrameResultImpl.java b/src/main/java/com/android/tools/r8/retrace/internal/RetraceFrameResultImpl.java
index 2ed242c..21060dc 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/RetraceFrameResultImpl.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/RetraceFrameResultImpl.java
@@ -26,7 +26,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import java.util.Optional;
+import java.util.OptionalInt;
import java.util.function.BiConsumer;
import java.util.stream.Stream;
@@ -34,7 +34,7 @@
private final RetraceClassResultImpl classResult;
private final MethodDefinition methodDefinition;
- private final Optional<Integer> obfuscatedPosition;
+ private final OptionalInt obfuscatedPosition;
private final List<Pair<RetraceClassElementImpl, List<MappedRange>>> mappedRanges;
private final RetracerImpl retracer;
private final RetraceStackTraceContextImpl context;
@@ -45,7 +45,7 @@
RetraceClassResultImpl classResult,
List<Pair<RetraceClassElementImpl, List<MappedRange>>> mappedRanges,
MethodDefinition methodDefinition,
- Optional<Integer> obfuscatedPosition,
+ OptionalInt obfuscatedPosition,
RetracerImpl retracer,
RetraceStackTraceContextImpl context) {
this.classResult = classResult;
@@ -137,9 +137,7 @@
}
private RetracedMethodReferenceImpl getRetracedMethod(
- MethodReference methodReference,
- MappedRange mappedRange,
- Optional<Integer> obfuscatedPosition) {
+ MethodReference methodReference, MappedRange mappedRange, OptionalInt obfuscatedPosition) {
if (mappedRange.minifiedRange == null
|| (obfuscatedPosition.orElse(-1) == -1 && !isAmbiguous())) {
int originalLineNumber = mappedRange.getFirstLineNumberOfOriginalRange();
@@ -150,11 +148,11 @@
}
}
if (!obfuscatedPosition.isPresent()
- || !mappedRange.minifiedRange.contains(obfuscatedPosition.get())) {
+ || !mappedRange.minifiedRange.contains(obfuscatedPosition.getAsInt())) {
return RetracedMethodReferenceImpl.create(methodReference);
}
return RetracedMethodReferenceImpl.create(
- methodReference, mappedRange.getOriginalLineNumber(obfuscatedPosition.get()));
+ methodReference, mappedRange.getOriginalLineNumber(obfuscatedPosition.getAsInt()));
}
public static class ElementImpl implements RetraceFrameElement {
@@ -163,7 +161,7 @@
private final RetraceFrameResultImpl retraceFrameResult;
private final RetraceClassElementImpl classElement;
private final List<MappedRange> mappedRanges;
- private final Optional<Integer> obfuscatedPosition;
+ private final OptionalInt obfuscatedPosition;
private final RetracerImpl retracer;
private final RetraceStackTraceContextImpl context;
@@ -172,7 +170,7 @@
RetraceClassElementImpl classElement,
RetracedMethodReferenceImpl methodReference,
List<MappedRange> mappedRanges,
- Optional<Integer> obfuscatedPosition,
+ OptionalInt obfuscatedPosition,
RetracerImpl retracer,
RetraceStackTraceContextImpl context) {
this.methodReference = methodReference;
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/RetraceMethodResultImpl.java b/src/main/java/com/android/tools/r8/retrace/internal/RetraceMethodResultImpl.java
index be2b14a..978a933 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/RetraceMethodResultImpl.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/RetraceMethodResultImpl.java
@@ -18,7 +18,7 @@
import com.google.common.collect.ImmutableList;
import java.util.ArrayList;
import java.util.List;
-import java.util.Optional;
+import java.util.OptionalInt;
import java.util.stream.Stream;
public class RetraceMethodResultImpl implements RetraceMethodResult {
@@ -93,7 +93,7 @@
classResult,
narrowedRanges.isEmpty() ? noMappingRanges : narrowedRanges,
methodDefinition,
- Optional.of(position),
+ OptionalInt.of(position),
retracer,
(RetraceStackTraceContextImpl) context);
}
diff --git a/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementProxyRetracerImpl.java b/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementProxyRetracerImpl.java
index 80659ff..4db09aa 100644
--- a/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementProxyRetracerImpl.java
+++ b/src/main/java/com/android/tools/r8/retrace/internal/StackTraceElementProxyRetracerImpl.java
@@ -25,7 +25,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import java.util.Optional;
+import java.util.OptionalInt;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -108,7 +108,9 @@
RetraceFrameResult frameResult =
classResult.lookupFrame(
proxy.context,
- element.hasLineNumber() ? Optional.of(element.getLineNumber()) : Optional.empty(),
+ element.hasLineNumber()
+ ? OptionalInt.of(element.getLineNumber())
+ : OptionalInt.empty(),
element.getMethodName());
return frameResult.stream()
.flatMap(
diff --git a/src/test/java/com/android/tools/r8/retrace/api/RetraceApiRewriteFrameInlineNpeResidualTest.java b/src/test/java/com/android/tools/r8/retrace/api/RetraceApiRewriteFrameInlineNpeResidualTest.java
index 7108c80..686f785 100644
--- a/src/test/java/com/android/tools/r8/retrace/api/RetraceApiRewriteFrameInlineNpeResidualTest.java
+++ b/src/test/java/com/android/tools/r8/retrace/api/RetraceApiRewriteFrameInlineNpeResidualTest.java
@@ -20,7 +20,7 @@
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import java.util.Optional;
+import java.util.OptionalInt;
import java.util.stream.Collectors;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -110,7 +110,7 @@
retracer.retraceClass(Reference.classFromTypeName(typeName)).stream()
.flatMap(
element ->
- element.lookupFrame(throwingContext, Optional.of(4), methodName).stream())
+ element.lookupFrame(throwingContext, OptionalInt.of(4), methodName).stream())
.collect(Collectors.toList());
assertEquals(1, retraceFrameElements.size());
diff --git a/src/test/java/com/android/tools/r8/retrace/api/RetraceApiRewriteFrameInlineNpeTest.java b/src/test/java/com/android/tools/r8/retrace/api/RetraceApiRewriteFrameInlineNpeTest.java
index d1efa90..f581c1b 100644
--- a/src/test/java/com/android/tools/r8/retrace/api/RetraceApiRewriteFrameInlineNpeTest.java
+++ b/src/test/java/com/android/tools/r8/retrace/api/RetraceApiRewriteFrameInlineNpeTest.java
@@ -21,7 +21,7 @@
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import java.util.Optional;
+import java.util.OptionalInt;
import java.util.stream.Collectors;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -75,7 +75,7 @@
List<RetraceFrameElement> retraceFrameElements =
retracer.retraceClass(Reference.classFromTypeName("a")).stream()
.flatMap(
- element -> element.lookupFrame(throwingContext, Optional.of(4), "a").stream())
+ element -> element.lookupFrame(throwingContext, OptionalInt.of(4), "a").stream())
.collect(Collectors.toList());
assertEquals(1, retraceFrameElements.size());
diff --git a/src/test/java/com/android/tools/r8/retrace/api/RetraceApiSynthesizedFrameTest.java b/src/test/java/com/android/tools/r8/retrace/api/RetraceApiSynthesizedFrameTest.java
index e4faf03..c502dd7 100644
--- a/src/test/java/com/android/tools/r8/retrace/api/RetraceApiSynthesizedFrameTest.java
+++ b/src/test/java/com/android/tools/r8/retrace/api/RetraceApiSynthesizedFrameTest.java
@@ -16,7 +16,7 @@
import com.android.tools.r8.retrace.Retracer;
import java.util.ArrayList;
import java.util.List;
-import java.util.Optional;
+import java.util.OptionalInt;
import java.util.stream.Collectors;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -53,7 +53,7 @@
.flatMap(
element ->
element
- .lookupFrame(RetraceStackTraceContext.empty(), Optional.of(3), "a")
+ .lookupFrame(RetraceStackTraceContext.empty(), OptionalInt.of(3), "a")
.stream())
.collect(Collectors.toList());
assertEquals(1, frameResults.size());
diff --git a/src/test/java/com/android/tools/r8/retrace/api/RetraceApiSynthesizedInnerFrameTest.java b/src/test/java/com/android/tools/r8/retrace/api/RetraceApiSynthesizedInnerFrameTest.java
index c2c5f3c..f0f5631 100644
--- a/src/test/java/com/android/tools/r8/retrace/api/RetraceApiSynthesizedInnerFrameTest.java
+++ b/src/test/java/com/android/tools/r8/retrace/api/RetraceApiSynthesizedInnerFrameTest.java
@@ -16,7 +16,7 @@
import com.android.tools.r8.retrace.Retracer;
import java.util.ArrayList;
import java.util.List;
-import java.util.Optional;
+import java.util.OptionalInt;
import java.util.stream.Collectors;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -53,7 +53,7 @@
.flatMap(
element ->
element
- .lookupFrame(RetraceStackTraceContext.empty(), Optional.of(3), "a")
+ .lookupFrame(RetraceStackTraceContext.empty(), OptionalInt.of(3), "a")
.stream())
.collect(Collectors.toList());
assertEquals(1, frameResults.size());
diff --git a/third_party/retrace/binary_compatibility.tar.gz.sha1 b/third_party/retrace/binary_compatibility.tar.gz.sha1
index cce1435..91fb6e2 100644
--- a/third_party/retrace/binary_compatibility.tar.gz.sha1
+++ b/third_party/retrace/binary_compatibility.tar.gz.sha1
@@ -1 +1 @@
-4f3dc9552168bb143e4873ef62d446525343f208
\ No newline at end of file
+2874b66e58b8d9f408ce37d85709fed11a3b94a7
\ No newline at end of file