Class AstNode
AstNode is the base type from which all other Biml language model classes derive. It provides a variety of methods and properties that are useful to the language framework.
[AstDoNotEmitXmlSchemaType]
public abstract class AstNode : VulcanNotifyPropertyChanged, IBindableItem, IGetJsonProvider, IFrameworkItem, IValidationInfo
- Inheritance
-
System.ObjectAstNode
- Derived
-
AstNode
Varigence.Utility.Collections.IVulcanCollectionParent, Varigence.Utility.ComponentModel.IVulcanNotifyPropertyChanged, Varigence.Utility.ComponentModel.IPropertyChangeNotificationTarget, System.ComponentModel.INotifyPropertyChanged, Varigence.Utility.Xml.IXObjectMappingProvider, System.ComponentModel.IDataErrorInfo,
Properties
Annotations | This is a collection of annotation items that can be used to specify documentation, tags, or other information. Annotations are particularly useful for storing information about nodes that can be used by BimlScript code. |
BimlFile | This value specifies the BimlFile in which the Biml code that defines AstNode resides. |
FriendlyTypeNameStatic | Gets the friendly name of the type of this node |
Guid | |
ItemLabel | Gets a label that can be used to identify this node |
ObjectTag | This property provides a general purpose storage mechanism for .NET objects to be associated with AstNode objects. It supplements the annotation system, which is intended for use with string-based metadata. |
ParentItem | This value specifies the parent of the current node. All nodes must have a valid parent in the Biml framework, except for the root node. |
Methods
AllDefinedSuccessors() | Retrieves the collection of all nodes defined as a child of this or any successor node or the current node |
AllDefinedSuccessors(Boolean) | Retrieves the collection of all nodes defined as a child of this or any successor node or optionally the current node |
AncestorDistance(IFrameworkItem) | Retrieves the number of steps between this node and the nearest shared ancestor with the specified relative node. |
BindingScopeBoundaries() | Retrieves the permitted scope boundaries to bind references from this node. |
DefinedAstNodes() | Retrieves a collection of nodes that have been defined as direct children of the current node. |
Duplicate() | Creates a duplicate of the current node |
Duplicate(IFrameworkItem) | Creates a duplicate of the current node with the specified parent item |
FirstChildOfType<TChild>() | Gets the first defined descendant node of the specified type |
FirstParent<TAstNode>() | Retrieves the first parent or ancestor node of the specified type |
FirstParent<TAstNode>(Type) | Retrieves the first parent or ancestor node of the specified type with the specified custom attribute type |
FirstThisOrParent<TAstNode>() | Retrieves the first parent or ancestor node of the specified type, including this node |
FirstThisOrParent<TAstNode>(Type) | Retrieves the first parent or ancestor node (including this node) of the specified type with the specified custom attribute type |
GetAllItemsReferencedByDefinedSuccessors() | Builds a list of all items referenced by this node and its successors. Each tuple in the returned list represents a FrameworkItemReference. The first item is the ReferencingItem, the second item is the property name, and the third item is the ReferencedItem. |
GetDefaultValue(String) | Retrieves the default value for the property with the name propertyName |
GetDefaultValue<T>(String) | Retrieves the default value for the property with the name propertyName |
GetExternalJson() | Generates a JavaScript Object Notation (JSON) representation of the current node |
GetJson() | Generates a JavaScript Object Notation (JSON) representation of the current node |
GetJson(Boolean, Boolean, Boolean, Boolean, Boolean) | Generates a JavaScript Object Notation (JSON) representation of the current node |
GetSchemaLocalName() | Retrieves the local XML element name that corresponds to this node in Biml code. |
GetXObjectName() | Gets the fully qualified XML element name for this node in the code document. |
IsDirectAncestor(IFrameworkItem) | Retrieves a value indicating whether the specified node is a direct ancestor of this node. |
RemoveFromParent() | Removes this node definition from its parent |
StructureEquals(Object) | Compares this node to the provided object to determine if all defined children and references are equal. |