Class ChildPropertyDescriptor


public final class ChildPropertyDescriptor extends StructuralPropertyDescriptor
Descriptor for a child property of an AST node. A child property is one whose value is an ASTNode.
See Also:
This class is not intended to be instantiated by clients.
  • Method Details

    • getChildType

      public final Class getChildType()
      Returns the child type of this property.

      For example, for a node type like CompilationUnit, the "package" property returns PackageDeclaration.class.

      the child type of the property
    • isMandatory

      public final boolean isMandatory()
      Returns whether this property is mandatory. A property value is not allowed to be null if it is mandatory.
      true if the property is mandatory, and false if it is may be null
    • cycleRisk

      public final boolean cycleRisk()
      Returns whether this property is vulnerable to cycles.

      A property is vulnerable to cycles if a node of the owning type (that is, the type that owns this property) could legally appear in the AST subtree below this property. For example, the body property of a MethodDeclaration node admits a body which might include statement that embeds another MethodDeclaration node. On the other hand, the name property of a MethodDeclaration node admits only names, and thereby excludes another MethodDeclaration node.

      true if cycles are possible, and false if cycles are impossible