Documentation
¶
Overview ¶
Package ast parses the clang AST output into AST structures.
Index ¶
- func FixPositions(nodes []Node)
- type Address
- type AlignedAttr
- type AlwaysInlineAttr
- type ArrayFiller
- type ArraySubscriptExpr
- type AsmLabelAttr
- type AvailabilityAttr
- type BinaryOperator
- type BreakStmt
- type BuiltinType
- type CStyleCastExpr
- type CallExpr
- type CaseStmt
- type CharacterLiteral
- type CompoundAssignOperator
- type CompoundStmt
- type ConditionalOperator
- type ConstAttr
- type ConstantArrayType
- type ContinueStmt
- type DeclRefExpr
- type DeclStmt
- type DefaultStmt
- type DeprecatedAttr
- type DoStmt
- type ElaboratedType
- type Enum
- type EnumConstantDecl
- type EnumDecl
- type EnumType
- type FieldDecl
- type FloatingLiteral
- type ForStmt
- type FormatAttr
- type FunctionDecl
- type FunctionProtoType
- type GotoStmt
- type IfStmt
- type ImplicitCastExpr
- type ImplicitValueInitExpr
- type IncompleteArrayType
- type IndirectFieldDecl
- type InitListExpr
- type IntegerLiteral
- type LabelStmt
- type MallocAttr
- type MaxFieldAlignmentAttr
- type MemberExpr
- type ModeAttr
- type NoInlineAttr
- type NoThrowAttr
- type Node
- type NonNullAttr
- type OffsetOfExpr
- type PackedAttr
- type ParenExpr
- type ParenType
- type ParmVarDecl
- type PointerType
- type Position
- type PredefinedExpr
- type PureAttr
- type QualType
- type Record
- type RecordDecl
- type RecordType
- type RestrictAttr
- type ReturnStmt
- type ReturnsTwiceAttr
- type StringLiteral
- type SwitchStmt
- type TranslationUnitDecl
- type TransparentUnionAttr
- type Typedef
- type TypedefDecl
- type TypedefType
- type UnaryExprOrTypeTraitExpr
- type UnaryOperator
- type UnusedAttr
- type VAArgExpr
- type VarDecl
- type WarnUnusedResultAttr
- type WeakAttr
- type WhileStmt
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FixPositions ¶ added in v0.15.0
func FixPositions(nodes []Node)
Types ¶
type Address ¶ added in v0.15.0
type Address uint64
Address contains the memory address (originally outputted as a hexadecimal string) from the clang AST. The address are not predictable between run and are only useful for identifying nodes in a single AST.
The Address is used like a primary key when storing the tree as a flat structure.
func ParseAddress ¶ added in v0.15.0
ParseAddress returns the integer representation of the hexadecimal address (like 0x7f8a1d8ccfd0). If the address cannot be parsed, 0 is returned.
type AlignedAttr ¶ added in v0.11.2
AlignedAttr is a type of attribute that is optionally attached to a variable or struct field definition.
func (*AlignedAttr) AddChild ¶ added in v0.11.2
func (n *AlignedAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*AlignedAttr) Address ¶ added in v0.11.2
func (n *AlignedAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*AlignedAttr) Children ¶ added in v0.11.2
func (n *AlignedAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*AlignedAttr) Position ¶ added in v0.11.2
func (n *AlignedAttr) Position() Position
Position returns the position in the original source code.
type AlwaysInlineAttr ¶
AlwaysInlineAttr is a type of attribute that is optionally attached to a variable or struct field definition.
func (*AlwaysInlineAttr) AddChild ¶
func (n *AlwaysInlineAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*AlwaysInlineAttr) Address ¶
func (n *AlwaysInlineAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*AlwaysInlineAttr) Children ¶
func (n *AlwaysInlineAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*AlwaysInlineAttr) Position ¶
func (n *AlwaysInlineAttr) Position() Position
Position returns the position in the original source code.
type ArrayFiller ¶ added in v0.11.2
type ArrayFiller struct {
ChildNodes []Node
}
func (*ArrayFiller) AddChild ¶ added in v0.11.2
func (n *ArrayFiller) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ArrayFiller) Address ¶ added in v0.15.0
func (n *ArrayFiller) Address() Address
Address returns the numeric address of the node. For an ArrayFilter this will always be zero. See the documentation for the Address type for more information.
func (*ArrayFiller) Children ¶ added in v0.11.2
func (n *ArrayFiller) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*ArrayFiller) Position ¶ added in v0.15.0
func (n *ArrayFiller) Position() Position
Position returns the position in the original source code.
type ArraySubscriptExpr ¶
type ArraySubscriptExpr struct { Addr Address Pos Position Type string Kind string ChildNodes []Node }
func (*ArraySubscriptExpr) AddChild ¶
func (n *ArraySubscriptExpr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ArraySubscriptExpr) Address ¶
func (n *ArraySubscriptExpr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*ArraySubscriptExpr) Children ¶
func (n *ArraySubscriptExpr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*ArraySubscriptExpr) Position ¶
func (n *ArraySubscriptExpr) Position() Position
Position returns the position in the original source code.
type AsmLabelAttr ¶
type AsmLabelAttr struct { Addr Address Pos Position Inherited bool FunctionName string ChildNodes []Node }
func (*AsmLabelAttr) AddChild ¶
func (n *AsmLabelAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*AsmLabelAttr) Address ¶
func (n *AsmLabelAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*AsmLabelAttr) Children ¶
func (n *AsmLabelAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*AsmLabelAttr) Position ¶
func (n *AsmLabelAttr) Position() Position
Position returns the position in the original source code.
type AvailabilityAttr ¶
type AvailabilityAttr struct { Addr Address Pos Position OS string Version string Unknown1 float64 Unknown2 int Message1 string Message2 string IsInherited bool ChildNodes []Node }
func (*AvailabilityAttr) AddChild ¶
func (n *AvailabilityAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*AvailabilityAttr) Address ¶
func (n *AvailabilityAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*AvailabilityAttr) Children ¶
func (n *AvailabilityAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*AvailabilityAttr) Position ¶
func (n *AvailabilityAttr) Position() Position
Position returns the position in the original source code.
type BinaryOperator ¶
type BinaryOperator struct { Addr Address Pos Position Type string Operator string ChildNodes []Node }
func (*BinaryOperator) AddChild ¶
func (n *BinaryOperator) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*BinaryOperator) Address ¶
func (n *BinaryOperator) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*BinaryOperator) Children ¶
func (n *BinaryOperator) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*BinaryOperator) Position ¶
func (n *BinaryOperator) Position() Position
Position returns the position in the original source code.
type BreakStmt ¶
func (*BreakStmt) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*BreakStmt) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type BuiltinType ¶
func (*BuiltinType) AddChild ¶
func (n *BuiltinType) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*BuiltinType) Address ¶
func (n *BuiltinType) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*BuiltinType) Children ¶
func (n *BuiltinType) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*BuiltinType) Position ¶ added in v0.15.0
func (n *BuiltinType) Position() Position
Position returns the position in the original source code.
type CStyleCastExpr ¶
func (*CStyleCastExpr) AddChild ¶
func (n *CStyleCastExpr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*CStyleCastExpr) Address ¶
func (n *CStyleCastExpr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*CStyleCastExpr) Children ¶
func (n *CStyleCastExpr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*CStyleCastExpr) Position ¶
func (n *CStyleCastExpr) Position() Position
Position returns the position in the original source code.
type CallExpr ¶
func (*CallExpr) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*CallExpr) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type CaseStmt ¶ added in v0.9.2
func (*CaseStmt) AddChild ¶ added in v0.9.2
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*CaseStmt) Address ¶ added in v0.9.2
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type CharacterLiteral ¶
func (*CharacterLiteral) AddChild ¶
func (n *CharacterLiteral) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*CharacterLiteral) Address ¶
func (n *CharacterLiteral) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*CharacterLiteral) Children ¶
func (n *CharacterLiteral) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*CharacterLiteral) Position ¶
func (n *CharacterLiteral) Position() Position
Position returns the position in the original source code.
type CompoundAssignOperator ¶ added in v0.10.4
type CompoundAssignOperator struct { Addr Address Pos Position Type string Opcode string ComputationLHSType string ComputationResultType string ChildNodes []Node }
func (*CompoundAssignOperator) AddChild ¶ added in v0.10.4
func (n *CompoundAssignOperator) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*CompoundAssignOperator) Address ¶ added in v0.10.4
func (n *CompoundAssignOperator) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*CompoundAssignOperator) Children ¶ added in v0.10.4
func (n *CompoundAssignOperator) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*CompoundAssignOperator) Position ¶ added in v0.10.4
func (n *CompoundAssignOperator) Position() Position
Position returns the position in the original source code.
type CompoundStmt ¶
type CompoundStmt struct { Addr Address Pos Position ChildNodes []Node // TODO: remove this BelongsToSwitch bool }
func (*CompoundStmt) AddChild ¶
func (n *CompoundStmt) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*CompoundStmt) Address ¶
func (n *CompoundStmt) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*CompoundStmt) Children ¶
func (n *CompoundStmt) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*CompoundStmt) Position ¶
func (n *CompoundStmt) Position() Position
Position returns the position in the original source code.
type ConditionalOperator ¶
func (*ConditionalOperator) AddChild ¶
func (n *ConditionalOperator) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ConditionalOperator) Address ¶
func (n *ConditionalOperator) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*ConditionalOperator) Children ¶
func (n *ConditionalOperator) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*ConditionalOperator) Position ¶
func (n *ConditionalOperator) Position() Position
Position returns the position in the original source code.
type ConstAttr ¶
func (*ConstAttr) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ConstAttr) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type ConstantArrayType ¶
func (*ConstantArrayType) AddChild ¶
func (n *ConstantArrayType) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ConstantArrayType) Address ¶
func (n *ConstantArrayType) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*ConstantArrayType) Children ¶
func (n *ConstantArrayType) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*ConstantArrayType) Position ¶ added in v0.15.0
func (n *ConstantArrayType) Position() Position
Position returns the position in the original source code.
type ContinueStmt ¶ added in v0.10.2
func (*ContinueStmt) AddChild ¶ added in v0.10.2
func (n *ContinueStmt) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ContinueStmt) Address ¶ added in v0.10.2
func (n *ContinueStmt) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*ContinueStmt) Children ¶ added in v0.10.2
func (n *ContinueStmt) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*ContinueStmt) Position ¶ added in v0.10.2
func (n *ContinueStmt) Position() Position
Position returns the position in the original source code.
type DeclRefExpr ¶
type DeclRefExpr struct { Addr Address Pos Position Type string Lvalue bool For string Address2 string Name string Type2 string ChildNodes []Node }
func (*DeclRefExpr) AddChild ¶
func (n *DeclRefExpr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*DeclRefExpr) Address ¶
func (n *DeclRefExpr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*DeclRefExpr) Children ¶
func (n *DeclRefExpr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*DeclRefExpr) Position ¶
func (n *DeclRefExpr) Position() Position
Position returns the position in the original source code.
type DeclStmt ¶
func (*DeclStmt) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*DeclStmt) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type DefaultStmt ¶ added in v0.9.2
func (*DefaultStmt) AddChild ¶ added in v0.9.2
func (n *DefaultStmt) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*DefaultStmt) Address ¶ added in v0.9.2
func (n *DefaultStmt) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*DefaultStmt) Children ¶ added in v0.9.2
func (n *DefaultStmt) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*DefaultStmt) Position ¶ added in v0.9.2
func (n *DefaultStmt) Position() Position
Position returns the position in the original source code.
type DeprecatedAttr ¶
type DeprecatedAttr struct { Addr Address Pos Position Message1 string Message2 string ChildNodes []Node }
func (*DeprecatedAttr) AddChild ¶
func (n *DeprecatedAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*DeprecatedAttr) Address ¶
func (n *DeprecatedAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*DeprecatedAttr) Children ¶
func (n *DeprecatedAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*DeprecatedAttr) Position ¶
func (n *DeprecatedAttr) Position() Position
Position returns the position in the original source code.
type DoStmt ¶ added in v0.9.0
func (*DoStmt) AddChild ¶ added in v0.9.0
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*DoStmt) Address ¶ added in v0.9.0
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type ElaboratedType ¶
func (*ElaboratedType) AddChild ¶
func (n *ElaboratedType) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ElaboratedType) Address ¶
func (n *ElaboratedType) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*ElaboratedType) Children ¶
func (n *ElaboratedType) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*ElaboratedType) Position ¶ added in v0.15.0
func (n *ElaboratedType) Position() Position
Position returns the position in the original source code.
type Enum ¶
func (*Enum) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*Enum) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type EnumConstantDecl ¶
type EnumConstantDecl struct { Addr Address Pos Position Position2 string Referenced bool Name string Type string ChildNodes []Node }
func (*EnumConstantDecl) AddChild ¶
func (n *EnumConstantDecl) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*EnumConstantDecl) Address ¶
func (n *EnumConstantDecl) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*EnumConstantDecl) Children ¶
func (n *EnumConstantDecl) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*EnumConstantDecl) Position ¶
func (n *EnumConstantDecl) Position() Position
Position returns the position in the original source code.
type EnumDecl ¶
func (*EnumDecl) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*EnumDecl) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type EnumType ¶
func (*EnumType) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*EnumType) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type FieldDecl ¶
type FieldDecl struct { Addr Address Pos Position Position2 string Name string Type string Referenced bool ChildNodes []Node }
func (*FieldDecl) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*FieldDecl) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type FloatingLiteral ¶
type FloatingLiteral struct { Addr Address Pos Position Type string Value float64 ChildNodes []Node }
func (*FloatingLiteral) AddChild ¶
func (n *FloatingLiteral) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*FloatingLiteral) Address ¶
func (n *FloatingLiteral) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*FloatingLiteral) Children ¶
func (n *FloatingLiteral) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*FloatingLiteral) Position ¶
func (n *FloatingLiteral) Position() Position
Position returns the position in the original source code.
type ForStmt ¶
func (*ForStmt) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ForStmt) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type FormatAttr ¶
type FormatAttr struct { Addr Address Pos Position Implicit bool Inherited bool FunctionName string Unknown1 int Unknown2 int ChildNodes []Node }
func (*FormatAttr) AddChild ¶
func (n *FormatAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*FormatAttr) Address ¶
func (n *FormatAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*FormatAttr) Children ¶
func (n *FormatAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*FormatAttr) Position ¶
func (n *FormatAttr) Position() Position
Position returns the position in the original source code.
type FunctionDecl ¶
type FunctionDecl struct { Addr Address Pos Position Prev string Position2 string Name string Type string IsExtern bool IsImplicit bool IsUsed bool IsReferenced bool ChildNodes []Node }
func (*FunctionDecl) AddChild ¶
func (n *FunctionDecl) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*FunctionDecl) Address ¶
func (n *FunctionDecl) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*FunctionDecl) Children ¶
func (n *FunctionDecl) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*FunctionDecl) Position ¶
func (n *FunctionDecl) Position() Position
Position returns the position in the original source code.
type FunctionProtoType ¶
func (*FunctionProtoType) AddChild ¶
func (n *FunctionProtoType) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*FunctionProtoType) Address ¶
func (n *FunctionProtoType) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*FunctionProtoType) Children ¶
func (n *FunctionProtoType) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*FunctionProtoType) Position ¶ added in v0.15.0
func (n *FunctionProtoType) Position() Position
Position returns the position in the original source code.
type GotoStmt ¶ added in v0.11.2
func (*GotoStmt) AddChild ¶ added in v0.11.2
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*GotoStmt) Address ¶ added in v0.11.2
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type IfStmt ¶
func (*IfStmt) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*IfStmt) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type ImplicitCastExpr ¶
type ImplicitCastExpr struct { Addr Address Pos Position Type string Kind string ChildNodes []Node }
func (*ImplicitCastExpr) AddChild ¶
func (n *ImplicitCastExpr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ImplicitCastExpr) Address ¶
func (n *ImplicitCastExpr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*ImplicitCastExpr) Children ¶
func (n *ImplicitCastExpr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*ImplicitCastExpr) Position ¶
func (n *ImplicitCastExpr) Position() Position
Position returns the position in the original source code.
type ImplicitValueInitExpr ¶ added in v0.11.2
type ImplicitValueInitExpr struct { Addr Address Pos Position Type1 string Type2 string ChildNodes []Node }
func (*ImplicitValueInitExpr) AddChild ¶ added in v0.11.2
func (n *ImplicitValueInitExpr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ImplicitValueInitExpr) Address ¶ added in v0.11.2
func (n *ImplicitValueInitExpr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*ImplicitValueInitExpr) Children ¶ added in v0.11.2
func (n *ImplicitValueInitExpr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*ImplicitValueInitExpr) Position ¶ added in v0.11.2
func (n *ImplicitValueInitExpr) Position() Position
Position returns the position in the original source code.
type IncompleteArrayType ¶ added in v0.11.2
func (*IncompleteArrayType) AddChild ¶ added in v0.11.2
func (n *IncompleteArrayType) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*IncompleteArrayType) Address ¶ added in v0.11.2
func (n *IncompleteArrayType) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*IncompleteArrayType) Children ¶ added in v0.11.2
func (n *IncompleteArrayType) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*IncompleteArrayType) Position ¶ added in v0.15.0
func (n *IncompleteArrayType) Position() Position
Position returns the position in the original source code.
type IndirectFieldDecl ¶ added in v0.13.7
type IndirectFieldDecl struct { Addr Address Pos Position Position2 string Implicit bool Name string Type string ChildNodes []Node }
func (*IndirectFieldDecl) AddChild ¶ added in v0.13.7
func (n *IndirectFieldDecl) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*IndirectFieldDecl) Address ¶ added in v0.13.7
func (n *IndirectFieldDecl) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*IndirectFieldDecl) Children ¶ added in v0.13.7
func (n *IndirectFieldDecl) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*IndirectFieldDecl) Position ¶ added in v0.13.7
func (n *IndirectFieldDecl) Position() Position
Position returns the position in the original source code.
type InitListExpr ¶ added in v0.11.2
func (*InitListExpr) AddChild ¶ added in v0.11.2
func (n *InitListExpr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*InitListExpr) Address ¶ added in v0.11.2
func (n *InitListExpr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*InitListExpr) Children ¶ added in v0.11.2
func (n *InitListExpr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*InitListExpr) Position ¶ added in v0.11.2
func (n *InitListExpr) Position() Position
Position returns the position in the original source code.
type IntegerLiteral ¶
func (*IntegerLiteral) AddChild ¶
func (n *IntegerLiteral) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*IntegerLiteral) Address ¶
func (n *IntegerLiteral) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*IntegerLiteral) Children ¶
func (n *IntegerLiteral) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*IntegerLiteral) Position ¶
func (n *IntegerLiteral) Position() Position
Position returns the position in the original source code.
type LabelStmt ¶ added in v0.11.2
func (*LabelStmt) AddChild ¶ added in v0.11.2
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*LabelStmt) Address ¶ added in v0.11.2
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type MallocAttr ¶
func (*MallocAttr) AddChild ¶
func (n *MallocAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*MallocAttr) Address ¶
func (n *MallocAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*MallocAttr) Children ¶
func (n *MallocAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*MallocAttr) Position ¶
func (n *MallocAttr) Position() Position
Position returns the position in the original source code.
type MaxFieldAlignmentAttr ¶ added in v0.11.2
func (*MaxFieldAlignmentAttr) AddChild ¶ added in v0.11.2
func (n *MaxFieldAlignmentAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*MaxFieldAlignmentAttr) Address ¶ added in v0.11.2
func (n *MaxFieldAlignmentAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*MaxFieldAlignmentAttr) Children ¶ added in v0.11.2
func (n *MaxFieldAlignmentAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*MaxFieldAlignmentAttr) Position ¶ added in v0.11.2
func (n *MaxFieldAlignmentAttr) Position() Position
Position returns the position in the original source code.
type MemberExpr ¶
type MemberExpr struct { Addr Address Pos Position Type string Type2 string Name string IsLvalue bool IsBitfield bool Address2 string IsPointer bool ChildNodes []Node }
func (*MemberExpr) AddChild ¶
func (n *MemberExpr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*MemberExpr) Address ¶
func (n *MemberExpr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*MemberExpr) Children ¶
func (n *MemberExpr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*MemberExpr) GetDeclRefExpr ¶ added in v0.13.3
func (n *MemberExpr) GetDeclRefExpr() *DeclRefExpr
GetDeclRefExpr gets DeclRefExpr from MemberExpr, or nil if there is no DeclRefExpr
func (*MemberExpr) Position ¶
func (n *MemberExpr) Position() Position
Position returns the position in the original source code.
type ModeAttr ¶
func (*ModeAttr) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ModeAttr) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type NoInlineAttr ¶ added in v0.11.2
func (*NoInlineAttr) AddChild ¶ added in v0.11.2
func (n *NoInlineAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*NoInlineAttr) Address ¶ added in v0.11.2
func (n *NoInlineAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*NoInlineAttr) Children ¶ added in v0.11.2
func (n *NoInlineAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*NoInlineAttr) Position ¶ added in v0.11.2
func (n *NoInlineAttr) Position() Position
Position returns the position in the original source code.
type NoThrowAttr ¶
func (*NoThrowAttr) AddChild ¶
func (n *NoThrowAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*NoThrowAttr) Address ¶
func (n *NoThrowAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*NoThrowAttr) Children ¶
func (n *NoThrowAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*NoThrowAttr) Position ¶
func (n *NoThrowAttr) Position() Position
Position returns the position in the original source code.
type Node ¶
Node represents any node in the AST.
func GetAllNodesOfType ¶ added in v0.13.7
GetAllNodesOfType returns all of the nodes of the tree that match the type provided. The type should be a pointer to an object in the ast package.
The nodes returned may reference each other and there is no guarenteed order in which the nodes are returned.
type NonNullAttr ¶
func (*NonNullAttr) AddChild ¶
func (n *NonNullAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*NonNullAttr) Address ¶
func (n *NonNullAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*NonNullAttr) Children ¶
func (n *NonNullAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*NonNullAttr) Position ¶
func (n *NonNullAttr) Position() Position
Position returns the position in the original source code.
type OffsetOfExpr ¶ added in v0.11.2
func (*OffsetOfExpr) AddChild ¶ added in v0.11.2
func (n *OffsetOfExpr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*OffsetOfExpr) Address ¶ added in v0.11.2
func (n *OffsetOfExpr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*OffsetOfExpr) Children ¶ added in v0.11.2
func (n *OffsetOfExpr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*OffsetOfExpr) Position ¶ added in v0.11.2
func (n *OffsetOfExpr) Position() Position
Position returns the position in the original source code.
type PackedAttr ¶ added in v0.11.2
func (*PackedAttr) AddChild ¶ added in v0.11.2
func (n *PackedAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*PackedAttr) Address ¶ added in v0.11.2
func (n *PackedAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*PackedAttr) Children ¶ added in v0.11.2
func (n *PackedAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*PackedAttr) Position ¶ added in v0.11.2
func (n *PackedAttr) Position() Position
Position returns the position in the original source code.
type ParenExpr ¶
func (*ParenExpr) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ParenExpr) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type ParenType ¶ added in v0.9.0
func (*ParenType) AddChild ¶ added in v0.9.0
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ParenType) Address ¶ added in v0.9.0
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type ParmVarDecl ¶
type ParmVarDecl struct { Addr Address Pos Position Position2 string Name string Type string Type2 string IsUsed bool ChildNodes []Node }
func (*ParmVarDecl) AddChild ¶
func (n *ParmVarDecl) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ParmVarDecl) Address ¶
func (n *ParmVarDecl) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*ParmVarDecl) Children ¶
func (n *ParmVarDecl) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*ParmVarDecl) Position ¶
func (n *ParmVarDecl) Position() Position
Position returns the position in the original source code.
type PointerType ¶
func (*PointerType) AddChild ¶
func (n *PointerType) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*PointerType) Address ¶
func (n *PointerType) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*PointerType) Children ¶
func (n *PointerType) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*PointerType) Position ¶ added in v0.15.0
func (n *PointerType) Position() Position
Position returns the position in the original source code.
type Position ¶ added in v0.11.3
type Position struct { File string // The relative or absolute file path. Line int // Start line LineEnd int // End line Column int // Start column ColumnEnd int // End column // This is the original string that was converted. This is used for // debugging. We could derive this value from the other properties to save // on a bit of memory, but let worry about that later. StringValue string }
func NewPositionFromString ¶ added in v0.15.0
type PredefinedExpr ¶
type PredefinedExpr struct { Addr Address Pos Position Type string Name string Lvalue bool ChildNodes []Node }
func (*PredefinedExpr) AddChild ¶
func (n *PredefinedExpr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*PredefinedExpr) Address ¶
func (n *PredefinedExpr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*PredefinedExpr) Children ¶
func (n *PredefinedExpr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*PredefinedExpr) Position ¶
func (n *PredefinedExpr) Position() Position
Position returns the position in the original source code.
type PureAttr ¶ added in v0.9.0
func (*PureAttr) AddChild ¶ added in v0.9.0
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*PureAttr) Address ¶ added in v0.9.0
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type QualType ¶
func (*QualType) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*QualType) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type Record ¶
func (*Record) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*Record) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type RecordDecl ¶
type RecordDecl struct { Addr Address Pos Position Prev string Position2 string Kind string Name string Definition bool ChildNodes []Node }
func (*RecordDecl) AddChild ¶
func (n *RecordDecl) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*RecordDecl) Address ¶
func (n *RecordDecl) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*RecordDecl) Children ¶
func (n *RecordDecl) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*RecordDecl) Position ¶
func (n *RecordDecl) Position() Position
Position returns the position in the original source code.
type RecordType ¶
func (*RecordType) AddChild ¶
func (n *RecordType) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*RecordType) Address ¶
func (n *RecordType) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*RecordType) Children ¶
func (n *RecordType) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*RecordType) Position ¶ added in v0.15.0
func (n *RecordType) Position() Position
Position returns the position in the original source code.
type RestrictAttr ¶
func (*RestrictAttr) AddChild ¶
func (n *RestrictAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*RestrictAttr) Address ¶
func (n *RestrictAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*RestrictAttr) Children ¶
func (n *RestrictAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*RestrictAttr) Position ¶
func (n *RestrictAttr) Position() Position
Position returns the position in the original source code.
type ReturnStmt ¶
func (*ReturnStmt) AddChild ¶
func (n *ReturnStmt) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ReturnStmt) Address ¶
func (n *ReturnStmt) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*ReturnStmt) Children ¶
func (n *ReturnStmt) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*ReturnStmt) Position ¶
func (n *ReturnStmt) Position() Position
Position returns the position in the original source code.
type ReturnsTwiceAttr ¶ added in v0.11.2
func (*ReturnsTwiceAttr) AddChild ¶ added in v0.11.2
func (n *ReturnsTwiceAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ReturnsTwiceAttr) Address ¶ added in v0.11.2
func (n *ReturnsTwiceAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*ReturnsTwiceAttr) Children ¶ added in v0.11.2
func (n *ReturnsTwiceAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*ReturnsTwiceAttr) Position ¶ added in v0.11.2
func (n *ReturnsTwiceAttr) Position() Position
Position returns the position in the original source code.
type StringLiteral ¶
type StringLiteral struct { Addr Address Pos Position Type string Value string Lvalue bool ChildNodes []Node }
func (*StringLiteral) AddChild ¶
func (n *StringLiteral) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*StringLiteral) Address ¶
func (n *StringLiteral) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*StringLiteral) Children ¶
func (n *StringLiteral) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*StringLiteral) Position ¶
func (n *StringLiteral) Position() Position
Position returns the position in the original source code.
type SwitchStmt ¶ added in v0.9.2
func (*SwitchStmt) AddChild ¶ added in v0.9.2
func (n *SwitchStmt) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*SwitchStmt) Address ¶ added in v0.9.2
func (n *SwitchStmt) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*SwitchStmt) Children ¶ added in v0.9.2
func (n *SwitchStmt) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*SwitchStmt) Position ¶ added in v0.9.2
func (n *SwitchStmt) Position() Position
Position returns the position in the original source code.
type TranslationUnitDecl ¶
func (*TranslationUnitDecl) AddChild ¶
func (n *TranslationUnitDecl) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*TranslationUnitDecl) Address ¶
func (n *TranslationUnitDecl) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*TranslationUnitDecl) Children ¶
func (n *TranslationUnitDecl) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*TranslationUnitDecl) Position ¶ added in v0.15.0
func (n *TranslationUnitDecl) Position() Position
Position returns the position in the original source code.
type TransparentUnionAttr ¶ added in v0.9.0
func (*TransparentUnionAttr) AddChild ¶ added in v0.9.0
func (n *TransparentUnionAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*TransparentUnionAttr) Address ¶ added in v0.9.0
func (n *TransparentUnionAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*TransparentUnionAttr) Children ¶ added in v0.9.0
func (n *TransparentUnionAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*TransparentUnionAttr) Position ¶ added in v0.9.0
func (n *TransparentUnionAttr) Position() Position
Position returns the position in the original source code.
type Typedef ¶
func (*Typedef) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*Typedef) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type TypedefDecl ¶
type TypedefDecl struct { Addr Address Pos Position Position2 string Name string Type string Type2 string IsImplicit bool IsReferenced bool ChildNodes []Node }
func (*TypedefDecl) AddChild ¶
func (n *TypedefDecl) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*TypedefDecl) Address ¶
func (n *TypedefDecl) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*TypedefDecl) Children ¶
func (n *TypedefDecl) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*TypedefDecl) Position ¶
func (n *TypedefDecl) Position() Position
Position returns the position in the original source code.
type TypedefType ¶
func (*TypedefType) AddChild ¶
func (n *TypedefType) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*TypedefType) Address ¶
func (n *TypedefType) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*TypedefType) Children ¶
func (n *TypedefType) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*TypedefType) Position ¶ added in v0.15.0
func (n *TypedefType) Position() Position
Position returns the position in the original source code.
type UnaryExprOrTypeTraitExpr ¶ added in v0.11.0
type UnaryExprOrTypeTraitExpr struct { Addr Address Pos Position Type1 string Function string Type2 string ChildNodes []Node }
func (*UnaryExprOrTypeTraitExpr) AddChild ¶ added in v0.11.0
func (n *UnaryExprOrTypeTraitExpr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*UnaryExprOrTypeTraitExpr) Address ¶ added in v0.11.0
func (n *UnaryExprOrTypeTraitExpr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*UnaryExprOrTypeTraitExpr) Children ¶ added in v0.11.0
func (n *UnaryExprOrTypeTraitExpr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*UnaryExprOrTypeTraitExpr) Position ¶ added in v0.11.0
func (n *UnaryExprOrTypeTraitExpr) Position() Position
Position returns the position in the original source code.
type UnaryOperator ¶
type UnaryOperator struct { Addr Address Pos Position Type string IsLvalue bool IsPrefix bool Operator string ChildNodes []Node }
func (*UnaryOperator) AddChild ¶
func (n *UnaryOperator) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*UnaryOperator) Address ¶
func (n *UnaryOperator) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*UnaryOperator) Children ¶
func (n *UnaryOperator) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*UnaryOperator) Position ¶
func (n *UnaryOperator) Position() Position
Position returns the position in the original source code.
type UnusedAttr ¶ added in v0.14.0
func (*UnusedAttr) AddChild ¶ added in v0.14.0
func (n *UnusedAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*UnusedAttr) Address ¶ added in v0.14.0
func (n *UnusedAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*UnusedAttr) Children ¶ added in v0.14.0
func (n *UnusedAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*UnusedAttr) Position ¶ added in v0.14.0
func (n *UnusedAttr) Position() Position
Position returns the position in the original source code.
type VAArgExpr ¶ added in v0.11.2
func (*VAArgExpr) AddChild ¶ added in v0.11.2
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*VAArgExpr) Address ¶ added in v0.11.2
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type VarDecl ¶
type VarDecl struct { Addr Address Pos Position Position2 string Name string Type string Type2 string IsExtern bool IsUsed bool IsCInit bool IsReferenced bool ChildNodes []Node }
func (*VarDecl) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*VarDecl) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type WarnUnusedResultAttr ¶ added in v0.9.0
func (*WarnUnusedResultAttr) AddChild ¶ added in v0.9.0
func (n *WarnUnusedResultAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*WarnUnusedResultAttr) Address ¶ added in v0.9.0
func (n *WarnUnusedResultAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*WarnUnusedResultAttr) Children ¶ added in v0.9.0
func (n *WarnUnusedResultAttr) Children() []Node
Children returns the child nodes. If this node does not have any children or this node does not support children it will always return an empty slice.
func (*WarnUnusedResultAttr) Position ¶ added in v0.9.0
func (n *WarnUnusedResultAttr) Position() Position
Position returns the position in the original source code.
type WeakAttr ¶ added in v0.13.3
WeakAttr for the WeakAttr node
func (*WeakAttr) Address ¶ added in v0.13.3
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type WhileStmt ¶
func (*WhileStmt) AddChild ¶
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*WhileStmt) Address ¶
Address returns the numeric address of the node. See the documentation for the Address type for more information.
Source Files
¶
- aligned_attr.go
- always_inline_attr.go
- array_filler.go
- array_subscript_expr.go
- asm_label_attr.go
- ast.go
- availability_attr.go
- binary_operator.go
- break_stmt.go
- builtin_type.go
- c_style_cast_expr.go
- call_expr.go
- case_stmt.go
- character_literal.go
- compound_assign_operator.go
- compound_stmt.go
- conditional_operator.go
- const_attr.go
- constant_array_type.go
- continue_stmt.go
- decl_ref_expr.go
- decl_stmt.go
- default_stmt.go
- deprecated_attr.go
- do_stmt.go
- elaborated_type.go
- enum.go
- enum_constant_decl.go
- enum_decl.go
- enum_type.go
- field_decl.go
- floating_literal.go
- for_stmt.go
- format_attr.go
- function_decl.go
- function_proto_type.go
- go_stmt.go
- if_stmt.go
- implicit_cast_expr.go
- implicit_value_init_expr.go
- incomplete_array_type.go
- indirect_field_decl.go
- init_list_expr.go
- integer_literal.go
- label_stmt.go
- malloc_attr.go
- max_field_alignment_attr.go
- member_expr.go
- mode_attr.go
- no_inline_attr.go
- no_throw_attr.go
- non_null_attr.go
- offset_of_expr.go
- packed_attr.go
- paren_expr.go
- paren_type.go
- parm_var_decl.go
- pointer_type.go
- position.go
- predefined_expr.go
- pure_attr.go
- qual_type.go
- record.go
- record_decl.go
- record_type.go
- restrict_attr.go
- return_stmt.go
- returns_twice_attr.go
- string_literal.go
- switch_stmt.go
- translation_unit_decl.go
- transparent_union_attr.go
- traverse.go
- typedef.go
- typedef_decl.go
- typedef_type.go
- unary_expr_or_type_trait_expr.go
- unary_operator.go
- unused_attr.go
- util.go
- va_arg_expr.go
- var_decl.go
- warn_unused_result_attr.go
- weak_attr.go
- while_stmt.go