ast

package
v0.0.0-...-c211321 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 16, 2021 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package ast parses the clang AST output into AST structures.

Index

Constants

View Source
const ImplicitCastExprArrayToPointerDecay = "ArrayToPointerDecay"

ImplicitCastExprArrayToPointerDecay - constant

Variables

View Source
var (
	TrackPositions bool = false
	Debug               = false
)
View Source
var CStyleCastExprNullToPointer = "NullToPointer"

CStyleCastExprNullToPointer - string of kind NullToPointer

View Source
var CStyleCastExprToVoid = "ToVoid"

CStyleCastExprToVoid - string of kind ToVoid

View Source
var FunctionDeclRefExpr = "Function"

FunctionDeclRefExpr - value of DeclRefExpr.For for function

Functions

func Atos

func Atos(node Node) string

Atos - ASTree to string Typically using for debug

func TypesTree

func TypesTree(node Node) (str string)

TypesTree - return tree of types for AST node

Types

type Address

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

func ParseAddress(address string) Address

ParseAddress returns the integer representation of the hexadecimal address (like 0x7f8a1d8ccfd0). If the address cannot be parsed, 0 is returned.

type AlignedAttr

type AlignedAttr struct {
	Addr       Address
	Pos        Position
	IsAligned  bool
	ChildNodes []Node
}

AlignedAttr is a type of attribute that is optionally attached to a variable or struct field definition.

func (*AlignedAttr) AddChild

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

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

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

func (n *AlignedAttr) Position() Position

Position returns the position in the original source code.

type AllocSizeAttr

type AllocSizeAttr struct {
	Addr       Address
	Pos        Position
	Inherited  bool
	A          string
	B          string
	ChildNodes []Node
}

AllocSizeAttr is a type of attribute that is optionally attached to a variable or struct field definition.

func (*AllocSizeAttr) AddChild

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

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

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

func (n *AllocSizeAttr) Position() Position

Position returns the position in the original source code.

type AlwaysInlineAttr

type AlwaysInlineAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

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 ArcWeakrefUnavailableAttr

type ArcWeakrefUnavailableAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

ArcWeakrefUnavailableAttr

func (*ArcWeakrefUnavailableAttr) AddChild

func (n *ArcWeakrefUnavailableAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ArcWeakrefUnavailableAttr) Address

func (n *ArcWeakrefUnavailableAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ArcWeakrefUnavailableAttr) Children

func (n *ArcWeakrefUnavailableAttr) 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 (*ArcWeakrefUnavailableAttr) Position

func (n *ArcWeakrefUnavailableAttr) Position() Position

Position returns the position in the original source code.

type ArrayFiller

type ArrayFiller struct {
	ChildNodes []Node
}

ArrayFiller is type of array filler

func (*ArrayFiller) AddChild

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

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

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

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
	IsVectorComponent 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
	LiteralLabel 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

type AttributedType struct {
	Addr       Address
	Type       string
	Sugar      bool
	ChildNodes []Node
}

AttributedType is attributed type

func (*AttributedType) AddChild

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

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

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

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      string
	Unknown2      string
	Unknown3      string
	IsUnavailable bool
	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

type BlockCommandComment struct {
	Addr       Address
	Pos        Position
	Name       string
	ChildNodes []Node
}

BlockCommandComment is a type of comment

func (*BlockCommandComment) AddChild

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

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

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

func (n *BlockCommandComment) Position() Position

Position returns the position in the original source code.

type BlockPointerType

type BlockPointerType struct {
	Addr       Address
	Type       string
	ChildNodes []Node
}

BlockPointerType is block pointer type

func (*BlockPointerType) AddChild

func (n *BlockPointerType) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*BlockPointerType) Address

func (n *BlockPointerType) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*BlockPointerType) Children

func (n *BlockPointerType) 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 (*BlockPointerType) Position

func (n *BlockPointerType) Position() Position

Position returns the position in the original source code.

type BreakStmt

type BreakStmt struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

BreakStmt is node represent 'break'

func (*BreakStmt) AddChild

func (n *BreakStmt) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*BreakStmt) Address

func (n *BreakStmt) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*BreakStmt) Children

func (n *BreakStmt) 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 (*BreakStmt) Position

func (n *BreakStmt) Position() Position

Position returns the position in the original source code.

type BuiltinAttr

type BuiltinAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
	Implicit   bool
	Inherited  bool
	Value      string
}

BuiltinAttr is a type of attribute that is optionally attached to a variable or struct field definition.

func (*BuiltinAttr) AddChild

func (n *BuiltinAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*BuiltinAttr) Address

func (n *BuiltinAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*BuiltinAttr) Children

func (n *BuiltinAttr) 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 (*BuiltinAttr) Position

func (n *BuiltinAttr) Position() Position

Position returns the position in the original source code.

type BuiltinType

type BuiltinType struct {
	Addr       Address
	Type       string
	ChildNodes []Node
}

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

func (n *BuiltinType) Position() Position

Position returns the position in the original source code.

type CFAuditedTransferAttr

type CFAuditedTransferAttr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

CFAuditedTransferAttr

func (*CFAuditedTransferAttr) AddChild

func (n *CFAuditedTransferAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*CFAuditedTransferAttr) Address

func (n *CFAuditedTransferAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*CFAuditedTransferAttr) Children

func (n *CFAuditedTransferAttr) 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 (*CFAuditedTransferAttr) Position

func (n *CFAuditedTransferAttr) Position() Position

Position returns the position in the original source code.

type CFConsumedAttr

type CFConsumedAttr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

CFConsumedAttr

func (*CFConsumedAttr) AddChild

func (n *CFConsumedAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*CFConsumedAttr) Address

func (n *CFConsumedAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*CFConsumedAttr) Children

func (n *CFConsumedAttr) 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 (*CFConsumedAttr) Position

func (n *CFConsumedAttr) Position() Position

Position returns the position in the original source code.

type CFReturnsNotRetainedAttr

type CFReturnsNotRetainedAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

CFReturnsNotRetainedAttr

func (*CFReturnsNotRetainedAttr) AddChild

func (n *CFReturnsNotRetainedAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*CFReturnsNotRetainedAttr) Address

func (n *CFReturnsNotRetainedAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*CFReturnsNotRetainedAttr) Children

func (n *CFReturnsNotRetainedAttr) 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 (*CFReturnsNotRetainedAttr) Position

func (n *CFReturnsNotRetainedAttr) Position() Position

Position returns the position in the original source code.

type CFReturnsRetainedAttr

type CFReturnsRetainedAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

CFReturnsRetainedAttr

func (*CFReturnsRetainedAttr) AddChild

func (n *CFReturnsRetainedAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*CFReturnsRetainedAttr) Address

func (n *CFReturnsRetainedAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*CFReturnsRetainedAttr) Children

func (n *CFReturnsRetainedAttr) 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 (*CFReturnsRetainedAttr) Position

func (n *CFReturnsRetainedAttr) 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

type CallExpr struct {
	Addr       Address
	Pos        Position
	Type       string
	ChildNodes []Node
}

CallExpr is expression.

func (*CallExpr) AddChild

func (n *CallExpr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*CallExpr) Address

func (n *CallExpr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*CallExpr) Children

func (n *CallExpr) 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 (*CallExpr) Position

func (n *CallExpr) Position() Position

Position returns the position in the original source code.

type CaseStmt

type CaseStmt struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

CaseStmt is node represent 'case'

func (*CaseStmt) AddChild

func (n *CaseStmt) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*CaseStmt) Address

func (n *CaseStmt) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*CaseStmt) Children

func (n *CaseStmt) 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 (*CaseStmt) Position

func (n *CaseStmt) Position() Position

Position returns the position in the original source code.

type CharacterLiteral

type CharacterLiteral struct {
	Addr       Address
	Pos        Position
	Type       string
	Value      int
	ChildNodes []Node
}

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 ColdAttr

type ColdAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

ColdAttr is a type of attribute that is optionally attached to function declaration.

func (*ColdAttr) AddChild

func (n *ColdAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ColdAttr) Address

func (n *ColdAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ColdAttr) Children

func (n *ColdAttr) 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 (*ColdAttr) Position

func (n *ColdAttr) Position() Position

Position returns the position in the original source code.

type CompoundAssignOperator

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

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

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

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

func (n *CompoundAssignOperator) Position() Position

Position returns the position in the original source code.

type CompoundLiteralExpr

type CompoundLiteralExpr struct {
	Addr       Address
	Pos        Position
	Type1      string
	Type2      string
	ChildNodes []Node
}

CompoundLiteralExpr C99 6.5.2.5

func (*CompoundLiteralExpr) AddChild

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

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

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

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

type ConditionalOperator struct {
	Addr       Address
	Pos        Position
	Type       string
	ChildNodes []Node
}

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

type ConstAttr struct {
	Addr       Address
	Pos        Position
	Tags       string
	ChildNodes []Node
}

ConstAttr is a type of attribute that is optionally attached to a variable or struct field definition.

func (*ConstAttr) AddChild

func (n *ConstAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ConstAttr) Address

func (n *ConstAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ConstAttr) Children

func (n *ConstAttr) 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 (*ConstAttr) Position

func (n *ConstAttr) Position() Position

Position returns the position in the original source code.

type ConstantArrayType

type ConstantArrayType struct {
	Addr       Address
	Type       string
	Size       int
	ChildNodes []Node
}

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

func (n *ConstantArrayType) Position() Position

Position returns the position in the original source code.

type ConstantExpr

type ConstantExpr struct {
	Addr       Address
	Pos        Position
	Type       string
	Type2      string
	Extra      string
	ChildNodes []Node
}

ConstantExpr is expression.

func (*ConstantExpr) AddChild

func (n *ConstantExpr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ConstantExpr) Address

func (n *ConstantExpr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ConstantExpr) Children

func (n *ConstantExpr) 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 (*ConstantExpr) Position

func (n *ConstantExpr) Position() Position

Position returns the position in the original source code.

type ContinueStmt

type ContinueStmt struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

ContinueStmt is node represent 'continue'

func (*ContinueStmt) AddChild

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

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

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

func (n *ContinueStmt) Position() Position

Position returns the position in the original source code.

type ConvertVectorExpr

type ConvertVectorExpr struct {
	Addr       Address
	Pos        Position
	Type       string
	Type2      string
	ChildNodes []Node
}

ConvertVectorExpr

func (*ConvertVectorExpr) AddChild

func (n *ConvertVectorExpr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ConvertVectorExpr) Address

func (n *ConvertVectorExpr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ConvertVectorExpr) Children

func (n *ConvertVectorExpr) 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 (*ConvertVectorExpr) Position

func (n *ConvertVectorExpr) Position() Position

Position returns the position in the original source code.

type DecayedType

type DecayedType struct {
	Addr       Address
	Type       string
	ChildNodes []Node
}

DecayedType is pointer type

func (*DecayedType) AddChild

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

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

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

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

type DeclStmt struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

DeclStmt is node represents a declaration in a statement list.

func (*DeclStmt) AddChild

func (n *DeclStmt) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*DeclStmt) Address

func (n *DeclStmt) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*DeclStmt) Children

func (n *DeclStmt) 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 (*DeclStmt) Position

func (n *DeclStmt) Position() Position

Position returns the position in the original source code.

type DefaultStmt

type DefaultStmt struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

DefaultStmt is node represent 'default'

func (*DefaultStmt) AddChild

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

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

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

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

type DisableTailCallsAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

DisableTailCallsAttr is a type of attribute that is optionally attached to a variable or struct field definition.

func (*DisableTailCallsAttr) AddChild

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

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

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

func (n *DisableTailCallsAttr) Position() Position

Position returns the position in the original source code.

type DoStmt

type DoStmt struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

DoStmt is node represent 'do'

func (*DoStmt) AddChild

func (n *DoStmt) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*DoStmt) Address

func (n *DoStmt) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*DoStmt) Children

func (n *DoStmt) 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 (*DoStmt) Position

func (n *DoStmt) Position() Position

Position returns the position in the original source code.

type ElaboratedType

type ElaboratedType struct {
	Addr       Address
	Type       string
	Tags       string
	ChildNodes []Node
}

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

func (n *ElaboratedType) Position() Position

Position returns the position in the original source code.

type EmptyDecl

type EmptyDecl struct {
	Addr       Address
	Pos        Position
	Position2  Position
	ChildNodes []Node
}

EmptyDecl - element of AST

func (*EmptyDecl) AddChild

func (n *EmptyDecl) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*EmptyDecl) Address

func (n *EmptyDecl) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*EmptyDecl) Children

func (n *EmptyDecl) 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 (*EmptyDecl) Position

func (n *EmptyDecl) Position() Position

Position returns the position in the original source code.

type Enum

type Enum struct {
	Addr       Address
	Name       string
	ChildNodes []Node
}

Enum struct

func (*Enum) AddChild

func (n *Enum) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*Enum) Address

func (n *Enum) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*Enum) Children

func (n *Enum) 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 (*Enum) Position

func (n *Enum) Position() Position

Position returns the position in the original source code.

type EnumConstantDecl

type EnumConstantDecl struct {
	Addr       Address
	Pos        Position
	Position2  string
	Referenced bool
	Name       string
	Type       string
	Type2      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

type EnumDecl struct {
	Addr       Address
	Pos        Position
	Position2  string
	Name       string
	Type       string
	Type2      string
	ChildNodes []Node
}

EnumDecl is node represents a enum declaration.

func (*EnumDecl) AddChild

func (n *EnumDecl) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*EnumDecl) Address

func (n *EnumDecl) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*EnumDecl) Children

func (n *EnumDecl) 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 (*EnumDecl) Position

func (n *EnumDecl) Position() Position

Position returns the position in the original source code.

type EnumExtensibilityAttr

type EnumExtensibilityAttr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

EnumExtensibilityAttr

func (*EnumExtensibilityAttr) AddChild

func (n *EnumExtensibilityAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*EnumExtensibilityAttr) Address

func (n *EnumExtensibilityAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*EnumExtensibilityAttr) Children

func (n *EnumExtensibilityAttr) 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 (*EnumExtensibilityAttr) Position

func (n *EnumExtensibilityAttr) Position() Position

Position returns the position in the original source code.

type EnumType

type EnumType struct {
	Addr       Address
	Name       string
	ChildNodes []Node
}

EnumType is enum type

func (*EnumType) AddChild

func (n *EnumType) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*EnumType) Address

func (n *EnumType) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*EnumType) Children

func (n *EnumType) 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 (*EnumType) Position

func (n *EnumType) Position() Position

Position returns the position in the original source code.

type Field

type Field struct {
	Addr       Address
	String1    string
	String2    string
	ChildNodes []Node
}

Field struct

func (*Field) AddChild

func (n *Field) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*Field) Address

func (n *Field) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*Field) Children

func (n *Field) 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 (*Field) Position

func (n *Field) Position() Position

Position returns the position in the original source code.

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

func (n *FieldDecl) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*FieldDecl) Address

func (n *FieldDecl) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*FieldDecl) Children

func (n *FieldDecl) 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 (*FieldDecl) Position

func (n *FieldDecl) Position() Position

Position returns the position in the original source code.

type FlagEnumAttr

type FlagEnumAttr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

FlagEnumAttr

func (*FlagEnumAttr) AddChild

func (n *FlagEnumAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*FlagEnumAttr) Address

func (n *FlagEnumAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*FlagEnumAttr) Children

func (n *FlagEnumAttr) 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 (*FlagEnumAttr) Position

func (n *FlagEnumAttr) Position() Position

Position returns the position in the original source code.

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

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.

type ForStmt

type ForStmt struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

ForStmt is node represent 'for'

func (*ForStmt) AddChild

func (n *ForStmt) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ForStmt) Address

func (n *ForStmt) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ForStmt) Children

func (n *ForStmt) 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 (*ForStmt) Position

func (n *ForStmt) Position() Position

Position returns the position in the original source code.

type FormatArgAttr

type FormatArgAttr struct {
	Addr       Address
	Pos        Position
	Arg        string
	ChildNodes []Node
}

FormatArgAttr is a type of attribute that is optionally attached to a function definition.

func (*FormatArgAttr) AddChild

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

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

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

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

type FullComment struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

FullComment is a type of comment

func (*FullComment) AddChild

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

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

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

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

type FunctionProtoType struct {
	Addr       Address
	Type       string
	Kind       string
	ChildNodes []Node
}

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

func (n *FunctionProtoType) Position() Position

Position returns the position in the original source code.

type GCCAsmStmt

type GCCAsmStmt struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

GCCAsmStmt is node represent gcc assembler

func (*GCCAsmStmt) AddChild

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

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

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

func (n *GCCAsmStmt) Position() Position

Position returns the position in the original source code.

type GotoStmt

type GotoStmt struct {
	Addr       Address
	Pos        Position
	Name       string
	Position2  string
	ChildNodes []Node
}

GotoStmt is node represent 'goto'

func (*GotoStmt) AddChild

func (n *GotoStmt) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*GotoStmt) Address

func (n *GotoStmt) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*GotoStmt) Children

func (n *GotoStmt) 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 (*GotoStmt) Position

func (n *GotoStmt) Position() Position

Position returns the position in the original source code.

type HTMLEndTagComment

type HTMLEndTagComment struct {
	Addr       Address
	Pos        Position
	Name       string
	ChildNodes []Node
}

HTMLEndTagComment is a type of comment

func (*HTMLEndTagComment) AddChild

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

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

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

func (n *HTMLEndTagComment) Position() Position

Position returns the position in the original source code.

type HTMLStartTagComment

type HTMLStartTagComment struct {
	Addr       Address
	Pos        Position
	Name       string
	ChildNodes []Node
}

HTMLStartTagComment is a type of comment

func (*HTMLStartTagComment) AddChild

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

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

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

func (n *HTMLStartTagComment) Position() Position

Position returns the position in the original source code.

type IBActionAttr

type IBActionAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

IBActionAttr

func (*IBActionAttr) AddChild

func (n *IBActionAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*IBActionAttr) Address

func (n *IBActionAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*IBActionAttr) Children

func (n *IBActionAttr) 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 (*IBActionAttr) Position

func (n *IBActionAttr) Position() Position

Position returns the position in the original source code.

type IBOutletAttr

type IBOutletAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

IBOutletAttr

func (*IBOutletAttr) AddChild

func (n *IBOutletAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*IBOutletAttr) Address

func (n *IBOutletAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*IBOutletAttr) Children

func (n *IBOutletAttr) 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 (*IBOutletAttr) Position

func (n *IBOutletAttr) Position() Position

Position returns the position in the original source code.

type IfStmt

type IfStmt struct {
	Addr       Address
	Pos        Position
	HasElse    bool
	ChildNodes []Node
}

IfStmt is node represent 'if'

func (*IfStmt) AddChild

func (n *IfStmt) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*IfStmt) Address

func (n *IfStmt) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*IfStmt) Children

func (n *IfStmt) 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 (*IfStmt) Position

func (n *IfStmt) Position() Position

Position returns the position in the original source code.

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

type ImplicitValueInitExpr struct {
	Addr       Address
	Pos        Position
	Type1      string
	Type2      string
	ChildNodes []Node
}

ImplicitValueInitExpr is expression

func (*ImplicitValueInitExpr) AddChild

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

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

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

func (n *ImplicitValueInitExpr) Position() Position

Position returns the position in the original source code.

type IncompleteArrayType

type IncompleteArrayType struct {
	Addr       Address
	Type       string
	ChildNodes []Node
}

IncompleteArrayType is incomplete array type

func (*IncompleteArrayType) AddChild

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

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

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

func (n *IncompleteArrayType) Position() Position

Position returns the position in the original source code.

type IndirectFieldDecl

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

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

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

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

func (n *IndirectFieldDecl) Position() Position

Position returns the position in the original source code.

type InitListExpr

type InitListExpr struct {
	Addr       Address
	Pos        Position
	Type1      string
	Type2      string
	ChildNodes []Node
}

InitListExpr is expression.

func (*InitListExpr) AddChild

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

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

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

func (n *InitListExpr) Position() Position

Position returns the position in the original source code.

type InlineCommandComment

type InlineCommandComment struct {
	Addr       Address
	Pos        Position
	Other      string
	ChildNodes []Node
}

InlineCommandComment is a type of comment

func (*InlineCommandComment) AddChild

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

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

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

func (n *InlineCommandComment) Position() Position

Position returns the position in the original source code.

type IntegerLiteral

type IntegerLiteral struct {
	Addr       Address
	Pos        Position
	Type       string
	Value      string
	ChildNodes []Node
}

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

type LabelStmt struct {
	Addr       Address
	Pos        Position
	Name       string
	ChildNodes []Node
}

LabelStmt is node represent a label

func (*LabelStmt) AddChild

func (n *LabelStmt) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*LabelStmt) Address

func (n *LabelStmt) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*LabelStmt) Children

func (n *LabelStmt) 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 (*LabelStmt) Position

func (n *LabelStmt) Position() Position

Position returns the position in the original source code.

type MallocAttr

type MallocAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

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

type MaxFieldAlignmentAttr struct {
	Addr       Address
	Pos        Position
	Size       int
	ChildNodes []Node
}

MaxFieldAlignmentAttr is a type of attribute that is optionally attached to a variable or struct field definition.

func (*MaxFieldAlignmentAttr) AddChild

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

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

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

func (n *MaxFieldAlignmentAttr) Position() Position

Position returns the position in the original source code.

type MayAliasAttr

type MayAliasAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

MayAliasAttr

func (*MayAliasAttr) AddChild

func (n *MayAliasAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*MayAliasAttr) Address

func (n *MayAliasAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*MayAliasAttr) Children

func (n *MayAliasAttr) 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 (*MayAliasAttr) Position

func (n *MayAliasAttr) 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) Position

func (n *MemberExpr) Position() Position

Position returns the position in the original source code.

type MinVectorWidthAttr

type MinVectorWidthAttr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

MinVectorWidthAttr

func (*MinVectorWidthAttr) AddChild

func (n *MinVectorWidthAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*MinVectorWidthAttr) Address

func (n *MinVectorWidthAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*MinVectorWidthAttr) Children

func (n *MinVectorWidthAttr) 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 (*MinVectorWidthAttr) Position

func (n *MinVectorWidthAttr) Position() Position

Position returns the position in the original source code.

type ModeAttr

type ModeAttr struct {
	Addr       Address
	Pos        Position
	Name       string
	ChildNodes []Node
}

ModeAttr is a type of attribute that is optionally attached to a variable or struct field definition.

func (*ModeAttr) AddChild

func (n *ModeAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ModeAttr) Address

func (n *ModeAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ModeAttr) Children

func (n *ModeAttr) 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 (*ModeAttr) Position

func (n *ModeAttr) Position() Position

Position returns the position in the original source code.

type NSConsumedAttr

type NSConsumedAttr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

NSConsumedAttr

func (*NSConsumedAttr) AddChild

func (n *NSConsumedAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*NSConsumedAttr) Address

func (n *NSConsumedAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*NSConsumedAttr) Children

func (n *NSConsumedAttr) 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 (*NSConsumedAttr) Position

func (n *NSConsumedAttr) Position() Position

Position returns the position in the original source code.

type NSConsumesSelfAttr

type NSConsumesSelfAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

NSConsumesSelfAttr

func (*NSConsumesSelfAttr) AddChild

func (n *NSConsumesSelfAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*NSConsumesSelfAttr) Address

func (n *NSConsumesSelfAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*NSConsumesSelfAttr) Children

func (n *NSConsumesSelfAttr) 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 (*NSConsumesSelfAttr) Position

func (n *NSConsumesSelfAttr) Position() Position

Position returns the position in the original source code.

type NSErrorDomainAttr

type NSErrorDomainAttr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

NSErrorDomainAttr

func (*NSErrorDomainAttr) AddChild

func (n *NSErrorDomainAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*NSErrorDomainAttr) Address

func (n *NSErrorDomainAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*NSErrorDomainAttr) Children

func (n *NSErrorDomainAttr) 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 (*NSErrorDomainAttr) Position

func (n *NSErrorDomainAttr) Position() Position

Position returns the position in the original source code.

type NSReturnsRetainedAttr

type NSReturnsRetainedAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

NSReturnsRetainedAttr

func (*NSReturnsRetainedAttr) AddChild

func (n *NSReturnsRetainedAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*NSReturnsRetainedAttr) Address

func (n *NSReturnsRetainedAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*NSReturnsRetainedAttr) Children

func (n *NSReturnsRetainedAttr) 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 (*NSReturnsRetainedAttr) Position

func (n *NSReturnsRetainedAttr) Position() Position

Position returns the position in the original source code.

type NoDebugAttr

type NoDebugAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

NoDebugAttr

func (*NoDebugAttr) AddChild

func (n *NoDebugAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*NoDebugAttr) Address

func (n *NoDebugAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*NoDebugAttr) Children

func (n *NoDebugAttr) 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 (*NoDebugAttr) Position

func (n *NoDebugAttr) Position() Position

Position returns the position in the original source code.

type NoEscapeAttr

type NoEscapeAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

NoEscapeAttr

func (*NoEscapeAttr) AddChild

func (n *NoEscapeAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*NoEscapeAttr) Address

func (n *NoEscapeAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*NoEscapeAttr) Children

func (n *NoEscapeAttr) 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 (*NoEscapeAttr) Position

func (n *NoEscapeAttr) Position() Position

Position returns the position in the original source code.

type NoInlineAttr

type NoInlineAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

NoInlineAttr is a type of attribute that is optionally attached to a variable or struct field definition.

func (*NoInlineAttr) AddChild

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

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

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

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

type Node interface {
	Address() Address
	Children() []Node
	AddChild(node Node)
	Position() Position
}

Node represents any node in the AST.

func Parse

func Parse(fullline string) Node

Parse takes the coloured output of the clang AST command and returns a root node for the AST.

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

type NotTailCalledAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

NotTailCalledAttr is a type of attribute that is optionally attached to function declaration.

func (*NotTailCalledAttr) AddChild

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

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

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

func (n *NotTailCalledAttr) Position() Position

Position returns the position in the original source code.

type ObjCBoolLiteralExpr

type ObjCBoolLiteralExpr struct {
	Addr       Address
	Pos        Position
	Type       string
	Type2      string
	Attr       string
	ChildNodes []Node
}

ObjCBoolLiteralExpr

func (*ObjCBoolLiteralExpr) AddChild

func (n *ObjCBoolLiteralExpr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCBoolLiteralExpr) Address

func (n *ObjCBoolLiteralExpr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCBoolLiteralExpr) Children

func (n *ObjCBoolLiteralExpr) 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 (*ObjCBoolLiteralExpr) Position

func (n *ObjCBoolLiteralExpr) Position() Position

Position returns the position in the original source code.

type ObjCBoxableAttr

type ObjCBoxableAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

ObjCBoxableAttr

func (*ObjCBoxableAttr) AddChild

func (n *ObjCBoxableAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCBoxableAttr) Address

func (n *ObjCBoxableAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCBoxableAttr) Children

func (n *ObjCBoxableAttr) 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 (*ObjCBoxableAttr) Position

func (n *ObjCBoxableAttr) Position() Position

Position returns the position in the original source code.

type ObjCBridgeAttr

type ObjCBridgeAttr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

ObjCBridgeAttr

func (*ObjCBridgeAttr) AddChild

func (n *ObjCBridgeAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCBridgeAttr) Address

func (n *ObjCBridgeAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCBridgeAttr) Children

func (n *ObjCBridgeAttr) 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 (*ObjCBridgeAttr) Position

func (n *ObjCBridgeAttr) Position() Position

Position returns the position in the original source code.

type ObjCBridgeMutableAttr

type ObjCBridgeMutableAttr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

ObjCBridgeMutableAttr

func (*ObjCBridgeMutableAttr) AddChild

func (n *ObjCBridgeMutableAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCBridgeMutableAttr) Address

func (n *ObjCBridgeMutableAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCBridgeMutableAttr) Children

func (n *ObjCBridgeMutableAttr) 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 (*ObjCBridgeMutableAttr) Position

func (n *ObjCBridgeMutableAttr) Position() Position

Position returns the position in the original source code.

type ObjCBridgeRelatedAttr

type ObjCBridgeRelatedAttr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

ObjCBridgeRelatedAttr

func (*ObjCBridgeRelatedAttr) AddChild

func (n *ObjCBridgeRelatedAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCBridgeRelatedAttr) Address

func (n *ObjCBridgeRelatedAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCBridgeRelatedAttr) Children

func (n *ObjCBridgeRelatedAttr) 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 (*ObjCBridgeRelatedAttr) Position

func (n *ObjCBridgeRelatedAttr) Position() Position

Position returns the position in the original source code.

type ObjCCategoryDecl

type ObjCCategoryDecl struct {
	Addr       Address
	Pos        Position
	Position2  string
	Name       string
	ChildNodes []Node
}

ObjCCategoryDecl is node represents a category declaration.

func (*ObjCCategoryDecl) AddChild

func (n *ObjCCategoryDecl) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCCategoryDecl) Address

func (n *ObjCCategoryDecl) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCCategoryDecl) Children

func (n *ObjCCategoryDecl) 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 (*ObjCCategoryDecl) Position

func (n *ObjCCategoryDecl) Position() Position

Position returns the position in the original source code.

type ObjCDesignatedInitializerAttr

type ObjCDesignatedInitializerAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

ObjCDesignatedInitializerAttr

func (*ObjCDesignatedInitializerAttr) AddChild

func (n *ObjCDesignatedInitializerAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCDesignatedInitializerAttr) Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCDesignatedInitializerAttr) Children

func (n *ObjCDesignatedInitializerAttr) 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 (*ObjCDesignatedInitializerAttr) Position

Position returns the position in the original source code.

type ObjCExceptionAttr

type ObjCExceptionAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

ObjCExceptionAttr

func (*ObjCExceptionAttr) AddChild

func (n *ObjCExceptionAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCExceptionAttr) Address

func (n *ObjCExceptionAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCExceptionAttr) Children

func (n *ObjCExceptionAttr) 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 (*ObjCExceptionAttr) Position

func (n *ObjCExceptionAttr) Position() Position

Position returns the position in the original source code.

type ObjCExplicitProtocolImplAttr

type ObjCExplicitProtocolImplAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

ObjCExplicitProtocolImplAttr

func (*ObjCExplicitProtocolImplAttr) AddChild

func (n *ObjCExplicitProtocolImplAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCExplicitProtocolImplAttr) Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCExplicitProtocolImplAttr) Children

func (n *ObjCExplicitProtocolImplAttr) 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 (*ObjCExplicitProtocolImplAttr) Position

func (n *ObjCExplicitProtocolImplAttr) Position() Position

Position returns the position in the original source code.

type ObjCIndependentClassAttr

type ObjCIndependentClassAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

ObjCIndependentClassAttr

func (*ObjCIndependentClassAttr) AddChild

func (n *ObjCIndependentClassAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCIndependentClassAttr) Address

func (n *ObjCIndependentClassAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCIndependentClassAttr) Children

func (n *ObjCIndependentClassAttr) 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 (*ObjCIndependentClassAttr) Position

func (n *ObjCIndependentClassAttr) Position() Position

Position returns the position in the original source code.

type ObjCInterface

type ObjCInterface struct {
	Addr       Address
	Name       string
	Super      bool
	ChildNodes []Node
}

ObjCInterface is an Objective-C interface

func (*ObjCInterface) AddChild

func (n *ObjCInterface) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCInterface) Address

func (n *ObjCInterface) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCInterface) Children

func (n *ObjCInterface) 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 (*ObjCInterface) Position

func (n *ObjCInterface) Position() Position

Position returns the position in the original source code.

type ObjCInterfaceDecl

type ObjCInterfaceDecl struct {
	Addr       Address
	Pos        Position
	Position2  string
	Name       string
	Implicit   bool
	ChildNodes []Node
}

ObjCInterfaceDecl

func (*ObjCInterfaceDecl) AddChild

func (n *ObjCInterfaceDecl) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCInterfaceDecl) Address

func (n *ObjCInterfaceDecl) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCInterfaceDecl) Children

func (n *ObjCInterfaceDecl) 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 (*ObjCInterfaceDecl) Position

func (n *ObjCInterfaceDecl) Position() Position

Position returns the position in the original source code.

type ObjCInterfaceType

type ObjCInterfaceType struct {
	Addr       Address
	Type       string
	ChildNodes []Node
}

ObjCInterfaceType is an Objective-C interface type

func (*ObjCInterfaceType) AddChild

func (n *ObjCInterfaceType) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCInterfaceType) Address

func (n *ObjCInterfaceType) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCInterfaceType) Children

func (n *ObjCInterfaceType) 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 (*ObjCInterfaceType) Position

func (n *ObjCInterfaceType) Position() Position

Position returns the position in the original source code.

type ObjCIvarDecl

type ObjCIvarDecl struct {
	Addr       Address
	Pos        Position
	Position2  string
	Name       string
	Type       string
	Type2      string
	Attr       string
	ChildNodes []Node
}

ObjCIvarDecl is node represents an Objective-C property declaration

func (*ObjCIvarDecl) AddChild

func (n *ObjCIvarDecl) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCIvarDecl) Address

func (n *ObjCIvarDecl) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCIvarDecl) Children

func (n *ObjCIvarDecl) 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 (*ObjCIvarDecl) Position

func (n *ObjCIvarDecl) Position() Position

Position returns the position in the original source code.

type ObjCMessageExpr

type ObjCMessageExpr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

ObjCMessageExpr

func (*ObjCMessageExpr) AddChild

func (n *ObjCMessageExpr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCMessageExpr) Address

func (n *ObjCMessageExpr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCMessageExpr) Children

func (n *ObjCMessageExpr) 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 (*ObjCMessageExpr) Position

func (n *ObjCMessageExpr) Position() Position

Position returns the position in the original source code.

type ObjCMethod

type ObjCMethod struct {
	Addr       Address
	Name       string
	ChildNodes []Node
}

ObjCMethod is an Objective-C method

func (*ObjCMethod) AddChild

func (n *ObjCMethod) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCMethod) Address

func (n *ObjCMethod) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCMethod) Children

func (n *ObjCMethod) 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 (*ObjCMethod) Position

func (n *ObjCMethod) Position() Position

Position returns the position in the original source code.

type ObjCMethodDecl

type ObjCMethodDecl struct {
	Addr        Address
	Pos         Position
	Position2   string
	Implicit    bool
	ClassMethod bool
	Name        string
	Parameters  []string
	Type        string
	Type2       string
	Attr        []string
	ChildNodes  []Node
}

ObjCMethodDecl is node represents an Objective-C method declaration

func (*ObjCMethodDecl) AddChild

func (n *ObjCMethodDecl) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCMethodDecl) Address

func (n *ObjCMethodDecl) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCMethodDecl) Children

func (n *ObjCMethodDecl) 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 (*ObjCMethodDecl) Position

func (n *ObjCMethodDecl) Position() Position

Position returns the position in the original source code.

type ObjCObjectPointerType

type ObjCObjectPointerType struct {
	Addr       Address
	Type       string
	ChildNodes []Node
}

ObjCObjectPointerType is an Objective-C Object Pointer type

func (*ObjCObjectPointerType) AddChild

func (n *ObjCObjectPointerType) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCObjectPointerType) Address

func (n *ObjCObjectPointerType) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCObjectPointerType) Children

func (n *ObjCObjectPointerType) 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 (*ObjCObjectPointerType) Position

func (n *ObjCObjectPointerType) Position() Position

Position returns the position in the original source code.

type ObjCObjectType

type ObjCObjectType struct {
	Addr       Address
	Type       string
	ChildNodes []Node
}

ObjCObjectType is an Objective-C Object type

func (*ObjCObjectType) AddChild

func (n *ObjCObjectType) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCObjectType) Address

func (n *ObjCObjectType) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCObjectType) Children

func (n *ObjCObjectType) 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 (*ObjCObjectType) Position

func (n *ObjCObjectType) Position() Position

Position returns the position in the original source code.

type ObjCPropertyDecl

type ObjCPropertyDecl struct {
	Addr       Address
	Pos        Position
	Position2  string
	Name       string
	Type       string
	Type2      string
	Attr       string
	ChildNodes []Node
}

ObjCPropertyDecl is node represents an Objective-C property declaration

func (*ObjCPropertyDecl) AddChild

func (n *ObjCPropertyDecl) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCPropertyDecl) Address

func (n *ObjCPropertyDecl) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCPropertyDecl) Children

func (n *ObjCPropertyDecl) 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 (*ObjCPropertyDecl) Position

func (n *ObjCPropertyDecl) Position() Position

Position returns the position in the original source code.

type ObjCProtocol

type ObjCProtocol struct {
	Addr       Address
	Name       string
	ChildNodes []Node
}

ObjCProtocol is an Objective-C protocol

func (*ObjCProtocol) AddChild

func (n *ObjCProtocol) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCProtocol) Address

func (n *ObjCProtocol) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCProtocol) Children

func (n *ObjCProtocol) 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 (*ObjCProtocol) Position

func (n *ObjCProtocol) Position() Position

Position returns the position in the original source code.

type ObjCProtocolDecl

type ObjCProtocolDecl struct {
	Addr       Address
	Pos        Position
	Position2  string
	Name       string
	ChildNodes []Node
}

ObjCProtocolDecl is node represents an Objective-C property declaration

func (*ObjCProtocolDecl) AddChild

func (n *ObjCProtocolDecl) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCProtocolDecl) Address

func (n *ObjCProtocolDecl) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCProtocolDecl) Children

func (n *ObjCProtocolDecl) 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 (*ObjCProtocolDecl) Position

func (n *ObjCProtocolDecl) Position() Position

Position returns the position in the original source code.

type ObjCRequiresSuperAttr

type ObjCRequiresSuperAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

ObjCRequiresSuperAttr

func (*ObjCRequiresSuperAttr) AddChild

func (n *ObjCRequiresSuperAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCRequiresSuperAttr) Address

func (n *ObjCRequiresSuperAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCRequiresSuperAttr) Children

func (n *ObjCRequiresSuperAttr) 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 (*ObjCRequiresSuperAttr) Position

func (n *ObjCRequiresSuperAttr) Position() Position

Position returns the position in the original source code.

type ObjCReturnsInnerPointerAttr

type ObjCReturnsInnerPointerAttr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

ObjCReturnsInnerPointerAttr

func (*ObjCReturnsInnerPointerAttr) AddChild

func (n *ObjCReturnsInnerPointerAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCReturnsInnerPointerAttr) Address

func (n *ObjCReturnsInnerPointerAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCReturnsInnerPointerAttr) Children

func (n *ObjCReturnsInnerPointerAttr) 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 (*ObjCReturnsInnerPointerAttr) Position

func (n *ObjCReturnsInnerPointerAttr) Position() Position

Position returns the position in the original source code.

type ObjCRootClassAttr

type ObjCRootClassAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

ObjCRootClassAttr

func (*ObjCRootClassAttr) AddChild

func (n *ObjCRootClassAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCRootClassAttr) Address

func (n *ObjCRootClassAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCRootClassAttr) Children

func (n *ObjCRootClassAttr) 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 (*ObjCRootClassAttr) Position

func (n *ObjCRootClassAttr) Position() Position

Position returns the position in the original source code.

type ObjCTypeParam

type ObjCTypeParam struct {
	Addr       Address
	Type       string
	ChildNodes []Node
}

ObjCTypeParam is expression.

func (*ObjCTypeParam) AddChild

func (n *ObjCTypeParam) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCTypeParam) Address

func (n *ObjCTypeParam) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCTypeParam) Children

func (n *ObjCTypeParam) 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 (*ObjCTypeParam) Position

func (n *ObjCTypeParam) Position() Position

Position returns the position in the original source code.

type ObjCTypeParamDecl

type ObjCTypeParamDecl struct {
	Addr         Address
	Pos          Position
	Position2    string
	Name         string
	Type         string
	Type2        string
	IsReferenced bool
	IsCovariant  bool
	IsBounded    bool
	ChildNodes   []Node
}

ObjCTypeParamDecl is node represents a parameter of variable declaration.

func (*ObjCTypeParamDecl) AddChild

func (n *ObjCTypeParamDecl) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ObjCTypeParamDecl) Address

func (n *ObjCTypeParamDecl) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ObjCTypeParamDecl) Children

func (n *ObjCTypeParamDecl) 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 (*ObjCTypeParamDecl) Position

func (n *ObjCTypeParamDecl) Position() Position

Position returns the position in the original source code.

type OffsetOfExpr

type OffsetOfExpr struct {
	Addr       Address
	Pos        Position
	Type       string
	ChildNodes []Node
}

OffsetOfExpr is expression.

func (*OffsetOfExpr) AddChild

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

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

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

func (n *OffsetOfExpr) Position() Position

Position returns the position in the original source code.

type PackedAttr

type PackedAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

PackedAttr is a type of attribute that is optionally attached to a variable or struct field definition.

func (*PackedAttr) AddChild

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

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

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

func (n *PackedAttr) Position() Position

Position returns the position in the original source code.

type ParagraphComment

type ParagraphComment struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

ParagraphComment is a type of comment

func (*ParagraphComment) AddChild

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

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

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

func (n *ParagraphComment) Position() Position

Position returns the position in the original source code.

type ParamCommandComment

type ParamCommandComment struct {
	Addr       Address
	Pos        Position
	Other      string
	ChildNodes []Node
}

ParamCommandComment is a type of comment

func (*ParamCommandComment) AddChild

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

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

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

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

func (n *ParenExpr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ParenExpr) Address

func (n *ParenExpr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ParenExpr) Children

func (n *ParenExpr) 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 (*ParenExpr) Position

func (n *ParenExpr) Position() Position

Position returns the position in the original source code.

type ParenType

type ParenType struct {
	Addr       Address
	Type       string
	Sugar      bool
	ChildNodes []Node
}

ParenType is paren type

func (*ParenType) AddChild

func (n *ParenType) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ParenType) Address

func (n *ParenType) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ParenType) Children

func (n *ParenType) 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 (*ParenType) Position

func (n *ParenType) Position() Position

Position returns the position in the original source code.

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

type PointerType struct {
	Addr       Address
	Type       string
	ChildNodes []Node
}

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

func (n *PointerType) Position() Position

Position returns the position in the original source code.

type Position

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

func NewPositionFromString(s string) Position

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

type PureAttr struct {
	Addr       Address
	Pos        Position
	Implicit   bool
	Inherited  bool
	ChildNodes []Node
}

PureAttr is a type of attribute that is optionally attached to a variable or struct field definition.

func (*PureAttr) AddChild

func (n *PureAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*PureAttr) Address

func (n *PureAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*PureAttr) Children

func (n *PureAttr) 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 (*PureAttr) Position

func (n *PureAttr) Position() Position

Position returns the position in the original source code.

type QualType

type QualType struct {
	Addr       Address
	Type       string
	Kind       string
	ChildNodes []Node
}

QualType is qual type

func (*QualType) AddChild

func (n *QualType) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*QualType) Address

func (n *QualType) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*QualType) Children

func (n *QualType) 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 (*QualType) Position

func (n *QualType) Position() Position

Position returns the position in the original source code.

type Record

type Record struct {
	Addr       Address
	Type       string
	ChildNodes []Node
}

Record struct

func (*Record) AddChild

func (n *Record) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*Record) Address

func (n *Record) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*Record) Children

func (n *Record) 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 (*Record) Position

func (n *Record) Position() Position

Position returns the position in the original source code.

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

type RecordType struct {
	Addr       Address
	Type       string
	ChildNodes []Node
}

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

func (n *RecordType) Position() Position

Position returns the position in the original source code.

type RestrictAttr

type RestrictAttr struct {
	Addr       Address
	Pos        Position
	Name       string
	ChildNodes []Node
}

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

type ReturnStmt struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

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

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

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

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

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

func (n *ReturnsTwiceAttr) Position() Position

Position returns the position in the original source code.

type SentinelAttr

type SentinelAttr struct {
	Addr       Address
	Pos        Position
	A          int
	B          int
	ChildNodes []Node
}

SentinelAttr is a type of attribute that is optionally attached to a variable or struct field definition.

func (*SentinelAttr) AddChild

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

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

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

func (n *SentinelAttr) Position() Position

Position returns the position in the original source code.

type ShuffleVectorExpr

type ShuffleVectorExpr struct {
	Addr       Address
	Pos        Position
	Type       string
	Type2      string
	ChildNodes []Node
}

ShuffleVectorExpr

func (*ShuffleVectorExpr) AddChild

func (n *ShuffleVectorExpr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*ShuffleVectorExpr) Address

func (n *ShuffleVectorExpr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*ShuffleVectorExpr) Children

func (n *ShuffleVectorExpr) 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 (*ShuffleVectorExpr) Position

func (n *ShuffleVectorExpr) Position() Position

Position returns the position in the original source code.

type StmtExpr

type StmtExpr struct {
	Addr       Address
	Pos        Position
	Type       string
	ChildNodes []Node
}

StmtExpr is expression.

func (*StmtExpr) AddChild

func (n *StmtExpr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*StmtExpr) Address

func (n *StmtExpr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*StmtExpr) Children

func (n *StmtExpr) 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 (*StmtExpr) Position

func (n *StmtExpr) 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
}

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 SwiftBridgedTypedefAttr

type SwiftBridgedTypedefAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

SwiftBridgedTypedefAttr

func (*SwiftBridgedTypedefAttr) AddChild

func (n *SwiftBridgedTypedefAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*SwiftBridgedTypedefAttr) Address

func (n *SwiftBridgedTypedefAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*SwiftBridgedTypedefAttr) Children

func (n *SwiftBridgedTypedefAttr) 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 (*SwiftBridgedTypedefAttr) Position

func (n *SwiftBridgedTypedefAttr) Position() Position

Position returns the position in the original source code.

type SwiftErrorAttr

type SwiftErrorAttr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

SwiftErrorAttr

func (*SwiftErrorAttr) AddChild

func (n *SwiftErrorAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*SwiftErrorAttr) Address

func (n *SwiftErrorAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*SwiftErrorAttr) Children

func (n *SwiftErrorAttr) 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 (*SwiftErrorAttr) Position

func (n *SwiftErrorAttr) Position() Position

Position returns the position in the original source code.

type SwiftNameAttr

type SwiftNameAttr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

SwiftNameAttr

func (*SwiftNameAttr) AddChild

func (n *SwiftNameAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*SwiftNameAttr) Address

func (n *SwiftNameAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*SwiftNameAttr) Children

func (n *SwiftNameAttr) 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 (*SwiftNameAttr) Position

func (n *SwiftNameAttr) Position() Position

Position returns the position in the original source code.

type SwiftNewtypeAttr

type SwiftNewtypeAttr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

SwiftNewtypeAttr

func (*SwiftNewtypeAttr) AddChild

func (n *SwiftNewtypeAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*SwiftNewtypeAttr) Address

func (n *SwiftNewtypeAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*SwiftNewtypeAttr) Children

func (n *SwiftNewtypeAttr) 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 (*SwiftNewtypeAttr) Position

func (n *SwiftNewtypeAttr) Position() Position

Position returns the position in the original source code.

type SwiftPrivateAttr

type SwiftPrivateAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

SwiftPrivateAttr

func (*SwiftPrivateAttr) AddChild

func (n *SwiftPrivateAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*SwiftPrivateAttr) Address

func (n *SwiftPrivateAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*SwiftPrivateAttr) Children

func (n *SwiftPrivateAttr) 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 (*SwiftPrivateAttr) Position

func (n *SwiftPrivateAttr) Position() Position

Position returns the position in the original source code.

type SwitchStmt

type SwitchStmt struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

SwitchStmt is node represent 'switch'

func (*SwitchStmt) AddChild

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

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

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

func (n *SwitchStmt) Position() Position

Position returns the position in the original source code.

type TargetAttr

type TargetAttr struct {
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

TargetAttr

func (*TargetAttr) AddChild

func (n *TargetAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*TargetAttr) Address

func (n *TargetAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*TargetAttr) Children

func (n *TargetAttr) 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 (*TargetAttr) Position

func (n *TargetAttr) Position() Position

Position returns the position in the original source code.

type TextComment

type TextComment struct {
	Addr       Address
	Pos        Position
	Text       string
	ChildNodes []Node
}

TextComment is a type of comment

func (*TextComment) AddChild

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

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

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

func (n *TextComment) Position() Position

Position returns the position in the original source code.

type TranslationUnitDecl

type TranslationUnitDecl struct {
	Addr       Address
	ChildNodes []Node
}

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

func (n *TranslationUnitDecl) Position() Position

Position returns the position in the original source code.

type TransparentUnionAttr

type TransparentUnionAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

TransparentUnionAttr is a type of attribute that is optionally attached to a variable or struct field definition.

func (*TransparentUnionAttr) AddChild

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

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

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

func (n *TransparentUnionAttr) Position() Position

Position returns the position in the original source code.

type Typedef

type Typedef struct {
	Addr       Address
	Type       string
	ChildNodes []Node
}

Typedef struct

func (*Typedef) AddChild

func (n *Typedef) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*Typedef) Address

func (n *Typedef) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*Typedef) Children

func (n *Typedef) 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 (*Typedef) Position

func (n *Typedef) Position() Position

Position returns the position in the original source code.

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

type TypedefType struct {
	Addr       Address
	Type       string
	Tags       string
	ChildNodes []Node
}

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

func (n *TypedefType) Position() Position

Position returns the position in the original source code.

type UnaryExprOrTypeTraitExpr

type UnaryExprOrTypeTraitExpr struct {
	Addr       Address
	Pos        Position
	Type1      string
	Function   string
	Type2      string
	Type3      string
	ChildNodes []Node
}

UnaryExprOrTypeTraitExpr is expression.

func (*UnaryExprOrTypeTraitExpr) AddChild

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

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

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

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 UnavailableAttr

type UnavailableAttr struct {
	Addr       Address
	Pos        Position
	Position2  string
	Content    string
	ChildNodes []Node
}

UnavailableAttr is node represents an unavailable attribute.

func (*UnavailableAttr) AddChild

func (n *UnavailableAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*UnavailableAttr) Address

func (n *UnavailableAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*UnavailableAttr) Children

func (n *UnavailableAttr) 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 (*UnavailableAttr) Position

func (n *UnavailableAttr) Position() Position

Position returns the position in the original source code.

type Unknown

type Unknown struct {
	Name       string
	Addr       Address
	Pos        Position
	Content    string
	ChildNodes []Node
}

Unknown is node represents an unknown node.

func (*Unknown) AddChild

func (n *Unknown) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*Unknown) Address

func (n *Unknown) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*Unknown) Children

func (n *Unknown) 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 (*Unknown) Position

func (n *Unknown) Position() Position

Position returns the position in the original source code.

type UnusedAttr

type UnusedAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
	IsUnused   bool
}

UnusedAttr is a type of attribute that is optionally attached to a variable or struct field definition.

func (*UnusedAttr) AddChild

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

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

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

func (n *UnusedAttr) Position() Position

Position returns the position in the original source code.

type UsedAttr

type UsedAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

UsedAttr

func (*UsedAttr) AddChild

func (n *UsedAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*UsedAttr) Address

func (n *UsedAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*UsedAttr) Children

func (n *UsedAttr) 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 (*UsedAttr) Position

func (n *UsedAttr) Position() Position

Position returns the position in the original source code.

type VAArgExpr

type VAArgExpr struct {
	Addr       Address
	Pos        Position
	Type       string
	ChildNodes []Node
}

VAArgExpr is expression.

func (*VAArgExpr) AddChild

func (n *VAArgExpr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*VAArgExpr) Address

func (n *VAArgExpr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*VAArgExpr) Children

func (n *VAArgExpr) 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 (*VAArgExpr) Position

func (n *VAArgExpr) Position() Position

Position returns the position in the original source code.

type VarDecl

type VarDecl struct {
	Addr         Address
	Parent       Address
	Pos          Position
	Position2    string
	Name         string
	Type         string
	Type2        string
	IsExtern     bool
	IsUsed       bool
	IsRange      bool
	IsCInit      bool
	IsReferenced bool
	IsStatic     bool
	IsRegister   bool
	ChildNodes   []Node
}

VarDecl is node represents a variable declaration.

func (*VarDecl) AddChild

func (n *VarDecl) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*VarDecl) Address

func (n *VarDecl) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*VarDecl) Children

func (n *VarDecl) 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 (*VarDecl) Position

func (n *VarDecl) Position() Position

Position returns the position in the original source code.

type Variadic

type Variadic struct {
	ChildNodes []Node
}

Variadic node indicates an ellipsis (...) in the Clang AST.

func (*Variadic) AddChild

func (n *Variadic) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*Variadic) Address

func (n *Variadic) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*Variadic) Children

func (n *Variadic) 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 (*Variadic) Position

func (n *Variadic) Position() Position

Position returns the position in the original source code.

type VectorType

type VectorType struct {
	Addr       Address
	Type       string
	Length     int
	ChildNodes []Node
}

VectorType is vector type

func (*VectorType) AddChild

func (n *VectorType) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*VectorType) Address

func (n *VectorType) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*VectorType) Children

func (n *VectorType) 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 (*VectorType) Position

func (n *VectorType) Position() Position

Position returns the position in the original source code.

type VerbatimBlockComment

type VerbatimBlockComment struct {
	Addr       Address
	Pos        Position
	Name       string
	CloseName  string
	ChildNodes []Node
}

VerbatimBlockComment is a type of comment

func (*VerbatimBlockComment) AddChild

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

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

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

func (n *VerbatimBlockComment) Position() Position

Position returns the position in the original source code.

type VerbatimBlockLineComment

type VerbatimBlockLineComment struct {
	Addr       Address
	Pos        Position
	Text       string
	ChildNodes []Node
}

VerbatimBlockLineComment is a type of comment

func (*VerbatimBlockLineComment) AddChild

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

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

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

func (n *VerbatimBlockLineComment) Position() Position

Position returns the position in the original source code.

type VerbatimLineComment

type VerbatimLineComment struct {
	Addr       Address
	Pos        Position
	Text       string
	ChildNodes []Node
}

VerbatimLineComment is a type of comment

func (*VerbatimLineComment) AddChild

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

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

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

func (n *VerbatimLineComment) Position() Position

Position returns the position in the original source code.

type VisibilityAttr

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

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

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

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

func (n *VisibilityAttr) Position() Position

Position returns the position in the original source code.

type WarnUnusedResultAttr

type WarnUnusedResultAttr struct {
	Addr       Address
	Pos        Position
	Text       string
	ChildNodes []Node
}

WarnUnusedResultAttr is a type of attribute that is optionally attached to a variable or struct field definition.

func (*WarnUnusedResultAttr) AddChild

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

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

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

func (n *WarnUnusedResultAttr) Position() Position

Position returns the position in the original source code.

type WeakAttr

type WeakAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

WeakAttr for the WeakAttr node

func (*WeakAttr) AddChild

func (n *WeakAttr) AddChild(node Node)

AddChild method to implements Node interface

func (*WeakAttr) Address

func (n *WeakAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*WeakAttr) Children

func (n *WeakAttr) 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 (*WeakAttr) Position

func (n *WeakAttr) Position() Position

Position returns the position in the original source code.

type WeakImportAttr

type WeakImportAttr struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

WeakImportAttr

func (*WeakImportAttr) AddChild

func (n *WeakImportAttr) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*WeakImportAttr) Address

func (n *WeakImportAttr) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*WeakImportAttr) Children

func (n *WeakImportAttr) 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 (*WeakImportAttr) Position

func (n *WeakImportAttr) Position() Position

Position returns the position in the original source code.

type WhileStmt

type WhileStmt struct {
	Addr       Address
	Pos        Position
	ChildNodes []Node
}

WhileStmt is node represent 'while'

func (*WhileStmt) AddChild

func (n *WhileStmt) AddChild(node Node)

AddChild adds a new child node. Child nodes can then be accessed with the Children attribute.

func (*WhileStmt) Address

func (n *WhileStmt) Address() Address

Address returns the numeric address of the node. See the documentation for the Address type for more information.

func (*WhileStmt) Children

func (n *WhileStmt) 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 (*WhileStmt) Position

func (n *WhileStmt) Position() Position

Position returns the position in the original source code.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL