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, toString
public 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 null
public 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, 2010. All Rights Reserved.