blob: 5265c49220e16e3ce137c69a6d54ab8ae1838958 [file] [log] [blame]
{
"identifier": "com.tools.android:desugar_jdk_libs_configuration:2.1.2",
"configuration_format_version": 101,
"required_compilation_api_level": 30,
"synthesized_library_classes_package_prefix": "j$.",
"support_all_callbacks_from_library": true,
"common_flags": [
{
"api_level_below_or_equal": 10000,
"amend_library_method": [
"public java.lang.Object[] java.util.Collection#toArray(java.util.function.IntFunction)"
]
},
{
"api_level_below_or_equal": 10000,
"api_level_greater_or_equal": 26,
"rewrite_prefix": {
"java.time.DesugarLocalDate": "j$.time.DesugarLocalDate",
"java.time.DesugarClock": "j$.time.DesugarClock",
"java.time.DesugarOffsetTime": "j$.time.DesugarOffsetTime"
},
"retarget_static_field": {
"java.time.LocalDate java.time.LocalDate#EPOCH": "java.time.LocalDate java.time.DesugarLocalDate#EPOCH"
},
"retarget_method": {
"java.util.stream.Stream java.time.LocalDate#datesUntil(java.time.LocalDate)": "java.time.DesugarLocalDate",
"java.util.stream.Stream java.time.LocalDate#datesUntil(java.time.LocalDate, java.time.Period)": "java.time.DesugarLocalDate",
"java.time.LocalDate java.time.LocalDate#ofInstant(java.time.Instant, java.time.ZoneId)": "java.time.DesugarLocalDate",
"long java.time.LocalDate#toEpochSecond(java.time.LocalTime, java.time.ZoneOffset)": "java.time.DesugarLocalDate",
"java.time.Clock java.time.Clock#tickMillis(java.time.ZoneId)": "java.time.DesugarClock",
"long java.time.OffsetTime#toEpochSecond(java.time.LocalDate)": "java.time.DesugarOffsetTime"
},
"amend_library_field": [
"public static java.time.LocalDate java.time.LocalDate#EPOCH"
],
"amend_library_method": [
"public java.util.stream.Stream java.time.LocalDate#datesUntil(java.time.LocalDate)",
"public java.util.stream.Stream java.time.LocalDate#datesUntil(java.time.LocalDate, java.time.Period)",
"public static java.time.LocalDate java.time.LocalDate#ofInstant(java.time.Instant, java.time.ZoneId)",
"public long java.time.LocalDate#toEpochSecond(java.time.LocalTime, java.time.ZoneOffset)",
"public static java.time.Clock java.time.Clock#tickMillis(java.time.ZoneId)",
"public long java.time.OffsetTime#toEpochSecond(java.time.LocalDate)"
]
},
{
"api_level_below_or_equal": 10000,
"api_level_greater_or_equal": 24,
"rewrite_prefix": {
"java.util.stream.DesugarDoubleStream": "j$.util.stream.DesugarDoubleStream",
"java.util.stream.DesugarIntStream": "j$.util.stream.DesugarIntStream",
"java.util.stream.DesugarLongStream": "j$.util.stream.DesugarLongStream",
"java.util.stream.DesugarStream": "j$.util.stream.DesugarStream"
},
"retarget_method": {
"java.util.stream.DoubleStream java.util.stream.DoubleStream#iterate(double, java.util.function.DoublePredicate, java.util.function.DoubleUnaryOperator)": "java.util.stream.DesugarDoubleStream",
"java.util.stream.IntStream java.util.stream.IntStream#iterate(int, java.util.function.IntPredicate, java.util.function.IntUnaryOperator)": "java.util.stream.DesugarIntStream",
"java.util.stream.LongStream java.util.stream.LongStream#iterate(long, java.util.function.LongPredicate, java.util.function.LongUnaryOperator)": "java.util.stream.DesugarLongStream",
"java.util.stream.Stream java.util.stream.Stream#iterate(java.lang.Object, java.util.function.Predicate, java.util.function.UnaryOperator)": "java.util.stream.DesugarStream"
}
},
{
"api_level_below_or_equal": 32,
"rewrite_prefix": {
"java.util.concurrent.DesugarTimeUnit": "j$.util.concurrent.DesugarTimeUnit"
},
"retarget_method": {
"java.util.concurrent.TimeUnit java.util.concurrent.TimeUnit#of(java.time.temporal.ChronoUnit)": "java.util.concurrent.DesugarTimeUnit",
"java.time.temporal.ChronoUnit java.util.concurrent.TimeUnit#toChronoUnit()": "java.util.concurrent.DesugarTimeUnit",
"long java.util.concurrent.TimeUnit#convert(java.time.Duration)": "java.util.concurrent.DesugarTimeUnit"
},
"amend_library_method": [
"public static java.util.concurrent.TimeUnit java.util.concurrent.TimeUnit#of(java.time.temporal.ChronoUnit)",
"public java.time.temporal.ChronoUnit java.util.concurrent.TimeUnit#toChronoUnit()",
"public long java.util.concurrent.TimeUnit#convert(java.time.Duration)"
]
},
{
"api_level_below_or_equal": 29,
"rewrite_prefix": {
"java.util.concurrent.Flow": "j$.util.concurrent.Flow"
},
"wrapper_conversion": [
"java.util.concurrent.Flow$Publisher",
"java.util.concurrent.Flow$Subscriber",
"java.util.concurrent.Flow$Subscription"
]
},
{
"api_level_below_or_equal": 32,
"api_level_greater_or_equal": 24,
"rewrite_prefix": {
"java.util.stream.DesugarCollectors": "j$.util.stream.DesugarCollectors"
},
"emulate_interface": {
"java.util.Collection": {
"rewrittenType": "j$.util.Collection",
"emulatedMethods": [
"java.lang.Object[] java.util.Collection#toArray(java.util.function.IntFunction)"
]
}
},
"retarget_method": {
"java.util.stream.Collector java.util.stream.Collectors#filtering(java.util.function.Predicate, java.util.stream.Collector)": "java.util.stream.DesugarCollectors",
"java.util.stream.Collector java.util.stream.Collectors#flatMapping(java.util.function.Function, java.util.stream.Collector)": "java.util.stream.DesugarCollectors",
"java.util.stream.Collector java.util.stream.Collectors#toUnmodifiableList()": "java.util.stream.DesugarCollectors",
"java.util.stream.Collector java.util.stream.Collectors#toUnmodifiableMap(java.util.function.Function, java.util.function.Function)": "java.util.stream.DesugarCollectors",
"java.util.stream.Collector java.util.stream.Collectors#toUnmodifiableMap(java.util.function.Function, java.util.function.Function, java.util.function.BinaryOperator)": "java.util.stream.DesugarCollectors",
"java.util.stream.Collector java.util.stream.Collectors#toUnmodifiableSet()": "java.util.stream.DesugarCollectors"
},
"amend_library_method": [
"public static java.util.stream.Collector java.util.stream.Collectors#filtering(java.util.function.Predicate, java.util.stream.Collector)",
"public static java.util.stream.Collector java.util.stream.Collectors#flatMapping(java.util.function.Function, java.util.stream.Collector)",
"public static java.util.stream.Collector java.util.stream.Collectors#toUnmodifiableList()",
"public static java.util.stream.Collector java.util.stream.Collectors#toUnmodifiableMap(java.util.function.Function, java.util.function.Function)",
"public static java.util.stream.Collector java.util.stream.Collectors#toUnmodifiableMap(java.util.function.Function, java.util.function.Function, java.util.function.BinaryOperator)",
"public static java.util.stream.Collector java.util.stream.Collectors#toUnmodifiableSet()"
]
},
{
"api_level_below_or_equal": 30,
"api_level_greater_or_equal": 26,
"rewrite_prefix": {
"java.time.DesugarDuration": "j$.time.DesugarDuration",
"java.time.DesugarLocalTime": "j$.time.DesugarLocalTime"
},
"retarget_method": {
"long java.time.Duration#dividedBy(java.time.Duration)": "java.time.DesugarDuration",
"long java.time.Duration#toDaysPart()": "java.time.DesugarDuration",
"int java.time.Duration#toHoursPart()": "java.time.DesugarDuration",
"int java.time.Duration#toMillisPart()": "java.time.DesugarDuration",
"int java.time.Duration#toMinutesPart()": "java.time.DesugarDuration",
"int java.time.Duration#toNanosPart()": "java.time.DesugarDuration",
"long java.time.Duration#toSeconds()": "java.time.DesugarDuration",
"int java.time.Duration#toSecondsPart()": "java.time.DesugarDuration",
"java.time.Duration java.time.Duration#truncatedTo(java.time.temporal.TemporalUnit)": "java.time.DesugarDuration",
"java.time.LocalTime java.time.LocalTime#ofInstant(java.time.Instant, java.time.ZoneId)": "java.time.DesugarLocalTime",
"long java.time.LocalTime#toEpochSecond(java.time.LocalDate, java.time.ZoneOffset)": "java.time.DesugarLocalTime"
},
"amend_library_method": [
"public long java.time.Duration#dividedBy(java.time.Duration)",
"public long java.time.Duration#toDaysPart()",
"public int java.time.Duration#toHoursPart()",
"public int java.time.Duration#toMillisPart()",
"public int java.time.Duration#toMinutesPart()",
"public int java.time.Duration#toNanosPart()",
"public long java.time.Duration#toSeconds()",
"public int java.time.Duration#toSecondsPart()",
"public java.time.Duration java.time.Duration#truncatedTo(java.time.temporal.TemporalUnit)",
"public static java.time.LocalTime java.time.LocalTime#ofInstant(java.time.Instant, java.time.ZoneId)",
"public long java.time.LocalTime#toEpochSecond(java.time.LocalDate, java.time.ZoneOffset)"
]
},
{
"api_level_below_or_equal": 25,
"rewrite_prefix": {
"java.time.": "j$.time.",
"java.util.Base64": "j$.util.Base64",
"java.util.Desugar": "j$.util.Desugar"
},
"dont_rewrite_prefix": [
"java.time.InstantSource"
],
"retarget_method": {
"java.util.TimeZone java.util.TimeZone#getTimeZone(java.time.ZoneId)": "java.util.DesugarTimeZone"
},
"retarget_method_with_emulated_dispatch": {
"java.time.Instant java.util.Date#toInstant()": "java.util.DesugarDate",
"java.time.ZoneId java.util.TimeZone#toZoneId()": "java.util.DesugarTimeZone",
"java.time.ZonedDateTime java.util.GregorianCalendar#toZonedDateTime()": "java.util.DesugarGregorianCalendar"
},
"wrapper_conversion": [
"java.time.Clock"
],
"custom_conversion": {
"java.time.Duration": "java.time.TimeConversions",
"java.time.Instant": "java.time.TimeConversions",
"java.time.LocalDate": "java.time.TimeConversions",
"java.time.LocalDateTime": "java.time.TimeConversions",
"java.time.LocalTime": "java.time.TimeConversions",
"java.time.MonthDay": "java.time.TimeConversions",
"java.time.Period": "java.time.TimeConversions",
"java.time.ZoneId": "java.time.TimeConversions",
"java.time.ZonedDateTime": "java.time.TimeConversions",
"java.time.ZoneOffset": "java.time.TimeConversions"
}
},
{
"api_level_below_or_equal": 23,
"rewrite_prefix": {
"java.io.DesugarBufferedReader": "j$.io.DesugarBufferedReader",
"java.util.DoubleSummaryStatistics": "j$.util.DoubleSummaryStatistics",
"java.util.IntSummaryStatistics": "j$.util.IntSummaryStatistics",
"java.util.LongSummaryStatistics": "j$.util.LongSummaryStatistics",
"java.util.Objects": "j$.util.Objects",
"java.util.Optional": "j$.util.Optional",
"java.util.PrimitiveIterator": "j$.util.PrimitiveIterator",
"java.util.Spliterator": "j$.util.Spliterator",
"java.util.StringJoiner": "j$.util.StringJoiner",
"java.util.concurrent.ConcurrentHashMap": "j$.util.concurrent.ConcurrentHashMap",
"java.util.concurrent.ThreadLocalRandom": "j$.util.concurrent.ThreadLocalRandom",
"java.util.concurrent.atomic.DesugarAtomic": "j$.util.concurrent.atomic.DesugarAtomic",
"java.util.stream.": "j$.util.stream."
},
"maintain_prefix": [
"java.util.function.",
"java.io.UncheckedIOException"
],
"emulate_interface": {
"java.lang.Iterable": {
"rewrittenType": "j$.lang.Iterable",
"emulatedMethods": [
"java.util.Spliterator java.lang.Iterable#spliterator()",
"void java.lang.Iterable#forEach(java.util.function.Consumer)"
]
},
"java.util.concurrent.ConcurrentMap": {
"rewrittenType": "j$.util.concurrent.ConcurrentMap",
"emulatedMethods": [
"void java.util.concurrent.ConcurrentMap#forEach(java.util.function.BiConsumer)",
"java.lang.Object java.util.concurrent.ConcurrentMap#getOrDefault(java.lang.Object, java.lang.Object)",
"java.lang.Object java.util.concurrent.ConcurrentMap#computeIfAbsent(java.lang.Object, java.util.function.Function)",
"void java.util.concurrent.ConcurrentMap#replaceAll(java.util.function.BiFunction)",
"java.lang.Object java.util.concurrent.ConcurrentMap#compute(java.lang.Object, java.util.function.BiFunction)",
"java.lang.Object java.util.concurrent.ConcurrentMap#computeIfPresent(java.lang.Object, java.util.function.BiFunction)",
"java.lang.Object java.util.concurrent.ConcurrentMap#merge(java.lang.Object, java.lang.Object, java.util.function.BiFunction)"
]
},
"java.util.List": {
"rewrittenType": "j$.util.List",
"emulatedMethods": [
"java.util.Spliterator java.util.List#spliterator()",
"void java.util.List#sort(java.util.Comparator)",
"void java.util.List#replaceAll(java.util.function.UnaryOperator)"
]
},
"java.util.Map": {
"rewrittenType": "j$.util.Map",
"emulatedMethods": [
"java.lang.Object java.util.Map#merge(java.lang.Object, java.lang.Object, java.util.function.BiFunction)",
"java.lang.Object java.util.Map#putIfAbsent(java.lang.Object, java.lang.Object)",
"void java.util.Map#forEach(java.util.function.BiConsumer)",
"void java.util.Map#replaceAll(java.util.function.BiFunction)",
"java.lang.Object java.util.Map#computeIfAbsent(java.lang.Object, java.util.function.Function)",
"java.lang.Object java.util.Map#compute(java.lang.Object, java.util.function.BiFunction)",
"java.lang.Object java.util.Map#computeIfPresent(java.lang.Object, java.util.function.BiFunction)",
"boolean java.util.Map#remove(java.lang.Object, java.lang.Object)",
"boolean java.util.Map#replace(java.lang.Object, java.lang.Object, java.lang.Object)",
"java.lang.Object java.util.Map#replace(java.lang.Object, java.lang.Object)",
"java.lang.Object java.util.Map#getOrDefault(java.lang.Object, java.lang.Object)"
]
},
"java.util.Collection": {
"rewrittenType": "j$.util.Collection",
"emulatedMethods": [
"java.lang.Object[] java.util.Collection#toArray(java.util.function.IntFunction)",
"java.util.stream.Stream java.util.Collection#stream()",
"java.util.stream.Stream java.util.Collection#parallelStream()",
"java.util.Spliterator java.util.Collection#spliterator()",
"boolean java.util.Collection#removeIf(java.util.function.Predicate)",
"void java.util.Collection#forEach(java.util.function.Consumer)"
]
},
"java.util.Iterator": {
"rewrittenType": "j$.util.Iterator",
"emulatedMethods": [
"void java.util.Iterator#forEachRemaining(java.util.function.Consumer)"
]
},
"java.util.Map$Entry": {
"rewrittenType": "j$.util.Map$Entry"
},
"java.util.Set": {
"rewrittenType": "j$.util.Set",
"emulatedMethods": [
"java.util.Spliterator java.util.Set#spliterator()"
]
},
"java.util.Comparator": {
"rewrittenType": "j$.util.Comparator",
"emulatedMethods": [
"java.util.Comparator java.util.Comparator#thenComparingDouble(java.util.function.ToDoubleFunction)",
"java.util.Comparator java.util.Comparator#thenComparingInt(java.util.function.ToIntFunction)",
"java.util.Comparator java.util.Comparator#reversed()",
"java.util.Comparator java.util.Comparator#thenComparing(java.util.function.Function, java.util.Comparator)",
"java.util.Comparator java.util.Comparator#thenComparingLong(java.util.function.ToLongFunction)",
"java.util.Comparator java.util.Comparator#thenComparing(java.util.Comparator)",
"java.util.Comparator java.util.Comparator#thenComparing(java.util.function.Function)"
]
},
"java.util.SortedSet": {
"rewrittenType": "j$.util.SortedSet",
"emulatedMethods": [
"java.util.Spliterator java.util.SortedSet#spliterator()"
]
}
},
"retarget_method": {
"java.util.Spliterator java.util.Arrays#spliterator(java.lang.Object[])": "java.util.DesugarArrays",
"java.util.Spliterator java.util.Arrays#spliterator(java.lang.Object[], int, int)": "java.util.DesugarArrays",
"java.util.Spliterator$OfDouble java.util.Arrays#spliterator(double[])": "java.util.DesugarArrays",
"java.util.Spliterator$OfDouble java.util.Arrays#spliterator(double[], int, int)": "java.util.DesugarArrays",
"java.util.Spliterator$OfInt java.util.Arrays#spliterator(int[])": "java.util.DesugarArrays",
"java.util.Spliterator$OfInt java.util.Arrays#spliterator(int[], int, int)": "java.util.DesugarArrays",
"java.util.Spliterator$OfLong java.util.Arrays#spliterator(long[])": "java.util.DesugarArrays",
"java.util.Spliterator$OfLong java.util.Arrays#spliterator(long[], int, int)": "java.util.DesugarArrays",
"java.util.stream.DoubleStream java.util.Arrays#stream(double[])": "java.util.DesugarArrays",
"java.util.stream.DoubleStream java.util.Arrays#stream(double[], int, int)": "java.util.DesugarArrays",
"java.util.stream.IntStream java.util.Arrays#stream(int[])": "java.util.DesugarArrays",
"java.util.stream.IntStream java.util.Arrays#stream(int[], int, int)": "java.util.DesugarArrays",
"java.util.stream.LongStream java.util.Arrays#stream(long[])": "java.util.DesugarArrays",
"java.util.stream.LongStream java.util.Arrays#stream(long[], int, int)": "java.util.DesugarArrays",
"java.util.stream.Stream java.util.Arrays#stream(java.lang.Object[])": "java.util.DesugarArrays",
"java.util.stream.Stream java.util.Arrays#stream(java.lang.Object[], int, int)": "java.util.DesugarArrays"
},
"retarget_method_with_emulated_dispatch": {
"java.util.stream.Stream java.io.BufferedReader#lines()": "java.io.DesugarBufferedReader",
"java.util.Spliterator java.util.LinkedHashSet#spliterator()": "java.util.DesugarLinkedHashSet"
},
"api_generic_types_conversion": {
"java.util.Set java.util.stream.Collector#characteristics()" : [-1, "java.util.Set java.util.stream.StreamApiFlips#flipCharacteristicSet(java.util.Set)"],
"java.util.stream.Stream java.util.stream.Stream#flatMap(java.util.function.Function)": [0, "java.util.function.Function java.util.stream.FlatMapApiFlips#flipFunctionReturningStream(java.util.function.Function)"],
"java.util.stream.DoubleStream java.util.stream.DoubleStream#flatMap(java.util.function.DoubleFunction)": [0, "java.util.function.DoubleFunction java.util.stream.FlatMapApiFlips#flipFunctionReturningStream(java.util.function.DoubleFunction)"],
"java.util.stream.DoubleStream java.util.stream.Stream#flatMapToDouble(java.util.function.Function)": [0, "java.util.function.Function java.util.stream.FlatMapApiFlips#flipFunctionReturningStream(java.util.function.Function)"],
"java.util.stream.IntStream java.util.stream.Stream#flatMapToInt(java.util.function.Function)": [0, "java.util.function.Function java.util.stream.FlatMapApiFlips#flipFunctionReturningStream(java.util.function.Function)"],
"java.util.stream.IntStream java.util.stream.IntStream#flatMap(java.util.function.IntFunction)": [0, "java.util.function.IntFunction java.util.stream.FlatMapApiFlips#flipFunctionReturningStream(java.util.function.IntFunction)"],
"java.util.stream.LongStream java.util.stream.Stream#flatMapToLong(java.util.function.Function)": [0, "java.util.function.Function java.util.stream.FlatMapApiFlips#flipFunctionReturningStream(java.util.function.Function)"],
"java.util.stream.LongStream java.util.stream.LongStream#flatMap(java.util.function.LongFunction)": [0, "java.util.function.LongFunction java.util.stream.FlatMapApiFlips#flipFunctionReturningStream(java.util.function.LongFunction)"],
"java.lang.Object java.lang.StackWalker#walk(java.util.function.Function)": [0, "java.util.function.Function java.util.stream.StackWalkerApiFlips#flipFunctionStream(java.util.function.Function)"]
},
"never_outline_api": [
"java.lang.Object java.lang.StackWalker#walk(java.util.function.Function)"
],
"wrapper_conversion": [
"java.util.PrimitiveIterator$OfDouble",
"java.util.PrimitiveIterator$OfInt",
"java.util.PrimitiveIterator$OfLong",
"java.util.Spliterator",
"java.util.Spliterator$OfDouble",
"java.util.Spliterator$OfInt",
"java.util.Spliterator$OfLong",
"java.util.Spliterator$OfPrimitive",
"java.util.stream.BaseStream",
"java.util.stream.Collector",
"java.util.stream.Collector$Characteristics",
"java.util.stream.DoubleStream",
"java.util.stream.IntStream",
"java.util.stream.LongStream",
"java.util.stream.Stream"
],
"custom_conversion": {
"java.util.DoubleSummaryStatistics": "java.util.DoubleSummaryStatisticsConversions",
"java.util.IntSummaryStatistics": "java.util.IntSummaryStatisticsConversions",
"java.util.LongSummaryStatistics": "java.util.LongSummaryStatisticsConversions",
"java.util.Optional": "java.util.OptionalConversions",
"java.util.OptionalDouble": "java.util.OptionalConversions",
"java.util.OptionalInt": "java.util.OptionalConversions",
"java.util.OptionalLong": "java.util.OptionalConversions"
}
},
{
"api_level_below_or_equal": 18,
"rewrite_prefix": {
"java.nio.charset.StandardCharsets": "j$.nio.charset.StandardCharsets"
}
}
],
"program_flags": [
{
"api_level_below_or_equal": 10000,
"amend_library_method": [
"public static java.util.stream.DoubleStream java.util.stream.DoubleStream#iterate(double, java.util.function.DoublePredicate, java.util.function.DoubleUnaryOperator)",
"public static java.util.stream.IntStream java.util.stream.IntStream#iterate(int, java.util.function.IntPredicate, java.util.function.IntUnaryOperator)",
"public static java.util.stream.LongStream java.util.stream.LongStream#iterate(long, java.util.function.LongPredicate, java.util.function.LongUnaryOperator)",
"public static java.util.stream.Stream java.util.stream.Stream#iterate(java.lang.Object, java.util.function.Predicate, java.util.function.UnaryOperator)"
]
},
{
"api_level_below_or_equal": 32,
"api_level_greater_or_equal": 26,
"covariant_retarget_method": {
"java.time.chrono.IsoEra java.time.LocalDate#getEra()": "java.time.chrono.Era"
},
"amend_library_method": [
"public java.time.chrono.IsoEra java.time.LocalDate#getEra()"
]
},
{
"api_level_below_or_equal": 25,
"retarget_method": {
"java.time.Instant java.util.Calendar#toInstant()": "java.util.DesugarCalendar",
"java.util.Date java.util.Date#from(java.time.Instant)": "java.util.DesugarDate",
"java.util.GregorianCalendar java.util.GregorianCalendar#from(java.time.ZonedDateTime)": "java.util.DesugarGregorianCalendar",
"java.util.TimeZone java.util.TimeZone#getTimeZone(java.lang.String)": "java.util.DesugarTimeZone"
}
},
{
"api_level_below_or_equal": 23,
"retarget_method": {
"int java.util.concurrent.atomic.AtomicInteger#accumulateAndGet(int, java.util.function.IntBinaryOperator)": "java.util.concurrent.atomic.DesugarAtomicInteger",
"int java.util.concurrent.atomic.AtomicInteger#getAndAccumulate(int, java.util.function.IntBinaryOperator)": "java.util.concurrent.atomic.DesugarAtomicInteger",
"int java.util.concurrent.atomic.AtomicInteger#getAndUpdate(java.util.function.IntUnaryOperator)": "java.util.concurrent.atomic.DesugarAtomicInteger",
"int java.util.concurrent.atomic.AtomicInteger#updateAndGet(java.util.function.IntUnaryOperator)": "java.util.concurrent.atomic.DesugarAtomicInteger",
"java.lang.Object java.util.concurrent.atomic.AtomicReference#accumulateAndGet(java.lang.Object, java.util.function.BinaryOperator)": "java.util.concurrent.atomic.DesugarAtomicReference",
"java.lang.Object java.util.concurrent.atomic.AtomicReference#getAndAccumulate(java.lang.Object, java.util.function.BinaryOperator)": "java.util.concurrent.atomic.DesugarAtomicReference",
"java.lang.Object java.util.concurrent.atomic.AtomicReference#getAndUpdate(java.util.function.UnaryOperator)": "java.util.concurrent.atomic.DesugarAtomicReference",
"java.lang.Object java.util.concurrent.atomic.AtomicReference#updateAndGet(java.util.function.UnaryOperator)": "java.util.concurrent.atomic.DesugarAtomicReference",
"java.util.Collection java.util.Collections#checkedCollection(java.util.Collection, java.lang.Class)": "java.util.DesugarCollections",
"java.util.Set java.util.Collections#checkedSet(java.util.Set, java.lang.Class)": "java.util.DesugarCollections",
"java.util.SortedSet java.util.Collections#checkedSortedSet(java.util.SortedSet, java.lang.Class)": "java.util.DesugarCollections",
"java.util.List java.util.Collections#checkedList(java.util.List, java.lang.Class)": "java.util.DesugarCollections",
"java.util.Map java.util.Collections#checkedMap(java.util.Map, java.lang.Class, java.lang.Class)": "java.util.DesugarCollections",
"java.util.SortedMap java.util.Collections#checkedSortedMap(java.util.SortedMap, java.lang.Class, java.lang.Class)": "java.util.DesugarCollections",
"java.util.Collection java.util.Collections#unmodifiableCollection(java.util.Collection)": "java.util.DesugarCollections",
"java.util.Set java.util.Collections#unmodifiableSet(java.util.Set)": "java.util.DesugarCollections",
"java.util.SortedSet java.util.Collections#unmodifiableSortedSet(java.util.SortedSet)": "java.util.DesugarCollections",
"java.util.List java.util.Collections#unmodifiableList(java.util.List)": "java.util.DesugarCollections",
"java.util.Map java.util.Collections#unmodifiableMap(java.util.Map)": "java.util.DesugarCollections",
"java.util.SortedMap java.util.Collections#unmodifiableSortedMap(java.util.SortedMap)": "java.util.DesugarCollections",
"java.util.Collection java.util.Collections#synchronizedCollection(java.util.Collection)": "java.util.DesugarCollections",
"java.util.Set java.util.Collections#synchronizedSet(java.util.Set)": "java.util.DesugarCollections",
"java.util.SortedSet java.util.Collections#synchronizedSortedSet(java.util.SortedSet)": "java.util.DesugarCollections",
"java.util.List java.util.Collections#synchronizedList(java.util.List)": "java.util.DesugarCollections",
"java.util.Map java.util.Collections#synchronizedMap(java.util.Map)": "java.util.DesugarCollections",
"java.util.SortedMap java.util.Collections#synchronizedSortedMap(java.util.SortedMap)": "java.util.DesugarCollections",
"long java.util.concurrent.atomic.AtomicLong#accumulateAndGet(long, java.util.function.LongBinaryOperator)": "java.util.concurrent.atomic.DesugarAtomicLong",
"long java.util.concurrent.atomic.AtomicLong#getAndAccumulate(long, java.util.function.LongBinaryOperator)": "java.util.concurrent.atomic.DesugarAtomicLong",
"long java.util.concurrent.atomic.AtomicLong#getAndUpdate(java.util.function.LongUnaryOperator)": "java.util.concurrent.atomic.DesugarAtomicLong",
"long java.util.concurrent.atomic.AtomicLong#updateAndGet(java.util.function.LongUnaryOperator)": "java.util.concurrent.atomic.DesugarAtomicLong"
},
"api_generic_types_conversion": {
"java.util.Collection java.util.Hashtable#values()": [-1, "java.util.Collection java.util.DesugarCollections#bridge_synchronizedCollection(java.util.Collection, java.lang.Object)"],
"java.util.Set java.util.Hashtable#entrySet()": [-1, "java.util.Set java.util.DesugarCollections#bridge_synchronizedSet(java.util.Set, java.lang.Object)"],
"java.util.Set java.util.Hashtable#keySet()": [-1, "java.util.Set java.util.DesugarCollections#bridge_synchronizedSet(java.util.Set, java.lang.Object)"],
"java.util.List java.util.Vector#subList(int, int)": [-1, "java.util.List java.util.DesugarCollections#bridge_synchronizedList(java.util.List, java.lang.Object)"]
}
}
],
"library_flags": [
{
"api_level_below_or_equal": 30,
"rewrite_prefix": {
"jdk.internal.": "j$.jdk.internal.",
"sun.security.action.": "j$.sun.security.action.",
"sun.misc.Desugar": "j$.sun.misc.Desugar"
},
"rewrite_derived_prefix": {
"sun.misc.DesugarUnsafe": {
"jdk.internal.misc.Unsafe": "j$.sun.misc.DesugarUnsafe"
}
},
"backport": {
"java.lang.DesugarDouble": "java.lang.Double",
"java.lang.DesugarInteger": "java.lang.Integer",
"java.lang.DesugarLong": "java.lang.Long",
"java.lang.DesugarMath": "java.lang.Math"
}
},
{
"api_level_below_or_equal": 25,
"rewrite_prefix": {
"sun.nio.cs.": "j$.sun.nio.cs.",
"sun.util.PreHashedMap": "j$.sun.util.PreHashedMap"
},
"retarget_method": {
"boolean java.util.Arrays#deepEquals0(java.lang.Object, java.lang.Object)": "java.util.DesugarArrays"
},
"amend_library_method": [
"private static boolean java.util.Arrays#deepEquals0(java.lang.Object, java.lang.Object)"
],
"rewrite_derived_prefix": {
"java.time.": {
"j$.time.": "java.time."
}
}
},
{
"api_level_below_or_equal": 23,
"rewrite_prefix": {
"java.util.AbstractList": "j$.util.AbstractList",
"java.util.CollSer": "j$.util.CollSer",
"java.util.Comparators": "j$.util.Comparators",
"java.util.ImmutableCollections": "j$.util.ImmutableCollections",
"java.util.KeyValueHolder": "j$.util.KeyValueHolder",
"java.util.SortedSet$1": "j$.util.SortedSet$1",
"java.util.Tripwire": "j$.util.Tripwire",
"java.util.concurrent.Helpers": "j$.util.concurrent.Helpers",
"java.util.ConversionRuntimeException": "j$.util.ConversionRuntimeException"
},
"rewrite_derived_prefix": {
"java.util.DoubleSummaryStatistics": {
"j$.util.DoubleSummaryStatistics": "java.util.DoubleSummaryStatistics"
},
"java.util.IntSummaryStatistics": {
"j$.util.IntSummaryStatistics": "java.util.IntSummaryStatistics"
},
"java.util.LongSummaryStatistics": {
"j$.util.LongSummaryStatistics": "java.util.LongSummaryStatistics"
},
"java.util.stream.Collector": {
"j$.util.stream.Collector": "java.util.stream.Collector"
},
"java.util.Optional": {
"j$.util.Optional": "java.util.Optional"
},
"java.util.stream.DoubleStream": {
"j$.util.stream.DoubleStream": "java.util.stream.DoubleStream"
},
"java.util.stream.IntStream": {
"j$.util.stream.IntStream": "java.util.stream.IntStream"
},
"java.util.stream.LongStream": {
"j$.util.stream.LongStream": "java.util.stream.LongStream"
},
"java.util.stream.Stream": {
"j$.util.stream.Stream": "java.util.stream.Stream"
}
}
},
{
"api_level_below_or_equal": 18,
"retarget_static_field": {
"sun.nio.cs.US_ASCII sun.nio.cs.US_ASCII#INSTANCE": "java.nio.charset.Charset java.nio.charset.StandardCharsets#US_ASCII",
"sun.nio.cs.ISO_8859_1 sun.nio.cs.ISO_8859_1#INSTANCE": "java.nio.charset.Charset java.nio.charset.StandardCharsets#ISO_8859_1",
"sun.nio.cs.UTF_8 sun.nio.cs.UTF_8#INSTANCE": "java.nio.charset.Charset java.nio.charset.StandardCharsets#UTF_8"
}
}
],
"shrinker_config": [
"-keepclassmembers class j$.** extends java.io.Serializable { void <init>(); private static final java.io.ObjectStreamField[] serialPersistentFields; static final long serialVersionUID; java.lang.Object readResolve(); java.lang.Object writeReplace(); private void readObject(java.io.ObjectInputStream); private void writeObject(java.io.ObjectOutputStream); private void readObjectNoData(); }",
"-keepclassmembers class j$.util.concurrent.ConcurrentHashMap$TreeBin { int lockState; }",
"-keepclassmembers class j$.util.concurrent.ConcurrentHashMap { int sizeCtl; int transferIndex; long baseCount; int cellsBusy; }",
"-keepclassmembers class j$.util.concurrent.ConcurrentHashMap$CounterCell { long value; }",
"-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); public static final !synthetic <fields>; }",
"-keeppackagenames java.**",
"-keeppackagenames j$.**",
"-keepclassmembers class j$.util.IntSummaryStatistics { long count; long sum; int min; int max; }",
"-keepclassmembers class j$.util.LongSummaryStatistics { long count; long sum; long min; long max; }",
"-keepclassmembers class j$.util.DoubleSummaryStatistics { long count; double sum; double min; double max; }",
"-keepattributes Signature",
"-keepattributes EnclosingMethod",
"-keepattributes InnerClasses",
"-dontwarn sun.misc.Unsafe",
"-dontwarn wrapper.**"
]
}