Class ElementScanner14<R,P>

Type Parameters:
R - the return type of this visitor's methods. Use Void for visitors that do not need to return results.
P - the type of the additional parameter to this visitor's methods. Use Void for visitors that do not need an additional parameter.
All Implemented Interfaces:
ElementVisitor<R,P>
Direct Known Subclasses:
ElementScannerPreviewPREVIEW

@SupportedSourceVersion(RELEASE_27) public class ElementScanner14<R,P> extends ElementScanner9<R,P>
A scanning visitor of program elements with default behavior appropriate for the RELEASE_14 source version. The visitXyz methods in this class scan their component elements by calling scan on their enclosed elements, parameters, etc., as indicated in the individual method specifications. A subclass can control the order elements are visited by overriding the visitXyz methods. Note that clients of a scanner may get the desired behavior by invoking v.scan(e, p) rather than v.visit(e, p) on the root objects of interest.

When a subclass overrides a visitXyz method, the new method can cause the enclosed elements to be scanned in the default way by calling super.visitXyz. In this fashion, the concrete visitor can control the ordering of traversal over the component elements with respect to the additional processing; for example, consistently calling super.visitXyz at the start of the overridden methods will yield a preorder traversal, etc. If the component elements should be traversed in some other order, instead of calling super.visitXyz, an overriding visit method should call scan with the elements in the desired order.

API Note:
Methods in this class may be overridden subject to their general contract.
Since:
16
See Also:
  • Field Summary

    Fields declared in class ElementScanner6

    DEFAULT_VALUE
    Modifier and Type
    Field
    Description
    protected final R
    The specified default value.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Constructor for concrete subclasses; uses null for the default value.
    protected
    ElementScanner14(R defaultValue)
    Constructor for concrete subclasses; uses the argument for the default value.
  • Method Summary

    Modifier and Type
    Method
    Description
    Visits an executable element.
    Visits a record component element.
    Visits a type element.

    Methods declared in class ElementScanner9

    visitModule
    Modifier and Type
    Method
    Description
    Visits a module element.

    Methods declared in class ElementScanner7

    visitVariable
    Modifier and Type
    Method
    Description
    Visits a variable element.

    Methods declared in class ElementScanner6

    scan, scan, scan, visitPackage, visitTypeParameter
    Modifier and Type
    Method
    Description
    final R
    scan(Iterable<? extends Element> iterable, P p)
    Iterates over the given elements and calls scan(Element, P) on each one.
    final R
    Convenience method equivalent to v.scan(e, null).
    scan(Element e, P p)
    Processes an element by calling e.accept(this, p); this method may be overridden by subclasses.
    Visits a package element.
    Visits a type parameter element.

    Methods declared in class AbstractElementVisitor6

    visit, visit, visitUnknown
    Modifier and Type
    Method
    Description
    final R
    Visits any program element as if by passing itself to that element's accept method and passing null for the additional parameter.
    final R
    visit(Element e, P p)
    Visits any program element as if by passing itself to that element's accept method.
    Visits an unknown kind of element.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    Answers a string containing a concise, human-readable description of the receiver.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • Constructor Details

    • ElementScanner14

      protected ElementScanner14()
      Constructor for concrete subclasses; uses null for the default value.
    • ElementScanner14

      protected ElementScanner14(R defaultValue)
      Constructor for concrete subclasses; uses the argument for the default value.
      Parameters:
      defaultValue - the default value
  • Method Details

    • visitType

      public R visitType(TypeElement e, P p)
      Visits a type element.
      Specified by:
      visitType in interface ElementVisitor<R,P>
      Overrides:
      visitType in class ElementScanner6<R,P>
      Implementation Requirements:
      This implementation scans the type parameters, if any, and then the enclosed elements.
      Parameters:
      e - the element to visit
      p - a visitor-specified parameter
      Returns:
      the result of scanning
    • visitExecutable

      public R visitExecutable(ExecutableElement e, P p)
      Visits an executable element.
      Specified by:
      visitExecutable in interface ElementVisitor<R,P>
      Overrides:
      visitExecutable in class ElementScanner6<R,P>
      Implementation Requirements:
      This implementation first scans the type parameters, if any, and then the parameters.
      Parameters:
      e - the element to visit
      p - a visitor-specified parameter
      Returns:
      the result of scanning
    • visitRecordComponent

      public R visitRecordComponent(RecordComponentElement e, P p)
      Visits a record component element.
      Specified by:
      visitRecordComponent in interface ElementVisitor<R,P>
      Overrides:
      visitRecordComponent in class ElementScanner6<R,P>
      Implementation Requirements:
      This implementation scans the enclosed elements.
      Parameters:
      e - the element to visit
      p - a visitor-specified parameter
      Returns:
      the result of scanning