| // 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())); | |
| } | |
| } |