Documentation ¶
Overview ¶
Package ast parses the clang AST output into AST structures.
Index ¶
- Constants
- Variables
- func Atos(node Node) string
- func FixPositions(nodes []Node)
- func TypesTree(node Node) (str string)
- type Address
- type AlignedAttr
- type AllocSizeAttr
- type AlwaysInlineAttr
- type ArrayFiller
- type ArraySubscriptExpr
- type AsmLabelAttr
- type AttributedType
- type AvailabilityAttr
- type BinaryOperator
- type BlockCommandComment
- type BreakStmt
- type BuiltinType
- type C11NoReturnAttr
- type CStyleCastExpr
- type CallExpr
- type CaseStmt
- type CharacterLiteral
- type CharacterLiteralError
- type CompoundAssignOperator
- type CompoundLiteralExpr
- type CompoundStmt
- type ConditionalOperator
- type ConstAttr
- type ConstantArrayType
- type ContinueStmt
- type DecayedType
- type DeclRefExpr
- type DeclStmt
- type DefaultStmt
- type DeprecatedAttr
- type DisableTailCallsAttr
- type DoStmt
- type ElaboratedType
- type EmptyDecl
- type Enum
- type EnumConstantDecl
- type EnumDecl
- type EnumType
- type Field
- type FieldDecl
- type FloatingLiteral
- type FloatingLiteralError
- type ForStmt
- type FormatArgAttr
- type FormatAttr
- type FullComment
- type FunctionDecl
- type FunctionProtoType
- type GCCAsmStmt
- type GotoStmt
- type HTMLEndTagComment
- type HTMLStartTagComment
- type IfStmt
- type ImplicitCastExpr
- type ImplicitValueInitExpr
- type IncompleteArrayType
- type IndirectFieldDecl
- type InitListExpr
- type InlineCommandComment
- type IntegerLiteral
- type LabelStmt
- type MallocAttr
- type MaxFieldAlignmentAttr
- type MemberExpr
- type ModeAttr
- type NoAliasAttr
- type NoInlineAttr
- type NoThrowAttr
- type Node
- type NonNullAttr
- type NotTailCalledAttr
- type OffsetOfExpr
- type PackedAttr
- type ParagraphComment
- type ParamCommandComment
- 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 SentinelAttr
- type StmtExpr
- type StringLiteral
- type SwitchStmt
- type TextComment
- type TranslationUnitDecl
- type TransparentUnionAttr
- type Typedef
- type TypedefDecl
- type TypedefType
- type UnaryExprOrTypeTraitExpr
- type UnaryOperator
- type UnusedAttr
- type VAArgExpr
- type VarDecl
- type VerbatimBlockComment
- type VerbatimBlockLineComment
- type VerbatimLineComment
- type VisibilityAttr
- type WarnUnusedResultAttr
- type WeakAttr
- type WhileStmt
Constants ¶
const ImplicitCastExprArrayToPointerDecay = "ArrayToPointerDecay"
ImplicitCastExprArrayToPointerDecay - constant
Variables ¶
var CStyleCastExprNullToPointer = "NullToPointer"
CStyleCastExprNullToPointer - string of kind NullToPointer
var CStyleCastExprToVoid = "ToVoid"
CStyleCastExprToVoid - string of kind ToVoid
var FunctionDeclRefExpr = "Function"
FunctionDeclRefExpr - value of DeclRefExpr.For for function
var PositionBuiltIn = "<built-in>"
PositionBuiltIn - default value for fix position
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 AllocSizeAttr ¶ added in v0.16.12
type AllocSizeAttr struct { Addr Address Pos Position Inherited bool A int B int ChildNodes []Node }
AllocSizeAttr is a type of attribute that is optionally attached to a variable or struct field definition.
func (*AllocSizeAttr) AddChild ¶ added in v0.16.12
func (n *AllocSizeAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*AllocSizeAttr) Address ¶ added in v0.16.12
func (n *AllocSizeAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*AllocSizeAttr) Children ¶ added in v0.16.12
func (n *AllocSizeAttr) 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 (*AllocSizeAttr) Position ¶ added in v0.16.12
func (n *AllocSizeAttr) 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
}
ArrayFiller is type of array filler
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 Type2 string IsLvalue bool ChildNodes []Node }
ArraySubscriptExpr is expression.
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 }
AsmLabelAttr is a type of attribute for assembler label
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 AttributedType ¶ added in v0.24.8
AttributedType is an attribute type
func (*AttributedType) AddChild ¶ added in v0.24.8
func (n *AttributedType) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*AttributedType) Address ¶ added in v0.24.8
func (n *AttributedType) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*AttributedType) Children ¶ added in v0.24.8
func (n *AttributedType) 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 (*AttributedType) Position ¶ added in v0.24.8
func (n *AttributedType) 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 }
AvailabilityAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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 Type2 string Operator string ChildNodes []Node }
BinaryOperator is type of binary operator
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 BlockCommandComment ¶ added in v0.21.0
BlockCommandComment is a type of comment
func (*BlockCommandComment) AddChild ¶ added in v0.21.0
func (n *BlockCommandComment) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*BlockCommandComment) Address ¶ added in v0.21.0
func (n *BlockCommandComment) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*BlockCommandComment) Children ¶ added in v0.21.0
func (n *BlockCommandComment) 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 (*BlockCommandComment) Position ¶ added in v0.21.0
func (n *BlockCommandComment) Position() Position
Position returns the position in the original source code.
type BreakStmt ¶
BreakStmt is node represent 'break'
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 ¶
BuiltinType is builtin type
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 C11NoReturnAttr ¶ added in v0.24.7
C11NoReturnAttr is a type of attribute that is optionally attached to a function with return type void.
func (*C11NoReturnAttr) AddChild ¶ added in v0.24.7
func (n *C11NoReturnAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*C11NoReturnAttr) Address ¶ added in v0.24.7
func (n *C11NoReturnAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*C11NoReturnAttr) Children ¶ added in v0.24.7
func (n *C11NoReturnAttr) 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 (*C11NoReturnAttr) Position ¶ added in v0.24.7
func (n *C11NoReturnAttr) Position() Position
Position returns the position in the original source code.
type CStyleCastExpr ¶
type CStyleCastExpr struct { Addr Address Pos Position Type string Type2 string Kind string ChildNodes []Node }
CStyleCastExpr is expression.
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 ¶
CallExpr is expression.
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
CaseStmt is node represent 'case'
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 ¶
CharacterLiteral is type of character literal
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 CharacterLiteralError ¶ added in v0.22.1
type CharacterLiteralError struct { Node *CharacterLiteral Err error }
CharacterLiteralError represents one instance of an error where the exact character value of a CharacterLiteral could not be determined from the original source. See RepairCharacterLiteralsFromSource for a full explanation.
func RepairCharacterLiteralsFromSource ¶ added in v0.22.1
func RepairCharacterLiteralsFromSource(rootNode Node, preprocessedFile string) []CharacterLiteralError
RepairCharacterLiteralsFromSource finds the exact values of character literals by reading their values directly from the preprocessed source.
This is to solve issue #663, sometime clang serializes hex encoded character literals as a weird number, e.g. '\xa0' => 4294967200
The only solution is to read the original character literal from the source code. We can do this by using the positional information on the node.
If the character literal cannot be resolved for any reason the original value will remain. This function will return all errors encountered.
type CompoundAssignOperator ¶ added in v0.10.4
type CompoundAssignOperator struct { Addr Address Pos Position Type string Opcode string ComputationLHSType string ComputationResultType string ChildNodes []Node }
CompoundAssignOperator is type of compound assign operator
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 CompoundLiteralExpr ¶ added in v0.16.13
type CompoundLiteralExpr struct { Addr Address Pos Position Type1 string Type2 string ChildNodes []Node }
CompoundLiteralExpr C99 6.5.2.5
func (*CompoundLiteralExpr) AddChild ¶ added in v0.16.13
func (n *CompoundLiteralExpr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*CompoundLiteralExpr) Address ¶ added in v0.16.13
func (n *CompoundLiteralExpr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*CompoundLiteralExpr) Children ¶ added in v0.16.13
func (n *CompoundLiteralExpr) 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 (*CompoundLiteralExpr) Position ¶ added in v0.16.13
func (n *CompoundLiteralExpr) 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 }
CompoundStmt is node represents a compound of nodes
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 ¶
ConditionalOperator is type of condition operator
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 ¶
ConstAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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 ¶
ConstantArrayType is constant array type
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
ContinueStmt is node represent 'continue'
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 DecayedType ¶ added in v0.22.0
DecayedType is pointer type
func (*DecayedType) AddChild ¶ added in v0.22.0
func (n *DecayedType) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*DecayedType) Address ¶ added in v0.22.0
func (n *DecayedType) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*DecayedType) Children ¶ added in v0.22.0
func (n *DecayedType) 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 (*DecayedType) Position ¶ added in v0.22.0
func (n *DecayedType) Position() Position
Position returns the position in the original source code.
type DeclRefExpr ¶
type DeclRefExpr struct { Addr Address Pos Position Type string Type1 string Lvalue bool For string Address2 string Name string Type2 string Type3 string ChildNodes []Node }
DeclRefExpr is expression.
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 ¶
DeclStmt is node represents a declaration in a statement list.
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
DefaultStmt is node represent 'default'
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 IsInherited bool ChildNodes []Node }
DeprecatedAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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 DisableTailCallsAttr ¶ added in v0.16.12
DisableTailCallsAttr is a type of attribute that is optionally attached to a variable or struct field definition.
func (*DisableTailCallsAttr) AddChild ¶ added in v0.16.12
func (n *DisableTailCallsAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*DisableTailCallsAttr) Address ¶ added in v0.16.12
func (n *DisableTailCallsAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*DisableTailCallsAttr) Children ¶ added in v0.16.12
func (n *DisableTailCallsAttr) 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 (*DisableTailCallsAttr) Position ¶ added in v0.16.12
func (n *DisableTailCallsAttr) Position() Position
Position returns the position in the original source code.
type DoStmt ¶ added in v0.9.0
DoStmt is node represent 'do'
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 ¶
ElaboratedType is elaborated type
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 EmptyDecl ¶ added in v0.17.4
EmptyDecl - element of AST
func (*EmptyDecl) AddChild ¶ added in v0.17.4
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*EmptyDecl) Address ¶ added in v0.17.4
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type Enum ¶
Enum struct
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 }
EnumConstantDecl is node represents a enum constant declaration.
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 ¶
EnumDecl is node represents a enum declaration.
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 ¶
EnumType is enum type
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 Field ¶ added in v0.15.1
Field struct
func (*Field) AddChild ¶ added in v0.15.1
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*Field) Address ¶ added in v0.15.1
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 Type2 string Implicit bool Referenced bool ChildNodes []Node }
FieldDecl is node represents a field declaration.
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 }
FloatingLiteral is type of float literal
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 FloatingLiteralError ¶ added in v0.15.1
type FloatingLiteralError struct { Node *FloatingLiteral Err error }
FloatingLiteralError represents one instance of an error where the exact floating point value of a FloatingLiteral could not be determined from the original source. See RepairFloatingLiteralsFromSource for a full explanation.
func RepairFloatingLiteralsFromSource ¶ added in v0.15.1
func RepairFloatingLiteralsFromSource(rootNode Node, preprocessedFile string) []FloatingLiteralError
RepairFloatingLiteralsFromSource finds the exact values of floating literals by reading their values directly from the preprocessed source.
The clang AST only serializes floating point values in scientific notation with 7 significant digits. This is not enough when dealing with precise numbers.
The only solution is to read the original floating literal from the source code. We can do this by using the positional information on the node.
If the floating literal cannot be resolved for any reason the original value will remain. This function will return all errors encountered.
type ForStmt ¶
ForStmt is node represent 'for'
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 FormatArgAttr ¶ added in v0.22.0
FormatArgAttr is a type of attribute that is optionally attached to a function definition.
func (*FormatArgAttr) AddChild ¶ added in v0.22.0
func (n *FormatArgAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*FormatArgAttr) Address ¶ added in v0.22.0
func (n *FormatArgAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*FormatArgAttr) Children ¶ added in v0.22.0
func (n *FormatArgAttr) 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 (*FormatArgAttr) Position ¶ added in v0.22.0
func (n *FormatArgAttr) Position() Position
Position returns the position in the original source code.
type FormatAttr ¶
type FormatAttr struct { Addr Address Pos Position Implicit bool Inherited bool FunctionName string Unknown1 int Unknown2 int ChildNodes []Node }
FormatAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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 FullComment ¶ added in v0.21.0
FullComment is a type of comment
func (*FullComment) AddChild ¶ added in v0.21.0
func (n *FullComment) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*FullComment) Address ¶ added in v0.21.0
func (n *FullComment) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*FullComment) Children ¶ added in v0.21.0
func (n *FullComment) 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 (*FullComment) Position ¶ added in v0.21.0
func (n *FullComment) Position() Position
Position returns the position in the original source code.
type FunctionDecl ¶
type FunctionDecl struct { Addr Address Pos Position Prev string Parent string Position2 string Name string Type string Type2 string IsExtern bool IsImplicit bool IsUsed bool IsReferenced bool IsStatic bool IsInline bool ChildNodes []Node }
FunctionDecl is node represents a function declaration.
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 ¶
FunctionProtoType is function proto type
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 GCCAsmStmt ¶ added in v0.16.1
GCCAsmStmt is node represent gcc assembler
func (*GCCAsmStmt) AddChild ¶ added in v0.16.1
func (n *GCCAsmStmt) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*GCCAsmStmt) Address ¶ added in v0.16.1
func (n *GCCAsmStmt) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*GCCAsmStmt) Children ¶ added in v0.16.1
func (n *GCCAsmStmt) 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 (*GCCAsmStmt) Position ¶ added in v0.16.1
func (n *GCCAsmStmt) Position() Position
Position returns the position in the original source code.
type GotoStmt ¶ added in v0.11.2
GotoStmt is node represent 'goto'
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 HTMLEndTagComment ¶ added in v0.21.0
HTMLEndTagComment is a type of comment
func (*HTMLEndTagComment) AddChild ¶ added in v0.21.0
func (n *HTMLEndTagComment) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*HTMLEndTagComment) Address ¶ added in v0.21.0
func (n *HTMLEndTagComment) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*HTMLEndTagComment) Children ¶ added in v0.21.0
func (n *HTMLEndTagComment) 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 (*HTMLEndTagComment) Position ¶ added in v0.21.0
func (n *HTMLEndTagComment) Position() Position
Position returns the position in the original source code.
type HTMLStartTagComment ¶ added in v0.21.0
HTMLStartTagComment is a type of comment
func (*HTMLStartTagComment) AddChild ¶ added in v0.21.0
func (n *HTMLStartTagComment) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*HTMLStartTagComment) Address ¶ added in v0.21.0
func (n *HTMLStartTagComment) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*HTMLStartTagComment) Children ¶ added in v0.21.0
func (n *HTMLStartTagComment) 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 (*HTMLStartTagComment) Position ¶ added in v0.21.0
func (n *HTMLStartTagComment) Position() Position
Position returns the position in the original source code.
type IfStmt ¶
IfStmt is node represent 'if'
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 Type2 string Kind string ChildNodes []Node }
ImplicitCastExpr is expression.
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 }
ImplicitValueInitExpr is expression
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
IncompleteArrayType is incomplete array type
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 }
IndirectFieldDecl is node represents a indirect field declaration.
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
InitListExpr is expression.
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 InlineCommandComment ¶ added in v0.21.1
InlineCommandComment is a type of comment
func (*InlineCommandComment) AddChild ¶ added in v0.21.1
func (n *InlineCommandComment) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*InlineCommandComment) Address ¶ added in v0.21.1
func (n *InlineCommandComment) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*InlineCommandComment) Children ¶ added in v0.21.1
func (n *InlineCommandComment) 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 (*InlineCommandComment) Position ¶ added in v0.21.1
func (n *InlineCommandComment) Position() Position
Position returns the position in the original source code.
type IntegerLiteral ¶
IntegerLiteral is type of integer literal
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
LabelStmt is node represent a label
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 ¶
MallocAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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
MaxFieldAlignmentAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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 }
MemberExpr is expression.
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 ¶
ModeAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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 NoAliasAttr ¶ added in v0.24.7
NoAliasAttr is a type of attribute that is optionally attached to a function declaration.
func (*NoAliasAttr) AddChild ¶ added in v0.24.7
func (n *NoAliasAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*NoAliasAttr) Address ¶ added in v0.24.7
func (n *NoAliasAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*NoAliasAttr) Children ¶ added in v0.24.7
func (n *NoAliasAttr) 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 (*NoAliasAttr) Position ¶ added in v0.24.7
func (n *NoAliasAttr) Position() Position
Position returns the position in the original source code.
type NoInlineAttr ¶ added in v0.11.2
NoInlineAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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 ¶
type NoThrowAttr struct { Addr Address Pos Position ChildNodes []Node Implicit bool Inherited bool }
NoThrowAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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 guaranteed order in which the nodes are returned.
type NonNullAttr ¶
type NonNullAttr struct { Addr Address Pos Position Inherited bool A int B int C int D int ChildNodes []Node }
NonNullAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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 NotTailCalledAttr ¶ added in v0.22.2
NotTailCalledAttr is a type of attribute that is optionally attached to function declaration.
func (*NotTailCalledAttr) AddChild ¶ added in v0.22.2
func (n *NotTailCalledAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*NotTailCalledAttr) Address ¶ added in v0.22.2
func (n *NotTailCalledAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*NotTailCalledAttr) Children ¶ added in v0.22.2
func (n *NotTailCalledAttr) 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 (*NotTailCalledAttr) Position ¶ added in v0.22.2
func (n *NotTailCalledAttr) Position() Position
Position returns the position in the original source code.
type OffsetOfExpr ¶ added in v0.11.2
OffsetOfExpr is expression.
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
PackedAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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 ParagraphComment ¶ added in v0.21.0
ParagraphComment is a type of comment
func (*ParagraphComment) AddChild ¶ added in v0.21.0
func (n *ParagraphComment) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ParagraphComment) Address ¶ added in v0.21.0
func (n *ParagraphComment) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*ParagraphComment) Children ¶ added in v0.21.0
func (n *ParagraphComment) 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 (*ParagraphComment) Position ¶ added in v0.21.0
func (n *ParagraphComment) Position() Position
Position returns the position in the original source code.
type ParamCommandComment ¶ added in v0.21.0
ParamCommandComment is a type of comment
func (*ParamCommandComment) AddChild ¶ added in v0.21.0
func (n *ParamCommandComment) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*ParamCommandComment) Address ¶ added in v0.21.0
func (n *ParamCommandComment) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*ParamCommandComment) Children ¶ added in v0.21.0
func (n *ParamCommandComment) 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 (*ParamCommandComment) Position ¶ added in v0.21.0
func (n *ParamCommandComment) Position() Position
Position returns the position in the original source code.
type ParenExpr ¶
type ParenExpr struct { Addr Address Pos Position Type string Type2 string Lvalue bool IsBitfield bool ChildNodes []Node }
ParenExpr is expression.
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
ParenType is paren type
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 IsReferenced bool IsRegister bool ChildNodes []Node }
ParmVarDecl is node represents a parameter of variable declaration.
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 ¶
PointerType is pointer type
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 }
Position is type of position in source code
func NewPositionFromString ¶ added in v0.15.0
func (Position) GetSimpleLocation ¶ added in v0.21.2
GetSimpleLocation - return a string like : "file:line" in according to position Example : " /tmp/1.c:200 "
type PredefinedExpr ¶
type PredefinedExpr struct { Addr Address Pos Position Type string Name string Lvalue bool ChildNodes []Node }
PredefinedExpr is expression.
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
PureAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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 ¶
QualType is qual type
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 ¶
Record struct
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 }
RecordDecl is node represents a record declaration.
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 ¶
RecordType is record type
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 ¶
RestrictAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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 ¶
ReturnStmt is node represent 'return'
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
type ReturnsTwiceAttr struct { Addr Address Pos Position ChildNodes []Node Inherited bool Implicit bool }
ReturnsTwiceAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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 SentinelAttr ¶ added in v0.18.7
SentinelAttr is a type of attribute that is optionally attached to a variable or struct field definition.
func (*SentinelAttr) AddChild ¶ added in v0.18.7
func (n *SentinelAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*SentinelAttr) Address ¶ added in v0.18.7
func (n *SentinelAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*SentinelAttr) Children ¶ added in v0.18.7
func (n *SentinelAttr) 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 (*SentinelAttr) Position ¶ added in v0.18.7
func (n *SentinelAttr) Position() Position
Position returns the position in the original source code.
type StmtExpr ¶ added in v0.16.2
StmtExpr is expression.
func (*StmtExpr) AddChild ¶ added in v0.16.2
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*StmtExpr) Address ¶ added in v0.16.2
Address returns the numeric address of the node. See the documentation for the Address type for more information.
type StringLiteral ¶
type StringLiteral struct { Addr Address Pos Position Type string Value string Lvalue bool ChildNodes []Node }
StringLiteral is type of string literal
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
SwitchStmt is node represent 'switch'
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 TextComment ¶ added in v0.21.0
TextComment is a type of comment
func (*TextComment) AddChild ¶ added in v0.21.0
func (n *TextComment) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*TextComment) Address ¶ added in v0.21.0
func (n *TextComment) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*TextComment) Children ¶ added in v0.21.0
func (n *TextComment) 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 (*TextComment) Position ¶ added in v0.21.0
func (n *TextComment) Position() Position
Position returns the position in the original source code.
type TranslationUnitDecl ¶
TranslationUnitDecl is node represents a translation unit declaration.
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
TransparentUnionAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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 ¶
Typedef struct
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 }
TypedefDecl is node represents a typedef declaration.
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 ¶
TypedefType is typedef type
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 Type3 string ChildNodes []Node }
UnaryExprOrTypeTraitExpr is expression.
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 Type2 string IsLvalue bool IsPrefix bool Operator string ChildNodes []Node }
UnaryOperator is type of unary operator
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
UnusedAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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
VAArgExpr is expression.
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 Parent Address Pos Position Position2 string Name string Type string Type2 string IsExtern bool IsUsed bool IsCInit bool IsReferenced bool IsStatic bool IsRegister bool ChildNodes []Node }
VarDecl is node represents a variable declaration.
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 VerbatimBlockComment ¶ added in v0.21.14
type VerbatimBlockComment struct { Addr Address Pos Position Name string CloseName string ChildNodes []Node }
VerbatimBlockComment is a type of comment
func (*VerbatimBlockComment) AddChild ¶ added in v0.21.14
func (n *VerbatimBlockComment) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*VerbatimBlockComment) Address ¶ added in v0.21.14
func (n *VerbatimBlockComment) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*VerbatimBlockComment) Children ¶ added in v0.21.14
func (n *VerbatimBlockComment) 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 (*VerbatimBlockComment) Position ¶ added in v0.21.14
func (n *VerbatimBlockComment) Position() Position
Position returns the position in the original source code.
type VerbatimBlockLineComment ¶ added in v0.21.14
VerbatimBlockLineComment is a type of comment
func (*VerbatimBlockLineComment) AddChild ¶ added in v0.21.14
func (n *VerbatimBlockLineComment) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*VerbatimBlockLineComment) Address ¶ added in v0.21.14
func (n *VerbatimBlockLineComment) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*VerbatimBlockLineComment) Children ¶ added in v0.21.14
func (n *VerbatimBlockLineComment) 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 (*VerbatimBlockLineComment) Position ¶ added in v0.21.14
func (n *VerbatimBlockLineComment) Position() Position
Position returns the position in the original source code.
type VerbatimLineComment ¶ added in v0.21.0
VerbatimLineComment is a type of comment
func (*VerbatimLineComment) AddChild ¶ added in v0.21.0
func (n *VerbatimLineComment) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*VerbatimLineComment) Address ¶ added in v0.21.0
func (n *VerbatimLineComment) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*VerbatimLineComment) Children ¶ added in v0.21.0
func (n *VerbatimLineComment) 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 (*VerbatimLineComment) Position ¶ added in v0.21.0
func (n *VerbatimLineComment) Position() Position
Position returns the position in the original source code.
type VisibilityAttr ¶ added in v0.17.5
type VisibilityAttr struct { Addr Address Pos Position ChildNodes []Node IsDefault bool IsInherited bool IsHidden bool }
VisibilityAttr contains information for a VisibilityAttr AST line.
func (*VisibilityAttr) AddChild ¶ added in v0.17.5
func (n *VisibilityAttr) AddChild(node Node)
AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.
func (*VisibilityAttr) Address ¶ added in v0.17.5
func (n *VisibilityAttr) Address() Address
Address returns the numeric address of the node. See the documentation for the Address type for more information.
func (*VisibilityAttr) Children ¶ added in v0.17.5
func (n *VisibilityAttr) 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 (*VisibilityAttr) Position ¶ added in v0.17.5
func (n *VisibilityAttr) Position() Position
Position returns the position in the original source code.
type WarnUnusedResultAttr ¶ added in v0.9.0
WarnUnusedResultAttr is a type of attribute that is optionally attached to a variable or struct field definition.
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 ¶
WhileStmt is node represent 'while'
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
- alloc_size_attr.go
- always_inline_attr.go
- array_filler.go
- array_subscript_expr.go
- asm_label_attr.go
- ast.go
- attributed_type.go
- availability_attr.go
- binary_operator.go
- block_command_comment.go
- break_stmt.go
- builtin_type.go
- c11_no_return_attr.go
- c_style_cast_expr.go
- call_expr.go
- case_stmt.go
- character_literal.go
- compound_assign_operator.go
- compound_literal_expr.go
- compound_stmt.go
- conditional_operator.go
- const_attr.go
- constant_array_type.go
- continue_stmt.go
- decayed_type.go
- decl_ref_expr.go
- decl_stmt.go
- default_stmt.go
- deprecated_attr.go
- disable_tail_calls_attr.go
- do_stmt.go
- elaborated_type.go
- empty_decl.go
- enum.go
- enum_constant_decl.go
- enum_decl.go
- enum_type.go
- field.go
- field_decl.go
- floating_literal.go
- for_stmt.go
- format_arg_attr.go
- format_attr.go
- full_comment.go
- function_decl.go
- function_proto_type.go
- gcc_asm_stmt.go
- go_stmt.go
- html_end_tag_comment.go
- html_start_tag_comment.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
- inline_command_comment.go
- integer_literal.go
- label_stmt.go
- malloc_attr.go
- max_field_alignment_attr.go
- member_expr.go
- mode_attr.go
- no_alias_attr.go
- no_inline_attr.go
- no_throw_attr.go
- non_null_attr.go
- not_tail_called_attr.go
- offset_of_expr.go
- packed_attr.go
- paragraph_comment.go
- param_command_comment.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
- sentinel_attr.go
- stmt_expr.go
- string_literal.go
- switch_stmt.go
- text_comment.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
- verbatim_block_comment.go
- verbatim_block_line_comment.go
- verbatim_line_comment.go
- visibility_attr.go
- warn_unused_result_attr.go
- weak_attr.go
- while_stmt.go