Interface JRecordComponentSymbol

All Superinterfaces:
AnnotableSymbol, JAccessibleElementSymbol, JElementSymbol

public interface JRecordComponentSymbol extends JAccessibleElementSymbol
Represents a record component. Record components are associated with a private final JFieldSymbol and a public accessor method.
Since:
7.3.0
  • Field Details

    • RECORD_COMPONENT_MODIFIERS

      static final int RECORD_COMPONENT_MODIFIERS
      Record components use these modifiers by convention, although they cannot have explicit modifiers in source, and the associated field and method symbol have different modifiers.
      See Also:
  • Method Details

    • getTypeMirror

      JTypeMirror getTypeMirror(Substitution substitution)
      Returns the type of this value, under the given substitution.
    • getModifiers

      default int getModifiers()
      Description copied from interface: JAccessibleElementSymbol
      Returns the modifiers of the element represented by this symbol, as decodable by the standard Modifier API.
      Specified by:
      getModifiers in interface JAccessibleElementSymbol
    • getEnclosingClass

      @NonNull JClassSymbol getEnclosingClass()
      Description copied from interface: JAccessibleElementSymbol
      Returns the class that directly encloses this declaration. This is equivalent to Class.getEnclosingClass(). Returns null if this is a top-level type declaration.

      This is necessarily an already resolved symbol, because 1. if it's obtained from reflection, then the enclosing class is available 2. if it's obtained from an AST, then the enclosing class is in the same source file so we can know about it

      Specified by:
      getEnclosingClass in interface JAccessibleElementSymbol
    • getPackageName

      default @NonNull String getPackageName()
      Description copied from interface: JAccessibleElementSymbol
      Returns the name of the package this element is declared in. This recurses into the enclosing elements if needed. If this is an array symbol, returns the package name of the element symbol. If this is a primitive type, returns "java.lang".

      This is consistent with Java 9's getPackageName().

      Specified by:
      getPackageName in interface JAccessibleElementSymbol
    • acceptVisitor

      default <R, P> R acceptVisitor(SymbolVisitor<R,P> visitor, P param)
      Description copied from interface: JElementSymbol
      Dispatch to the appropriate visit method of the visitor and returns its result.
      Specified by:
      acceptVisitor in interface JElementSymbol
    • tryGetNode

      default ASTRecordComponent tryGetNode()
      Description copied from interface: JElementSymbol
      Returns the node that declares this symbol. Eg for JMethodSymbol, it's an ASTMethodDeclaration. Will only return non-null if the symbol is declared in the file currently being analysed.
      Specified by:
      tryGetNode in interface JElementSymbol