Skip to main content

NodeType

Trait NodeType 

Source
pub trait NodeType: Out + Sized {
    // Required methods
    fn into_node(self: Box<Self>) -> Node;
    fn from_node(node: Node) -> Result<Box<Self>, Node>;
    fn peek(node: &Node) -> Option<&Self>;
    fn peek_mut(node: &mut Node) -> Option<&mut Self>;
}
Expand description

A node type that is a variant of Node, with the casts of castNode and IsA.

Required Methods§

Source

fn into_node(self: Box<Self>) -> Node

The node of this type as a Node.

Source

fn from_node(node: Node) -> Result<Box<Self>, Node>

The node as this type, or the node back when it has another type.

Source

fn peek(node: &Node) -> Option<&Self>

The node as this type, or None.

Source

fn peek_mut(node: &mut Node) -> Option<&mut Self>

The node as this type, or None.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl NodeType for ATAlterConstraint

Source§

impl NodeType for A_ArrayExpr

Source§

impl NodeType for A_Const

Source§

impl NodeType for A_Expr

Source§

impl NodeType for A_Indices

Source§

impl NodeType for A_Indirection

Source§

impl NodeType for A_Star

Source§

impl NodeType for AccessPriv

Source§

impl NodeType for Alias

Source§

impl NodeType for AlterCollationStmt

Source§

impl NodeType for AlterDatabaseRefreshCollStmt

Source§

impl NodeType for AlterDatabaseSetStmt

Source§

impl NodeType for AlterDatabaseStmt

Source§

impl NodeType for AlterDefaultPrivilegesStmt

Source§

impl NodeType for AlterDomainStmt

Source§

impl NodeType for AlterEnumStmt

Source§

impl NodeType for AlterEventTrigStmt

Source§

impl NodeType for AlterExtensionContentsStmt

Source§

impl NodeType for AlterExtensionStmt

Source§

impl NodeType for AlterFdwStmt

Source§

impl NodeType for AlterForeignServerStmt

Source§

impl NodeType for AlterFunctionStmt

Source§

impl NodeType for AlterObjectDependsStmt

Source§

impl NodeType for AlterObjectSchemaStmt

Source§

impl NodeType for AlterOpFamilyStmt

Source§

impl NodeType for AlterOperatorStmt

Source§

impl NodeType for AlterOwnerStmt

Source§

impl NodeType for AlterPolicyStmt

Source§

impl NodeType for AlterPublicationStmt

Source§

impl NodeType for AlterRoleSetStmt

Source§

impl NodeType for AlterRoleStmt

Source§

impl NodeType for AlterSeqStmt

Source§

impl NodeType for AlterStatsStmt

Source§

impl NodeType for AlterSubscriptionStmt

Source§

impl NodeType for AlterSystemStmt

Source§

impl NodeType for AlterTSConfigurationStmt

Source§

impl NodeType for AlterTSDictionaryStmt

Source§

impl NodeType for AlterTableCmd

Source§

impl NodeType for AlterTableMoveAllStmt

Source§

impl NodeType for AlterTableSpaceOptionsStmt

Source§

impl NodeType for AlterTableStmt

Source§

impl NodeType for AlterTypeStmt

Source§

impl NodeType for AlterUserMappingStmt

Source§

impl NodeType for BoolExpr

Source§

impl NodeType for BooleanTest

Source§

impl NodeType for CTECycleClause

Source§

impl NodeType for CTESearchClause

Source§

impl NodeType for CallStmt

Source§

impl NodeType for CaseExpr

Source§

impl NodeType for CaseWhen

Source§

impl NodeType for CheckPointStmt

Source§

impl NodeType for ClosePortalStmt

Source§

impl NodeType for CoalesceExpr

Source§

impl NodeType for CollateClause

Source§

impl NodeType for ColumnDef

Source§

impl NodeType for ColumnRef

Source§

impl NodeType for CommentStmt

Source§

impl NodeType for CommonTableExpr

Source§

impl NodeType for CompositeTypeStmt

Source§

impl NodeType for Constraint

Source§

impl NodeType for ConstraintsSetStmt

Source§

impl NodeType for CopyStmt

Source§

impl NodeType for CreateAmStmt

Source§

impl NodeType for CreateCastStmt

Source§

impl NodeType for CreateConversionStmt

Source§

impl NodeType for CreateDomainStmt

Source§

impl NodeType for CreateEnumStmt

Source§

impl NodeType for CreateEventTrigStmt

Source§

impl NodeType for CreateExtensionStmt

Source§

impl NodeType for CreateFdwStmt

Source§

impl NodeType for CreateForeignServerStmt

Source§

impl NodeType for CreateForeignTableStmt

Source§

impl NodeType for CreateFunctionStmt

Source§

impl NodeType for CreateOpClassItem

Source§

impl NodeType for CreateOpClassStmt

Source§

impl NodeType for CreateOpFamilyStmt

Source§

impl NodeType for CreatePLangStmt

Source§

impl NodeType for CreatePolicyStmt

Source§

impl NodeType for CreatePublicationStmt

Source§

impl NodeType for CreateRangeStmt

Source§

impl NodeType for CreateRoleStmt

Source§

impl NodeType for CreateSchemaStmt

Source§

impl NodeType for CreateSeqStmt

Source§

impl NodeType for CreateStatsStmt

Source§

impl NodeType for CreateStmt

Source§

impl NodeType for CreateSubscriptionStmt

Source§

impl NodeType for CreateTableAsStmt

Source§

impl NodeType for CreateTableSpaceStmt

Source§

impl NodeType for CreateTransformStmt

Source§

impl NodeType for CreateTrigStmt

Source§

impl NodeType for CreateUserMappingStmt

Source§

impl NodeType for CreatedbStmt

Source§

impl NodeType for CurrentOfExpr

Source§

impl NodeType for DeallocateStmt

Source§

impl NodeType for DeclareCursorStmt

Source§

impl NodeType for DefElem

Source§

impl NodeType for DefineStmt

Source§

impl NodeType for DeleteStmt

Source§

impl NodeType for DiscardStmt

Source§

impl NodeType for DoStmt

Source§

impl NodeType for DropOwnedStmt

Source§

impl NodeType for DropRoleStmt

Source§

impl NodeType for DropStmt

Source§

impl NodeType for DropSubscriptionStmt

Source§

impl NodeType for DropTableSpaceStmt

Source§

impl NodeType for DropUserMappingStmt

Source§

impl NodeType for DropdbStmt

Source§

impl NodeType for ExecuteStmt

Source§

impl NodeType for ExplainStmt

Source§

impl NodeType for FetchStmt

Source§

impl NodeType for FuncCall

Source§

impl NodeType for FunctionParameter

Source§

impl NodeType for GrantRoleStmt

Source§

impl NodeType for GrantStmt

Source§

impl NodeType for GroupingFunc

Source§

impl NodeType for GroupingSet

Source§

impl NodeType for ImportForeignSchemaStmt

Source§

impl NodeType for IndexElem

Source§

impl NodeType for IndexStmt

Source§

impl NodeType for InferClause

Source§

impl NodeType for InsertStmt

Source§

impl NodeType for IntoClause

Source§

impl NodeType for JoinExpr

Source§

impl NodeType for JsonAggConstructor

Source§

impl NodeType for JsonArgument

Source§

impl NodeType for JsonArrayAgg

Source§

impl NodeType for JsonArrayConstructor

Source§

impl NodeType for JsonArrayQueryConstructor

Source§

impl NodeType for JsonBehavior

Source§

impl NodeType for JsonFormat

Source§

impl NodeType for JsonFuncExpr

Source§

impl NodeType for JsonIsPredicate

Source§

impl NodeType for JsonKeyValue

Source§

impl NodeType for JsonObjectAgg

Source§

impl NodeType for JsonObjectConstructor

Source§

impl NodeType for JsonOutput

Source§

impl NodeType for JsonParseExpr

Source§

impl NodeType for JsonReturning

Source§

impl NodeType for JsonScalarExpr

Source§

impl NodeType for JsonSerializeExpr

Source§

impl NodeType for JsonTable

Source§

impl NodeType for JsonTableColumn

Source§

impl NodeType for JsonTablePathSpec

Source§

impl NodeType for JsonValueExpr

Source§

impl NodeType for ListenStmt

Source§

impl NodeType for LoadStmt

Source§

impl NodeType for LockStmt

Source§

impl NodeType for LockingClause

Source§

impl NodeType for MergeStmt

Source§

impl NodeType for MergeSupportFunc

Source§

impl NodeType for MergeWhenClause

Source§

impl NodeType for MinMaxExpr

Source§

impl NodeType for MultiAssignRef

Source§

impl NodeType for NamedArgExpr

Source§

impl NodeType for NotifyStmt

Source§

impl NodeType for NullTest

Source§

impl NodeType for ObjectWithArgs

Source§

impl NodeType for OnConflictClause

Source§

impl NodeType for PLAssignStmt

Source§

impl NodeType for ParamRef

Source§

impl NodeType for PartitionBoundSpec

Source§

impl NodeType for PartitionCmd

Source§

impl NodeType for PartitionElem

Source§

impl NodeType for PartitionSpec

Source§

impl NodeType for PrepareStmt

Source§

impl NodeType for PublicationAllObjSpec

Source§

impl NodeType for PublicationObjSpec

Source§

impl NodeType for PublicationTable

Source§

impl NodeType for RangeFunction

Source§

impl NodeType for RangeSubselect

Source§

impl NodeType for RangeTableFunc

Source§

impl NodeType for RangeTableFuncCol

Source§

impl NodeType for RangeTableSample

Source§

impl NodeType for RangeVar

Source§

impl NodeType for RawStmt

Source§

impl NodeType for ReassignOwnedStmt

Source§

impl NodeType for RefreshMatViewStmt

Source§

impl NodeType for ReindexStmt

Source§

impl NodeType for RenameStmt

Source§

impl NodeType for RepackStmt

Source§

impl NodeType for ReplicaIdentityStmt

Source§

impl NodeType for ResTarget

Source§

impl NodeType for ReturnStmt

Source§

impl NodeType for ReturningClause

Source§

impl NodeType for ReturningOption

Source§

impl NodeType for RoleSpec

Source§

impl NodeType for RowExpr

Source§

impl NodeType for RuleStmt

Source§

impl NodeType for SQLValueFunction

Source§

impl NodeType for SecLabelStmt

Source§

impl NodeType for SelectStmt

Source§

impl NodeType for SetToDefault

Source§

impl NodeType for SortBy

Source§

impl NodeType for StatsElem

Source§

impl NodeType for TableLikeClause

Source§

impl NodeType for TransactionStmt

Source§

impl NodeType for TriggerTransition

Source§

impl NodeType for TruncateStmt

Source§

impl NodeType for TypeCast

Source§

impl NodeType for TypeName

Source§

impl NodeType for UnlistenStmt

Source§

impl NodeType for UpdateStmt

Source§

impl NodeType for VacuumRelation

Source§

impl NodeType for VacuumStmt

Source§

impl NodeType for VariableSetStmt

Source§

impl NodeType for VariableShowStmt

Source§

impl NodeType for ViewStmt

Source§

impl NodeType for WaitStmt

Source§

impl NodeType for WindowDef

Source§

impl NodeType for WithClause

Source§

impl NodeType for XmlExpr

Source§

impl NodeType for XmlSerialize