Class ElementScanner7<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:
ElementScanner8

@SupportedSourceVersion(RELEASE_7) public class ElementScanner7<R,P> extends ElementScanner6<R,P>
A scanning visitor of program elements with default behavior appropriate for the RELEASE_7 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:
1.7
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
    Deprecated.
    Release 7 is obsolete; update to a visitor for a newer release level.
    protected
    ElementScanner7(R defaultValue)
    Deprecated.
    Release 7 is obsolete; update to a visitor for a newer release level.
  • Method Summary

    Modifier and Type
    Method
    Description
    Visits a variable element.

    Methods declared in class ElementScanner6

    scan, scan, scan, visitExecutable, visitPackage, visitRecordComponent, visitType, 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 an executable element.
    Visits a package element.
    Visits a record component element.
    Visits a type element.
    Visits a type parameter element.

    Methods declared in class AbstractElementVisitor6

    visit, visit, visitModule, 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 a module element.
    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

    • ElementScanner7

      @Deprecated(since="12") protected ElementScanner7()
      Deprecated.
      Release 7 is obsolete; update to a visitor for a newer release level.
      Constructor for concrete subclasses; uses null for the default value.
    • ElementScanner7

      @Deprecated(since="12") protected ElementScanner7(R defaultValue)
      Deprecated.
      Release 7 is obsolete; update to a visitor for a newer release level.
      Constructor for concrete subclasses; uses the argument for the default value.
      Parameters:
      defaultValue - the default value
  • Method Details

    • visitVariable

      public R visitVariable(VariableElement e, P p)
      Visits a variable element.
      Specified by:
      visitVariable in interface ElementVisitor<R,P>
      Overrides:
      visitVariable 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