Class ChildPropertyDescriptor
java.lang.Object
org.aspectj.org.eclipse.jdt.core.dom.StructuralPropertyDescriptor
org.aspectj.org.eclipse.jdt.core.dom.ChildPropertyDescriptor
Descriptor for a child property of an AST node.
A child property is one whose value is an
ASTNode
.-
Method Summary
Modifier and TypeMethodDescriptionboolean
Returns whether this property is vulnerable to cycles.Returns the child type of this property.boolean
Returns whether this property is mandatory.Methods inherited from class org.aspectj.org.eclipse.jdt.core.dom.StructuralPropertyDescriptor
getId, getNodeClass, isChildListProperty, isChildProperty, isSimpleProperty, toString
-
Method Details
-
getChildType
Returns the child type of this property.For example, for a node type like CompilationUnit, the "package" property returns
PackageDeclaration.class
.- Returns:
- the child type of the property
-
isMandatory
public final boolean isMandatory()Returns whether this property is mandatory. A property value is not allowed to benull
if it is mandatory.- Returns:
true
if the property is mandatory, andfalse
if it is may benull
-
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 anotherMethodDeclaration
node. On the other hand, the name property of a MethodDeclaration node admits only names, and thereby excludes another MethodDeclaration node.- Returns:
true
if cycles are possible, andfalse
if cycles are impossible
-