Package org.apache.groovy.ast.tools

# Class AnnotatedNodeUtils

java.lang.Object
org.apache.groovy.ast.tools.AnnotatedNodeUtils

public class AnnotatedNodeUtils extends Object
Utility class for working with AnnotatedNodes

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static boolean`
  `deemedInternal(AnnotatedNode node)`
  Checks whether an AST node is deemed internal, either by name convention (contains `$`) or by being annotated with `@Internal`.
  `static boolean`
  `hasAnnotation(AnnotatedNode node, ClassNode annotation)`
  Checks whether the supplied node carries the given annotation.
  `static boolean`
  `isGenerated(AnnotatedNode node)`
  Checks whether the supplied node has been marked as generated.
  `static boolean`
  `isInternal(AnnotatedNode node)`
  Checks whether a node is annotated with `@Internal`.
  `static <T extends AnnotatedNode>
  T`
  `markAsGenerated(ClassNode containingClass, T nodeToMark)`
  Marks the supplied node with `@Generated` when generation metadata is available.
  `static <T extends AnnotatedNode>
  T`
  `markAsGenerated(ClassNode containingClass, T nodeToMark, boolean skipChecks)`
  Marks the supplied node with `@Generated`.
  `static <T extends AnnotatedNode>
  T`
  `markAsInternal(T nodeToMark)`
  Marks a node with the `@Internal` annotation.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### markAsGenerated

    public static <T extends AnnotatedNode> T markAsGenerated(ClassNode containingClass, T nodeToMark)
    Marks the supplied node with `@Generated` when generation metadata is available.
    Parameters:
      `containingClass` - the class currently receiving generated members
      `nodeToMark` - the node to annotate
    Returns:
      the supplied node

  - ### markAsGenerated

    public static <T extends AnnotatedNode> T markAsGenerated(ClassNode containingClass, T nodeToMark, boolean skipChecks)
    Marks the supplied node with `@Generated`.
    Parameters:
      `containingClass` - the class currently receiving generated members
      `nodeToMark` - the node to annotate
      `skipChecks` - whether to skip the usual source-context checks
    Returns:
      the supplied node

  - ### hasAnnotation

    public static boolean hasAnnotation(AnnotatedNode node, ClassNode annotation)
    Checks whether the supplied node carries the given annotation.
    Parameters:
      `node` - the node to inspect
      `annotation` - the annotation type to look for
    Returns:
      `true` if the node has at least one matching annotation

  - ### isGenerated

    public static boolean isGenerated(AnnotatedNode node)
    Checks whether the supplied node has been marked as generated.
    Parameters:
      `node` - the node to inspect
    Returns:
      `true` if the node carries `@Generated`

  - ### markAsInternal

    public static <T extends AnnotatedNode> T markAsInternal(T nodeToMark)
    Marks a node with the `@Internal` annotation.
    Since:
      6.0.0

  - ### isInternal

    public static boolean isInternal(AnnotatedNode node)
    Checks whether a node is annotated with `@Internal`.
    Since:
      6.0.0

  - ### deemedInternal

    public static boolean deemedInternal(AnnotatedNode node)
    Checks whether an AST node is deemed internal, either by name convention (contains `$`) or by being annotated with `@Internal`.
    Since:
      6.0.0