Interface JFieldSymbol

All Superinterfaces:
AnnotableSymbol, JAccessibleElementSymbol, JElementSymbol, JVariableSymbol

public interface JFieldSymbol extends JVariableSymbol, JAccessibleElementSymbol
Represents a field declaration.
Since:
7.0.0
  • Method Details

    • isField

      default boolean isField()
      Description copied from interface: JVariableSymbol
      Returns true if this is a field symbol.
      Specified by:
      isField in interface JVariableSymbol
      See Also:
    • isEnumConstant

      boolean isEnumConstant()
      Returns true if this field is an enum constant.
    • isFinal

      default boolean isFinal()
      Description copied from interface: JVariableSymbol
      Returns true if this declaration is declared final. This takes implicit modifiers into account.
      Specified by:
      isFinal in interface JVariableSymbol
    • getConstValue

      default @Nullable Object getConstValue()
      Returns the compile-time value of this field if this is a compile-time constant. Otherwise returns null.
    • 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 ASTVariableId 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