Use --check-package-private-access by default for oat files

This commit is contained in:
Ben Gruver 2016-09-18 19:17:09 -07:00
parent ecd89816b3
commit b7f98c8758

View File

@ -79,8 +79,9 @@ public class AnalysisArguments {
public static class CheckPackagePrivateArgument { public static class CheckPackagePrivateArgument {
@Parameter(names = {"--check-package-private-access", "--package-private", "--checkpp", "--pp"}, @Parameter(names = {"--check-package-private-access", "--package-private", "--checkpp", "--pp"},
description = "Use the package-private access check when calculating vtable indexes. This should " + description = "Use the package-private access check when calculating vtable indexes. This is enabled " +
"only be needed for 4.2.0 odexes. It was reverted in 4.2.1.") "by default for oat files. For odex files, this is only needed for odexes from 4.2.0. It " +
"was reverted in 4.2.1.")
public boolean checkPackagePrivateAccess = false; public boolean checkPackagePrivateAccess = false;
} }
@ -89,6 +90,10 @@ public class AnalysisArguments {
throws IOException { throws IOException {
ClassPathResolver resolver; ClassPathResolver resolver;
if (dexFile instanceof OatDexFile) {
checkPackagePrivateAccess = true;
}
List<String> filteredClassPathDirectories = Lists.newArrayList(); List<String> filteredClassPathDirectories = Lists.newArrayList();
if (classPathDirectories != null) { if (classPathDirectories != null) {
for (String dir: classPathDirectories) { for (String dir: classPathDirectories) {