Package org.eclipse.jdt.core.dom
Class ChildPropertyDescriptor
java.lang.Object
org.eclipse.jdt.core.dom.StructuralPropertyDescriptor
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
.- Since:
- 3.0
- See Also:
- Restriction:
- This class is not intended to be instantiated by clients.
-
Method Summary
Modifier and TypeMethodDescriptionfinal boolean
Returns whether this property is vulnerable to cycles.final Class
Returns the child type of this property.final boolean
Returns whether this property is mandatory.Methods inherited from class 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
-