Documentation ¶
Index ¶
- Constants
- func IsReservedKeyword(s string) bool
- func Parse(input *lexer.Sourcefile) (*ParseTree, []*NameNode)
- func UnescapeString(s string) (string, error)
- type AddrofExprNode
- func (v *AddrofExprNode) Attrs() AttrGroup
- func (v *AddrofExprNode) DocComments() []*DocComment
- func (v *AddrofExprNode) SetAttrs(attrs AttrGroup)
- func (v *AddrofExprNode) SetDocComments(dcs []*DocComment)
- func (v *AddrofExprNode) SetWhere(where lexer.Span)
- func (v *AddrofExprNode) Where() lexer.Span
- type ArrayAccessNode
- func (v *ArrayAccessNode) Attrs() AttrGroup
- func (v *ArrayAccessNode) DocComments() []*DocComment
- func (v *ArrayAccessNode) SetAttrs(attrs AttrGroup)
- func (v *ArrayAccessNode) SetDocComments(dcs []*DocComment)
- func (v *ArrayAccessNode) SetWhere(where lexer.Span)
- func (v *ArrayAccessNode) Where() lexer.Span
- type ArrayLenExprNode
- func (v *ArrayLenExprNode) Attrs() AttrGroup
- func (v *ArrayLenExprNode) DocComments() []*DocComment
- func (v *ArrayLenExprNode) SetAttrs(attrs AttrGroup)
- func (v *ArrayLenExprNode) SetDocComments(dcs []*DocComment)
- func (v *ArrayLenExprNode) SetWhere(where lexer.Span)
- func (v *ArrayLenExprNode) Where() lexer.Span
- type ArrayTypeNode
- type AssignStatNode
- func (v *AssignStatNode) Attrs() AttrGroup
- func (v *AssignStatNode) DocComments() []*DocComment
- func (v *AssignStatNode) SetAttrs(attrs AttrGroup)
- func (v *AssignStatNode) SetDocComments(dcs []*DocComment)
- func (v *AssignStatNode) SetWhere(where lexer.Span)
- func (v *AssignStatNode) Where() lexer.Span
- type Attr
- type AttrGroup
- type BinOpType
- type BinaryExprNode
- func (v *BinaryExprNode) Attrs() AttrGroup
- func (v *BinaryExprNode) DocComments() []*DocComment
- func (v *BinaryExprNode) SetAttrs(attrs AttrGroup)
- func (v *BinaryExprNode) SetDocComments(dcs []*DocComment)
- func (v *BinaryExprNode) SetWhere(where lexer.Span)
- func (v *BinaryExprNode) Where() lexer.Span
- type BinopAssignStatNode
- func (v *BinopAssignStatNode) Attrs() AttrGroup
- func (v *BinopAssignStatNode) DocComments() []*DocComment
- func (v *BinopAssignStatNode) SetAttrs(attrs AttrGroup)
- func (v *BinopAssignStatNode) SetDocComments(dcs []*DocComment)
- func (v *BinopAssignStatNode) SetWhere(where lexer.Span)
- func (v *BinopAssignStatNode) Where() lexer.Span
- type BlockNode
- type BlockStatNode
- type BoolLitNode
- type BreakStatNode
- type CallExprNode
- type CallStatNode
- type CastExprNode
- type CompositeLiteralNode
- func (v *CompositeLiteralNode) Attrs() AttrGroup
- func (v *CompositeLiteralNode) DocComments() []*DocComment
- func (v *CompositeLiteralNode) SetAttrs(attrs AttrGroup)
- func (v *CompositeLiteralNode) SetDocComments(dcs []*DocComment)
- func (v *CompositeLiteralNode) SetWhere(where lexer.Span)
- func (v *CompositeLiteralNode) Where() lexer.Span
- type ConditionBodyNode
- func (v *ConditionBodyNode) Attrs() AttrGroup
- func (v *ConditionBodyNode) DocComments() []*DocComment
- func (v *ConditionBodyNode) SetAttrs(attrs AttrGroup)
- func (v *ConditionBodyNode) SetDocComments(dcs []*DocComment)
- func (v *ConditionBodyNode) SetWhere(where lexer.Span)
- func (v *ConditionBodyNode) Where() lexer.Span
- type DeclNode
- type DeferStatNode
- type DestructVarDeclNode
- type DiscardAccessNode
- func (v *DiscardAccessNode) Attrs() AttrGroup
- func (v *DiscardAccessNode) DocComments() []*DocComment
- func (v *DiscardAccessNode) SetAttrs(attrs AttrGroup)
- func (v *DiscardAccessNode) SetDocComments(dcs []*DocComment)
- func (v *DiscardAccessNode) SetWhere(where lexer.Span)
- func (v *DiscardAccessNode) Where() lexer.Span
- type DocComment
- type Documentable
- type EnumEntryNode
- type EnumPatternNode
- func (v *EnumPatternNode) Attrs() AttrGroup
- func (v *EnumPatternNode) DocComments() []*DocComment
- func (v *EnumPatternNode) SetAttrs(attrs AttrGroup)
- func (v *EnumPatternNode) SetDocComments(dcs []*DocComment)
- func (v *EnumPatternNode) SetWhere(where lexer.Span)
- func (v *EnumPatternNode) Where() lexer.Span
- type EnumTypeNode
- type FunctionDeclNode
- type FunctionHeaderNode
- func (v *FunctionHeaderNode) Attrs() AttrGroup
- func (v *FunctionHeaderNode) DocComments() []*DocComment
- func (v *FunctionHeaderNode) SetAttrs(attrs AttrGroup)
- func (v *FunctionHeaderNode) SetDocComments(dcs []*DocComment)
- func (v *FunctionHeaderNode) SetWhere(where lexer.Span)
- func (v *FunctionHeaderNode) Where() lexer.Span
- type FunctionNode
- type FunctionTypeNode
- func (v *FunctionTypeNode) Attrs() AttrGroup
- func (v *FunctionTypeNode) DocComments() []*DocComment
- func (v *FunctionTypeNode) SetAttrs(attrs AttrGroup)
- func (v *FunctionTypeNode) SetDocComments(dcs []*DocComment)
- func (v *FunctionTypeNode) SetWhere(where lexer.Span)
- func (v *FunctionTypeNode) Where() lexer.Span
- type GenericNameNode
- func (v *GenericNameNode) Attrs() AttrGroup
- func (v *GenericNameNode) DocComments() []*DocComment
- func (v *GenericNameNode) SetAttrs(attrs AttrGroup)
- func (v *GenericNameNode) SetDocComments(dcs []*DocComment)
- func (v *GenericNameNode) SetWhere(where lexer.Span)
- func (v *GenericNameNode) Where() lexer.Span
- type GenericSigilNode
- func (v *GenericSigilNode) Attrs() AttrGroup
- func (v *GenericSigilNode) DocComments() []*DocComment
- func (v *GenericSigilNode) SetAttrs(attrs AttrGroup)
- func (v *GenericSigilNode) SetDocComments(dcs []*DocComment)
- func (v *GenericSigilNode) SetWhere(where lexer.Span)
- func (v *GenericSigilNode) Where() lexer.Span
- type IfStatNode
- type InterfaceTypeNode
- func (v *InterfaceTypeNode) Attrs() AttrGroup
- func (v *InterfaceTypeNode) DocComments() []*DocComment
- func (v *InterfaceTypeNode) SetAttrs(attrs AttrGroup)
- func (v *InterfaceTypeNode) SetDocComments(dcs []*DocComment)
- func (v *InterfaceTypeNode) SetWhere(where lexer.Span)
- func (v *InterfaceTypeNode) Where() lexer.Span
- type LambdaExprNode
- func (v *LambdaExprNode) Attrs() AttrGroup
- func (v *LambdaExprNode) DocComments() []*DocComment
- func (v *LambdaExprNode) SetAttrs(attrs AttrGroup)
- func (v *LambdaExprNode) SetDocComments(dcs []*DocComment)
- func (v *LambdaExprNode) SetWhere(where lexer.Span)
- func (v *LambdaExprNode) Where() lexer.Span
- type LinkDirectiveNode
- func (v *LinkDirectiveNode) Attrs() AttrGroup
- func (v *LinkDirectiveNode) DocComments() []*DocComment
- func (v *LinkDirectiveNode) SetAttrs(attrs AttrGroup)
- func (v *LinkDirectiveNode) SetDocComments(dcs []*DocComment)
- func (v *LinkDirectiveNode) SetWhere(where lexer.Span)
- func (v *LinkDirectiveNode) Where() lexer.Span
- type LocatedString
- type LoopStatNode
- type MatchCaseNode
- type MatchStatNode
- type NameNode
- type NamedTypeNode
- type NextStatNode
- type NumberLitNode
- type OpCategory
- type ParseNode
- type ParseTree
- func (v *ParseTree) AddNode(node ParseNode)
- func (v *ParseTree) Attrs() AttrGroup
- func (v *ParseTree) DocComments() []*DocComment
- func (v *ParseTree) SetAttrs(attrs AttrGroup)
- func (v *ParseTree) SetDocComments(dcs []*DocComment)
- func (v *ParseTree) SetWhere(where lexer.Span)
- func (v *ParseTree) Where() lexer.Span
- type PointerTypeNode
- func (v *PointerTypeNode) Attrs() AttrGroup
- func (v *PointerTypeNode) DocComments() []*DocComment
- func (v *PointerTypeNode) SetAttrs(attrs AttrGroup)
- func (v *PointerTypeNode) SetDocComments(dcs []*DocComment)
- func (v *PointerTypeNode) SetWhere(where lexer.Span)
- func (v *PointerTypeNode) Where() lexer.Span
- type ReferenceTypeNode
- func (v *ReferenceTypeNode) Attrs() AttrGroup
- func (v *ReferenceTypeNode) DocComments() []*DocComment
- func (v *ReferenceTypeNode) SetAttrs(attrs AttrGroup)
- func (v *ReferenceTypeNode) SetDocComments(dcs []*DocComment)
- func (v *ReferenceTypeNode) SetWhere(where lexer.Span)
- func (v *ReferenceTypeNode) Where() lexer.Span
- type ReturnStatNode
- func (v *ReturnStatNode) Attrs() AttrGroup
- func (v *ReturnStatNode) DocComments() []*DocComment
- func (v *ReturnStatNode) SetAttrs(attrs AttrGroup)
- func (v *ReturnStatNode) SetDocComments(dcs []*DocComment)
- func (v *ReturnStatNode) SetWhere(where lexer.Span)
- func (v *ReturnStatNode) Where() lexer.Span
- type RuneLitNode
- type SizeofExprNode
- func (v *SizeofExprNode) Attrs() AttrGroup
- func (v *SizeofExprNode) DocComments() []*DocComment
- func (v *SizeofExprNode) SetAttrs(attrs AttrGroup)
- func (v *SizeofExprNode) SetDocComments(dcs []*DocComment)
- func (v *SizeofExprNode) SetWhere(where lexer.Span)
- func (v *SizeofExprNode) Where() lexer.Span
- type StringLitNode
- type StructAccessNode
- func (v *StructAccessNode) Attrs() AttrGroup
- func (v *StructAccessNode) DocComments() []*DocComment
- func (v *StructAccessNode) SetAttrs(attrs AttrGroup)
- func (v *StructAccessNode) SetDocComments(dcs []*DocComment)
- func (v *StructAccessNode) SetWhere(where lexer.Span)
- func (v *StructAccessNode) Where() lexer.Span
- type StructMemberNode
- func (v *StructMemberNode) Attrs() AttrGroup
- func (v *StructMemberNode) DocComments() []*DocComment
- func (v *StructMemberNode) SetAttrs(attrs AttrGroup)
- func (v *StructMemberNode) SetDocComments(dcs []*DocComment)
- func (v *StructMemberNode) SetWhere(where lexer.Span)
- func (v *StructMemberNode) Where() lexer.Span
- type StructTypeNode
- func (v *StructTypeNode) Attrs() AttrGroup
- func (v *StructTypeNode) DocComments() []*DocComment
- func (v *StructTypeNode) SetAttrs(attrs AttrGroup)
- func (v *StructTypeNode) SetDocComments(dcs []*DocComment)
- func (v *StructTypeNode) SetWhere(where lexer.Span)
- func (v *StructTypeNode) Where() lexer.Span
- type TupleLiteralNode
- func (v *TupleLiteralNode) Attrs() AttrGroup
- func (v *TupleLiteralNode) DocComments() []*DocComment
- func (v *TupleLiteralNode) SetAttrs(attrs AttrGroup)
- func (v *TupleLiteralNode) SetDocComments(dcs []*DocComment)
- func (v *TupleLiteralNode) SetWhere(where lexer.Span)
- func (v *TupleLiteralNode) Where() lexer.Span
- type TupleTypeNode
- type TypeDeclNode
- type TypeParameterNode
- func (v *TypeParameterNode) Attrs() AttrGroup
- func (v *TypeParameterNode) DocComments() []*DocComment
- func (v *TypeParameterNode) SetAttrs(attrs AttrGroup)
- func (v *TypeParameterNode) SetDocComments(dcs []*DocComment)
- func (v *TypeParameterNode) SetWhere(where lexer.Span)
- func (v *TypeParameterNode) Where() lexer.Span
- type TypeReferenceNode
- func (v *TypeReferenceNode) Attrs() AttrGroup
- func (v *TypeReferenceNode) DocComments() []*DocComment
- func (v *TypeReferenceNode) SetAttrs(attrs AttrGroup)
- func (v *TypeReferenceNode) SetDocComments(dcs []*DocComment)
- func (v *TypeReferenceNode) SetWhere(where lexer.Span)
- func (v *TypeReferenceNode) Where() lexer.Span
- type UnOpType
- type UnaryExprNode
- type UseDirectiveNode
- func (v *UseDirectiveNode) Attrs() AttrGroup
- func (v *UseDirectiveNode) DocComments() []*DocComment
- func (v *UseDirectiveNode) SetAttrs(attrs AttrGroup)
- func (v *UseDirectiveNode) SetDocComments(dcs []*DocComment)
- func (v *UseDirectiveNode) SetWhere(where lexer.Span)
- func (v *UseDirectiveNode) Where() lexer.Span
- type VarDeclNode
- type VariableAccessNode
- func (v *VariableAccessNode) Attrs() AttrGroup
- func (v *VariableAccessNode) DocComments() []*DocComment
- func (v *VariableAccessNode) SetAttrs(attrs AttrGroup)
- func (v *VariableAccessNode) SetDocComments(dcs []*DocComment)
- func (v *VariableAccessNode) SetWhere(where lexer.Span)
- func (v *VariableAccessNode) Where() lexer.Span
Constants ¶
View Source
const ( KEYWORD_AS string = "as" KEYWORD_BREAK string = "break" KEYWORD_C string = "C" KEYWORD_DEFER string = "defer" KEYWORD_DISCARD string = "_" KEYWORD_DO string = "do" KEYWORD_ELSE string = "else" KEYWORD_ENUM string = "enum" KEYWORD_FALSE string = "false" KEYWORD_FOR string = "for" KEYWORD_FUNC string = "func" KEYWORD_LEN string = "len" KEYWORD_IF string = "if" KEYWORD_MATCH string = "match" KEYWORD_MUT string = "mut" KEYWORD_NEXT string = "next" KEYWORD_PUB string = "pub" KEYWORD_RETURN string = "return" KEYWORD_SIZEOF string = "sizeof" KEYWORD_STRUCT string = "struct" KEYWORD_INTERFACE string = "interface" KEYWORD_TRUE string = "true" KEYWORD_USE string = "use" KEYWORD_VOID string = "void" )
View Source
const ( SIMPLE_ESCAPE_VALUES string = "\a\b\f\n\r\t\v\\'\"" + string(0) SIMPLE_ESCAPE_NAMES string = "abfnrtv\\'\"0" )
Variables ¶
This section is empty.
Functions ¶
func IsReservedKeyword ¶
func UnescapeString ¶
Types ¶
type AddrofExprNode ¶
type AddrofExprNode struct { Value ParseNode Mutable bool IsReference bool // contains filtered or unexported fields }
func (*AddrofExprNode) DocComments ¶
func (v *AddrofExprNode) DocComments() []*DocComment
func (*AddrofExprNode) SetDocComments ¶
func (v *AddrofExprNode) SetDocComments(dcs []*DocComment)
type ArrayAccessNode ¶
type ArrayAccessNode struct { Array ParseNode Index ParseNode // contains filtered or unexported fields }
func (*ArrayAccessNode) DocComments ¶
func (v *ArrayAccessNode) DocComments() []*DocComment
func (*ArrayAccessNode) SetDocComments ¶
func (v *ArrayAccessNode) SetDocComments(dcs []*DocComment)
type ArrayLenExprNode ¶
type ArrayLenExprNode struct { ArrayExpr ParseNode // contains filtered or unexported fields }
func (*ArrayLenExprNode) DocComments ¶
func (v *ArrayLenExprNode) DocComments() []*DocComment
func (*ArrayLenExprNode) SetDocComments ¶
func (v *ArrayLenExprNode) SetDocComments(dcs []*DocComment)
type ArrayTypeNode ¶
type ArrayTypeNode struct { MemberType *TypeReferenceNode IsFixedLength bool Length int // contains filtered or unexported fields }
func (*ArrayTypeNode) DocComments ¶
func (v *ArrayTypeNode) DocComments() []*DocComment
func (*ArrayTypeNode) SetDocComments ¶
func (v *ArrayTypeNode) SetDocComments(dcs []*DocComment)
type AssignStatNode ¶
type AssignStatNode struct { Target ParseNode Value ParseNode // contains filtered or unexported fields }
func (*AssignStatNode) DocComments ¶
func (v *AssignStatNode) DocComments() []*DocComment
func (*AssignStatNode) SetDocComments ¶
func (v *AssignStatNode) SetDocComments(dcs []*DocComment)
type Attr ¶
type BinOpType ¶
type BinOpType int
func (BinOpType) Category ¶
func (v BinOpType) Category() OpCategory
type BinaryExprNode ¶
type BinaryExprNode struct { Lhand ParseNode Rhand ParseNode Operator BinOpType // contains filtered or unexported fields }
expressions
func (*BinaryExprNode) DocComments ¶
func (v *BinaryExprNode) DocComments() []*DocComment
func (*BinaryExprNode) SetDocComments ¶
func (v *BinaryExprNode) SetDocComments(dcs []*DocComment)
type BinopAssignStatNode ¶
type BinopAssignStatNode struct { Target ParseNode Operator BinOpType Value ParseNode // contains filtered or unexported fields }
func (*BinopAssignStatNode) DocComments ¶
func (v *BinopAssignStatNode) DocComments() []*DocComment
func (*BinopAssignStatNode) SetDocComments ¶
func (v *BinopAssignStatNode) SetDocComments(dcs []*DocComment)
type BlockNode ¶
type BlockNode struct { NonScoping bool Nodes []ParseNode // contains filtered or unexported fields }
func (*BlockNode) DocComments ¶
func (v *BlockNode) DocComments() []*DocComment
func (*BlockNode) SetDocComments ¶
func (v *BlockNode) SetDocComments(dcs []*DocComment)
type BlockStatNode ¶
type BlockStatNode struct { Body *BlockNode // contains filtered or unexported fields }
func (*BlockStatNode) DocComments ¶
func (v *BlockStatNode) DocComments() []*DocComment
func (*BlockStatNode) SetDocComments ¶
func (v *BlockStatNode) SetDocComments(dcs []*DocComment)
type BoolLitNode ¶
type BoolLitNode struct { Value bool // contains filtered or unexported fields }
func (*BoolLitNode) DocComments ¶
func (v *BoolLitNode) DocComments() []*DocComment
func (*BoolLitNode) SetDocComments ¶
func (v *BoolLitNode) SetDocComments(dcs []*DocComment)
type BreakStatNode ¶
type BreakStatNode struct {
// contains filtered or unexported fields
}
func (*BreakStatNode) DocComments ¶
func (v *BreakStatNode) DocComments() []*DocComment
func (*BreakStatNode) SetDocComments ¶
func (v *BreakStatNode) SetDocComments(dcs []*DocComment)
type CallExprNode ¶
type CallExprNode struct { Function ParseNode Arguments []ParseNode // contains filtered or unexported fields }
func (*CallExprNode) DocComments ¶
func (v *CallExprNode) DocComments() []*DocComment
func (*CallExprNode) SetDocComments ¶
func (v *CallExprNode) SetDocComments(dcs []*DocComment)
type CallStatNode ¶
type CallStatNode struct { Call *CallExprNode // contains filtered or unexported fields }
func (*CallStatNode) DocComments ¶
func (v *CallStatNode) DocComments() []*DocComment
func (*CallStatNode) SetDocComments ¶
func (v *CallStatNode) SetDocComments(dcs []*DocComment)
type CastExprNode ¶
type CastExprNode struct { Type *TypeReferenceNode Value ParseNode // contains filtered or unexported fields }
func (*CastExprNode) DocComments ¶
func (v *CastExprNode) DocComments() []*DocComment
func (*CastExprNode) SetDocComments ¶
func (v *CastExprNode) SetDocComments(dcs []*DocComment)
type CompositeLiteralNode ¶
type CompositeLiteralNode struct { Type *TypeReferenceNode Fields []LocatedString // has same length as Values. missing fields have zero value. Values []ParseNode // contains filtered or unexported fields }
func (*CompositeLiteralNode) DocComments ¶
func (v *CompositeLiteralNode) DocComments() []*DocComment
func (*CompositeLiteralNode) SetDocComments ¶
func (v *CompositeLiteralNode) SetDocComments(dcs []*DocComment)
type ConditionBodyNode ¶
type ConditionBodyNode struct { Condition ParseNode Body *BlockNode // contains filtered or unexported fields }
func (*ConditionBodyNode) DocComments ¶
func (v *ConditionBodyNode) DocComments() []*DocComment
func (*ConditionBodyNode) SetDocComments ¶
func (v *ConditionBodyNode) SetDocComments(dcs []*DocComment)
type DeferStatNode ¶
type DeferStatNode struct { Call *CallExprNode // contains filtered or unexported fields }
statements
func (*DeferStatNode) DocComments ¶
func (v *DeferStatNode) DocComments() []*DocComment
func (*DeferStatNode) SetDocComments ¶
func (v *DeferStatNode) SetDocComments(dcs []*DocComment)
type DestructVarDeclNode ¶
type DestructVarDeclNode struct { Names []LocatedString Mutable []bool Value ParseNode // contains filtered or unexported fields }
type DiscardAccessNode ¶
type DiscardAccessNode struct {
// contains filtered or unexported fields
}
func (*DiscardAccessNode) DocComments ¶
func (v *DiscardAccessNode) DocComments() []*DocComment
func (*DiscardAccessNode) SetDocComments ¶
func (v *DiscardAccessNode) SetDocComments(dcs []*DocComment)
type DocComment ¶
type Documentable ¶
type Documentable interface {
DocComments() []*DocComment
}
type EnumEntryNode ¶
type EnumEntryNode struct { Name LocatedString Value *NumberLitNode TupleBody *TupleTypeNode StructBody *StructTypeNode // contains filtered or unexported fields }
func (*EnumEntryNode) DocComments ¶
func (v *EnumEntryNode) DocComments() []*DocComment
func (*EnumEntryNode) SetDocComments ¶
func (v *EnumEntryNode) SetDocComments(dcs []*DocComment)
type EnumPatternNode ¶
type EnumPatternNode struct { MemberName *NameNode Names []LocatedString // contains filtered or unexported fields }
func (*EnumPatternNode) DocComments ¶
func (v *EnumPatternNode) DocComments() []*DocComment
func (*EnumPatternNode) SetDocComments ¶
func (v *EnumPatternNode) SetDocComments(dcs []*DocComment)
type EnumTypeNode ¶
type EnumTypeNode struct { Members []*EnumEntryNode GenericSigil *GenericSigilNode // contains filtered or unexported fields }
func (*EnumTypeNode) DocComments ¶
func (v *EnumTypeNode) DocComments() []*DocComment
func (*EnumTypeNode) SetDocComments ¶
func (v *EnumTypeNode) SetDocComments(dcs []*DocComment)
type FunctionDeclNode ¶
type FunctionDeclNode struct { Function *FunctionNode // contains filtered or unexported fields }
type FunctionHeaderNode ¶
type FunctionHeaderNode struct { Anonymous bool Name LocatedString GenericSigil *GenericSigilNode Arguments []*VarDeclNode ReturnType *TypeReferenceNode Variadic bool StaticReceiverType *NamedTypeNode // use this if static Receiver *VarDeclNode // use this if not static. this would be so much nicer with tagged unions... // contains filtered or unexported fields }
func (*FunctionHeaderNode) DocComments ¶
func (v *FunctionHeaderNode) DocComments() []*DocComment
func (*FunctionHeaderNode) SetDocComments ¶
func (v *FunctionHeaderNode) SetDocComments(dcs []*DocComment)
type FunctionNode ¶
type FunctionNode struct { Header *FunctionHeaderNode Body *BlockNode Stat ParseNode Expr ParseNode // contains filtered or unexported fields }
func (*FunctionNode) DocComments ¶
func (v *FunctionNode) DocComments() []*DocComment
func (*FunctionNode) SetDocComments ¶
func (v *FunctionNode) SetDocComments(dcs []*DocComment)
type FunctionTypeNode ¶
type FunctionTypeNode struct { ParameterTypes []*TypeReferenceNode ReturnType *TypeReferenceNode IsVariadic bool // contains filtered or unexported fields }
func (*FunctionTypeNode) DocComments ¶
func (v *FunctionTypeNode) DocComments() []*DocComment
func (*FunctionTypeNode) SetDocComments ¶
func (v *FunctionTypeNode) SetDocComments(dcs []*DocComment)
type GenericNameNode ¶
type GenericNameNode struct { Name *NameNode GenericParameters []*TypeReferenceNode // contains filtered or unexported fields }
func (*GenericNameNode) DocComments ¶
func (v *GenericNameNode) DocComments() []*DocComment
func (*GenericNameNode) SetDocComments ¶
func (v *GenericNameNode) SetDocComments(dcs []*DocComment)
type GenericSigilNode ¶
type GenericSigilNode struct { GenericParameters []*TypeParameterNode // contains filtered or unexported fields }
func (*GenericSigilNode) DocComments ¶
func (v *GenericSigilNode) DocComments() []*DocComment
func (*GenericSigilNode) SetDocComments ¶
func (v *GenericSigilNode) SetDocComments(dcs []*DocComment)
type IfStatNode ¶
type IfStatNode struct { Parts []*ConditionBodyNode ElseBody *BlockNode // contains filtered or unexported fields }
func (*IfStatNode) DocComments ¶
func (v *IfStatNode) DocComments() []*DocComment
func (*IfStatNode) SetDocComments ¶
func (v *IfStatNode) SetDocComments(dcs []*DocComment)
type InterfaceTypeNode ¶
type InterfaceTypeNode struct { Functions []*FunctionHeaderNode GenericSigil *GenericSigilNode // contains filtered or unexported fields }
func (*InterfaceTypeNode) DocComments ¶
func (v *InterfaceTypeNode) DocComments() []*DocComment
func (*InterfaceTypeNode) SetDocComments ¶
func (v *InterfaceTypeNode) SetDocComments(dcs []*DocComment)
type LambdaExprNode ¶
type LambdaExprNode struct { Function *FunctionNode // contains filtered or unexported fields }
func (*LambdaExprNode) DocComments ¶
func (v *LambdaExprNode) DocComments() []*DocComment
func (*LambdaExprNode) SetDocComments ¶
func (v *LambdaExprNode) SetDocComments(dcs []*DocComment)
type LinkDirectiveNode ¶
type LinkDirectiveNode struct { Library LocatedString // contains filtered or unexported fields }
directives
func (*LinkDirectiveNode) DocComments ¶
func (v *LinkDirectiveNode) DocComments() []*DocComment
func (*LinkDirectiveNode) SetDocComments ¶
func (v *LinkDirectiveNode) SetDocComments(dcs []*DocComment)
type LocatedString ¶
func NewLocatedString ¶
func NewLocatedString(token *lexer.Token) LocatedString
func (LocatedString) IsEmpty ¶
func (v LocatedString) IsEmpty() bool
type LoopStatNode ¶
type LoopStatNode struct { Condition ParseNode Body *BlockNode // contains filtered or unexported fields }
func (*LoopStatNode) DocComments ¶
func (v *LoopStatNode) DocComments() []*DocComment
func (*LoopStatNode) SetDocComments ¶
func (v *LoopStatNode) SetDocComments(dcs []*DocComment)
type MatchCaseNode ¶
type MatchCaseNode struct { Pattern ParseNode Body ParseNode // contains filtered or unexported fields }
func (*MatchCaseNode) DocComments ¶
func (v *MatchCaseNode) DocComments() []*DocComment
func (*MatchCaseNode) SetDocComments ¶
func (v *MatchCaseNode) SetDocComments(dcs []*DocComment)
type MatchStatNode ¶
type MatchStatNode struct { Value ParseNode Cases []*MatchCaseNode // contains filtered or unexported fields }
func (*MatchStatNode) DocComments ¶
func (v *MatchStatNode) DocComments() []*DocComment
func (*MatchStatNode) SetDocComments ¶
func (v *MatchStatNode) SetDocComments(dcs []*DocComment)
type NameNode ¶
type NameNode struct { Modules []LocatedString Name LocatedString // contains filtered or unexported fields }
for handling modules
func (*NameNode) DocComments ¶
func (v *NameNode) DocComments() []*DocComment
func (*NameNode) SetDocComments ¶
func (v *NameNode) SetDocComments(dcs []*DocComment)
type NamedTypeNode ¶
type NamedTypeNode struct { Name *NameNode // contains filtered or unexported fields }
func (*NamedTypeNode) DocComments ¶
func (v *NamedTypeNode) DocComments() []*DocComment
func (*NamedTypeNode) SetDocComments ¶
func (v *NamedTypeNode) SetDocComments(dcs []*DocComment)
type NextStatNode ¶
type NextStatNode struct {
// contains filtered or unexported fields
}
func (*NextStatNode) DocComments ¶
func (v *NextStatNode) DocComments() []*DocComment
func (*NextStatNode) SetDocComments ¶
func (v *NextStatNode) SetDocComments(dcs []*DocComment)
type NumberLitNode ¶
type NumberLitNode struct { IsFloat bool IntValue *big.Int FloatValue float64 FloatSize rune // contains filtered or unexported fields }
func (*NumberLitNode) DocComments ¶
func (v *NumberLitNode) DocComments() []*DocComment
func (*NumberLitNode) SetDocComments ¶
func (v *NumberLitNode) SetDocComments(dcs []*DocComment)
type OpCategory ¶
type OpCategory int
const ( OP_ARITHMETIC OpCategory = iota OP_COMPARISON OP_BITWISE OP_LOGICAL )
func (OpCategory) PrettyString ¶
func (v OpCategory) PrettyString() string
type ParseNode ¶
type ParseNode interface { Where() lexer.Span SetWhere(lexer.Span) Attrs() AttrGroup SetAttrs(AttrGroup) Documentable SetDocComments([]*DocComment) }
type ParseTree ¶
type ParseTree struct { Source *lexer.Sourcefile Nodes []ParseNode // contains filtered or unexported fields }
main tree
func (*ParseTree) DocComments ¶
func (v *ParseTree) DocComments() []*DocComment
func (*ParseTree) SetDocComments ¶
func (v *ParseTree) SetDocComments(dcs []*DocComment)
type PointerTypeNode ¶
type PointerTypeNode struct { TargetType *TypeReferenceNode Mutable bool // contains filtered or unexported fields }
func (*PointerTypeNode) DocComments ¶
func (v *PointerTypeNode) DocComments() []*DocComment
func (*PointerTypeNode) SetDocComments ¶
func (v *PointerTypeNode) SetDocComments(dcs []*DocComment)
type ReferenceTypeNode ¶
type ReferenceTypeNode struct { TargetType *TypeReferenceNode Mutable bool // contains filtered or unexported fields }
types
func (*ReferenceTypeNode) DocComments ¶
func (v *ReferenceTypeNode) DocComments() []*DocComment
func (*ReferenceTypeNode) SetDocComments ¶
func (v *ReferenceTypeNode) SetDocComments(dcs []*DocComment)
type ReturnStatNode ¶
type ReturnStatNode struct { Value ParseNode // contains filtered or unexported fields }
func (*ReturnStatNode) DocComments ¶
func (v *ReturnStatNode) DocComments() []*DocComment
func (*ReturnStatNode) SetDocComments ¶
func (v *ReturnStatNode) SetDocComments(dcs []*DocComment)
type RuneLitNode ¶
type RuneLitNode struct { Value rune // contains filtered or unexported fields }
func (*RuneLitNode) DocComments ¶
func (v *RuneLitNode) DocComments() []*DocComment
func (*RuneLitNode) SetDocComments ¶
func (v *RuneLitNode) SetDocComments(dcs []*DocComment)
type SizeofExprNode ¶
type SizeofExprNode struct { Value ParseNode Type *TypeReferenceNode // contains filtered or unexported fields }
func (*SizeofExprNode) DocComments ¶
func (v *SizeofExprNode) DocComments() []*DocComment
func (*SizeofExprNode) SetDocComments ¶
func (v *SizeofExprNode) SetDocComments(dcs []*DocComment)
type StringLitNode ¶
func (*StringLitNode) DocComments ¶
func (v *StringLitNode) DocComments() []*DocComment
func (*StringLitNode) SetDocComments ¶
func (v *StringLitNode) SetDocComments(dcs []*DocComment)
type StructAccessNode ¶
type StructAccessNode struct { Struct ParseNode Member LocatedString // contains filtered or unexported fields }
func (*StructAccessNode) DocComments ¶
func (v *StructAccessNode) DocComments() []*DocComment
func (*StructAccessNode) SetDocComments ¶
func (v *StructAccessNode) SetDocComments(dcs []*DocComment)
type StructMemberNode ¶
type StructMemberNode struct { Public bool Name LocatedString Type *TypeReferenceNode // contains filtered or unexported fields }
func (*StructMemberNode) DocComments ¶
func (v *StructMemberNode) DocComments() []*DocComment
func (*StructMemberNode) SetDocComments ¶
func (v *StructMemberNode) SetDocComments(dcs []*DocComment)
type StructTypeNode ¶
type StructTypeNode struct { Members []*StructMemberNode GenericSigil *GenericSigilNode // contains filtered or unexported fields }
func (*StructTypeNode) DocComments ¶
func (v *StructTypeNode) DocComments() []*DocComment
func (*StructTypeNode) SetDocComments ¶
func (v *StructTypeNode) SetDocComments(dcs []*DocComment)
type TupleLiteralNode ¶
type TupleLiteralNode struct { Values []ParseNode // contains filtered or unexported fields }
func (*TupleLiteralNode) DocComments ¶
func (v *TupleLiteralNode) DocComments() []*DocComment
func (*TupleLiteralNode) SetDocComments ¶
func (v *TupleLiteralNode) SetDocComments(dcs []*DocComment)
type TupleTypeNode ¶
type TupleTypeNode struct { MemberTypes []*TypeReferenceNode // contains filtered or unexported fields }
func (*TupleTypeNode) DocComments ¶
func (v *TupleTypeNode) DocComments() []*DocComment
func (*TupleTypeNode) SetDocComments ¶
func (v *TupleTypeNode) SetDocComments(dcs []*DocComment)
type TypeDeclNode ¶
type TypeDeclNode struct { Name LocatedString GenericSigil *GenericSigilNode Type ParseNode // contains filtered or unexported fields }
type TypeParameterNode ¶
type TypeParameterNode struct { Name LocatedString Constraints []*TypeReferenceNode // should be all interface type references // contains filtered or unexported fields }
func (*TypeParameterNode) DocComments ¶
func (v *TypeParameterNode) DocComments() []*DocComment
func (*TypeParameterNode) SetDocComments ¶
func (v *TypeParameterNode) SetDocComments(dcs []*DocComment)
type TypeReferenceNode ¶
type TypeReferenceNode struct { Type ParseNode GenericArguments []*TypeReferenceNode // contains filtered or unexported fields }
func (*TypeReferenceNode) DocComments ¶
func (v *TypeReferenceNode) DocComments() []*DocComment
func (*TypeReferenceNode) SetDocComments ¶
func (v *TypeReferenceNode) SetDocComments(dcs []*DocComment)
type UnaryExprNode ¶
type UnaryExprNode struct { Value ParseNode Operator UnOpType // contains filtered or unexported fields }
func (*UnaryExprNode) DocComments ¶
func (v *UnaryExprNode) DocComments() []*DocComment
func (*UnaryExprNode) SetDocComments ¶
func (v *UnaryExprNode) SetDocComments(dcs []*DocComment)
type UseDirectiveNode ¶
type UseDirectiveNode struct { Module *NameNode // contains filtered or unexported fields }
func (*UseDirectiveNode) DocComments ¶
func (v *UseDirectiveNode) DocComments() []*DocComment
func (*UseDirectiveNode) SetDocComments ¶
func (v *UseDirectiveNode) SetDocComments(dcs []*DocComment)
type VarDeclNode ¶
type VarDeclNode struct { Name LocatedString Type *TypeReferenceNode Value ParseNode Mutable LocatedString IsImplicit bool ReceiverGenericSigil *GenericSigilNode // contains filtered or unexported fields }
type VariableAccessNode ¶
type VariableAccessNode struct { Name *NameNode GenericParameters []*TypeReferenceNode // TODO rename to GArguments // contains filtered or unexported fields }
access expressions
func (*VariableAccessNode) DocComments ¶
func (v *VariableAccessNode) DocComments() []*DocComment
func (*VariableAccessNode) SetDocComments ¶
func (v *VariableAccessNode) SetDocComments(dcs []*DocComment)
Click to show internal directories.
Click to hide internal directories.