public final class ChildPropertyDescriptor extends StructuralPropertyDescriptor
ASTNode.ASTNode.getStructuralProperty(StructuralPropertyDescriptor),
Provisional API: This class/interface is part of an interim API that is still under development and expected to
change significantly before reaching stability. It is being made available at this early stage to solicit feedback
from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
(repeatedly) as the API evolves.isChildListProperty, isChildProperty, isSimpleProperty| Modifier and Type | Method and Description |
|---|---|
boolean |
cycleRisk()
Returns whether this property is vulnerable to cycles.
|
java.lang.Class |
getChildType()
Returns the child type of this property.
|
boolean |
isMandatory()
Returns whether this property is mandatory.
|
getId, getNodeClass, isChildListProperty, isChildProperty, isSimpleProperty, toStringpublic final java.lang.Class getChildType()
For example, for a node type like JavaScriptUnit,
the "package" property returns PackageDeclaration.class.
public final boolean isMandatory()
null if it is mandatory.true if the property is mandatory,
and false if it is may be nullpublic final boolean cycleRisk()
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
FunctionDeclaration node
admits a body which might include statement that embeds
another FunctionDeclaration node.
On the other hand, the name property of a
FunctionDeclaration node admits only names, and thereby excludes
another FunctionDeclaration node.
true if cycles are possible,
and false if cycles are impossibleCopyright (c) IBM Corp. and others 2000, 2016. All Rights Reserved.