blob: 7236a6620f9cdb48e009cb8c5695aa7a3b42cf1e [file] [log] [blame]
// Copyright (c) 2020, 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);
}
}