blob: ce40a9393a77dc60b2291f0e6e79c1f10c0ebf36 [file] [log] [blame]
// Copyright (c) 2018, 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 com.android.tools.r8.accessrelaxation;
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static com.android.tools.r8.utils.codeinspector.Matchers.isPublic;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.MatcherAssert.assertThat;
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.naming.MemberNaming.MethodSignature;
import com.android.tools.r8.utils.codeinspector.ClassSubject;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.android.tools.r8.utils.codeinspector.MethodSubject;
abstract class AccessRelaxationTestBase extends TestBase {
final TestParameters parameters;
AccessRelaxationTestBase(TestParameters parameters) {
this.parameters = parameters;
}
static void assertPublic(CodeInspector codeInspector, Class clazz, MethodSignature signature) {
ClassSubject classSubject = codeInspector.clazz(clazz);
assertThat(classSubject, isPresent());
MethodSubject methodSubject = classSubject.method(signature);
assertThat(methodSubject, isPresent());
assertThat(methodSubject, isPublic());
}
static void assertNotPublic(CodeInspector codeInspector, Class clazz, MethodSignature signature) {
ClassSubject classSubject = codeInspector.clazz(clazz);
assertThat(classSubject, isPresent());
MethodSubject methodSubject = classSubject.method(signature);
assertThat(methodSubject, isPresent());
assertThat(methodSubject, not(isPublic()));
}
}