blob: 137ac1281d67b189d2dc1a43cca6d5cb58102f4f [file] [log] [blame]
// Copyright (c) 2022, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package desugaredlibrary;
import com.google.common.collect.ImmutableSet;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class CustomConversionAsmRewriteDescription {
static final String WRAP_CONVERT = "wrap_convert";
static final String INVERTED_WRAP_CONVERT = "inverted_wrap_convert";
static final String CONVERT = "convert";
private static final Set<String> ENUM_WRAP_CONVERT_OWNER =
ImmutableSet.of(
"j$/nio/file/StandardOpenOption",
"j$/nio/file/LinkOption",
"j$/nio/file/attribute/PosixFilePermission",
"j$/util/stream/Collector$Characteristics");
private static final Set<String> WRAP_CONVERT_OWNER =
ImmutableSet.of(
"j$/nio/file/spi/FileSystemProvider",
"j$/nio/file/spi/FileTypeDetector",
"j$/nio/file/Path",
"j$/nio/file/WatchEvent",
"j$/nio/file/attribute/BasicFileAttributes",
"j$/nio/file/attribute/BasicFileAttributeView",
"j$/nio/file/attribute/FileOwnerAttributeView",
"j$/nio/file/attribute/PosixFileAttributes",
"j$/nio/file/attribute/PosixFileAttributeView");
static Map<String, String> getJavaWrapConvertOwnerMap() {
return computeConvertOwnerMap("$VivifiedWrapper");
}
static Map<String, String> getJ$WrapConvertOwnerMap() {
return computeConvertOwnerMap("$Wrapper");
}
private static HashMap<String, String> computeConvertOwnerMap(String suffix) {
HashMap<String, String> map = new HashMap<>();
for (String theEnum : ENUM_WRAP_CONVERT_OWNER) {
map.put(theEnum, theEnum + "$EnumConversion");
}
for (String owner : WRAP_CONVERT_OWNER) {
map.put(owner, owner + suffix);
}
return map;
}
}