1 package jdk.incubator.code.dialect.java;
 2 
 3 import jdk.incubator.code.CodeType;
 4 
 5 /**
 6  * A symbolic reference to a Java class member or a Java type including members,
 7  * commonly containing symbolic names together with {@link JavaType symbolic descriptions}
 8  * of Java types.
 9  * <p>
10  * A symbolic Java reference can be resolved to a corresponding instance of its
11  * reflected representation, much like the symbolic description of a Java type
12  * can be resolved to an instance of {@link java.lang.reflect.Type Type}.
13  */
14 public sealed interface JavaRef extends CodeType
15         permits MethodRef, FieldRef, RecordTypeRef {
16     // @@@ Make RecordTypeRef.ComponentRef implement JavaRef?
17     //     - resolve to RecordComponent
18     //     - (RecordTypeRef resolves to Type.)
19     // @@@ AnnotatedElement is the common top type for resolved Java refs and types
20 }