blob: 350e8ce9ea558b8545d0c83fae3b095c60753da1 [file] [log] [blame]
// Copyright (c) 2021, 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 records;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
public class EmptyRecordAnnotation {
record Empty() {}
@Retention(RetentionPolicy.RUNTIME)
@interface ClassAnnotation {
Class<? extends Record> theClass();
}
@ClassAnnotation(theClass = Record.class)
public static void annotatedMethod1() {}
@ClassAnnotation(theClass = Empty.class)
public static void annotatedMethod2() {}
public static void main(String[] args) throws Exception {
Class<?> annotatedMethod1Content =
EmptyRecordAnnotation.class
.getDeclaredMethod("annotatedMethod1")
.getAnnotation(ClassAnnotation.class)
.theClass();
System.out.println(annotatedMethod1Content);
Class<?> annotatedMethod2Content =
EmptyRecordAnnotation.class
.getDeclaredMethod("annotatedMethod2")
.getAnnotation(ClassAnnotation.class)
.theClass();
System.out.println(annotatedMethod2Content);
}
}