Documentation ¶
Overview ¶
Package ast declares types representing a JavaScript AST.
Warning ¶
The parser and AST interfaces are still works-in-progress (particularly where node types are concerned) and may change in the future.
Index ¶
- type ArrayLiteral
- type AssignExpression
- type BadExpression
- type BadStatement
- type BinaryExpression
- type BlockStatement
- type BooleanLiteral
- type BracketExpression
- type BranchStatement
- type CallExpression
- type CaseStatement
- type CatchStatement
- type ConditionalExpression
- type DebuggerStatement
- type Declaration
- type DoWhileStatement
- type DotExpression
- type EmptyStatement
- type Expression
- type ExpressionStatement
- type ForInStatement
- type ForStatement
- type FunctionDeclaration
- type FunctionLiteral
- type Identifier
- type IfStatement
- type LabelledStatement
- type NewExpression
- type Node
- type NullLiteral
- type NumberLiteral
- type ObjectLiteral
- type ParameterList
- type Program
- type Property
- type RegExpLiteral
- type ReturnStatement
- type SequenceExpression
- type Statement
- type StringLiteral
- type SwitchStatement
- type ThisExpression
- type ThrowStatement
- type TryStatement
- type UnaryExpression
- type VariableDeclaration
- type VariableExpression
- type VariableStatement
- type WhileStatement
- type WithStatement
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ArrayLiteral ¶
type ArrayLiteral struct { LeftBracket file.Idx RightBracket file.Idx Value []Expression }
func (*ArrayLiteral) Idx0 ¶
func (self *ArrayLiteral) Idx0() file.Idx
func (*ArrayLiteral) Idx1 ¶
func (self *ArrayLiteral) Idx1() file.Idx
type AssignExpression ¶
type AssignExpression struct { Operator token.Token Left Expression Right Expression }
func (*AssignExpression) Idx0 ¶
func (self *AssignExpression) Idx0() file.Idx
func (*AssignExpression) Idx1 ¶
func (self *AssignExpression) Idx1() file.Idx
type BadExpression ¶
func (*BadExpression) Idx0 ¶
func (self *BadExpression) Idx0() file.Idx
func (*BadExpression) Idx1 ¶
func (self *BadExpression) Idx1() file.Idx
type BadStatement ¶
func (*BadStatement) Idx0 ¶
func (self *BadStatement) Idx0() file.Idx
func (*BadStatement) Idx1 ¶
func (self *BadStatement) Idx1() file.Idx
type BinaryExpression ¶
type BinaryExpression struct { Operator token.Token Left Expression Right Expression Comparison bool }
func (*BinaryExpression) Idx0 ¶
func (self *BinaryExpression) Idx0() file.Idx
func (*BinaryExpression) Idx1 ¶
func (self *BinaryExpression) Idx1() file.Idx
type BlockStatement ¶
func (*BlockStatement) Idx0 ¶
func (self *BlockStatement) Idx0() file.Idx
func (*BlockStatement) Idx1 ¶
func (self *BlockStatement) Idx1() file.Idx
type BooleanLiteral ¶
func (*BooleanLiteral) Idx0 ¶
func (self *BooleanLiteral) Idx0() file.Idx
func (*BooleanLiteral) Idx1 ¶
func (self *BooleanLiteral) Idx1() file.Idx
type BracketExpression ¶
type BracketExpression struct { Left Expression Member Expression LeftBracket file.Idx RightBracket file.Idx }
func (*BracketExpression) Idx0 ¶
func (self *BracketExpression) Idx0() file.Idx
func (*BracketExpression) Idx1 ¶
func (self *BracketExpression) Idx1() file.Idx
type BranchStatement ¶
type BranchStatement struct { Idx file.Idx Token token.Token Label *Identifier }
func (*BranchStatement) Idx0 ¶
func (self *BranchStatement) Idx0() file.Idx
func (*BranchStatement) Idx1 ¶
func (self *BranchStatement) Idx1() file.Idx
type CallExpression ¶
type CallExpression struct { Callee Expression LeftParenthesis file.Idx ArgumentList []Expression RightParenthesis file.Idx }
func (*CallExpression) Idx0 ¶
func (self *CallExpression) Idx0() file.Idx
func (*CallExpression) Idx1 ¶
func (self *CallExpression) Idx1() file.Idx
type CaseStatement ¶
type CaseStatement struct { Case file.Idx Test Expression Consequent []Statement }
func (*CaseStatement) Idx0 ¶
func (self *CaseStatement) Idx0() file.Idx
func (*CaseStatement) Idx1 ¶
func (self *CaseStatement) Idx1() file.Idx
type CatchStatement ¶
type CatchStatement struct { Catch file.Idx Parameter *Identifier Body Statement }
func (*CatchStatement) Idx0 ¶
func (self *CatchStatement) Idx0() file.Idx
func (*CatchStatement) Idx1 ¶
func (self *CatchStatement) Idx1() file.Idx
type ConditionalExpression ¶
type ConditionalExpression struct { Test Expression Consequent Expression Alternate Expression }
func (*ConditionalExpression) Idx0 ¶
func (self *ConditionalExpression) Idx0() file.Idx
func (*ConditionalExpression) Idx1 ¶
func (self *ConditionalExpression) Idx1() file.Idx
type DebuggerStatement ¶
func (*DebuggerStatement) Idx0 ¶
func (self *DebuggerStatement) Idx0() file.Idx
func (*DebuggerStatement) Idx1 ¶
func (self *DebuggerStatement) Idx1() file.Idx
type Declaration ¶
type Declaration interface {
// contains filtered or unexported methods
}
All declaration nodes implement the Declaration interface.
type DoWhileStatement ¶
type DoWhileStatement struct { Do file.Idx Test Expression Body Statement }
func (*DoWhileStatement) Idx0 ¶
func (self *DoWhileStatement) Idx0() file.Idx
func (*DoWhileStatement) Idx1 ¶
func (self *DoWhileStatement) Idx1() file.Idx
type DotExpression ¶
type DotExpression struct { Left Expression Identifier Identifier }
func (*DotExpression) Idx0 ¶
func (self *DotExpression) Idx0() file.Idx
func (*DotExpression) Idx1 ¶
func (self *DotExpression) Idx1() file.Idx
type EmptyStatement ¶
func (*EmptyStatement) Idx0 ¶
func (self *EmptyStatement) Idx0() file.Idx
func (*EmptyStatement) Idx1 ¶
func (self *EmptyStatement) Idx1() file.Idx
type Expression ¶
type Expression interface { Node // contains filtered or unexported methods }
All expression nodes implement the Expression interface.
type ExpressionStatement ¶
type ExpressionStatement struct {
Expression Expression
}
func (*ExpressionStatement) Idx0 ¶
func (self *ExpressionStatement) Idx0() file.Idx
func (*ExpressionStatement) Idx1 ¶
func (self *ExpressionStatement) Idx1() file.Idx
type ForInStatement ¶
type ForInStatement struct { For file.Idx Into Expression Source Expression Body Statement }
func (*ForInStatement) Idx0 ¶
func (self *ForInStatement) Idx0() file.Idx
func (*ForInStatement) Idx1 ¶
func (self *ForInStatement) Idx1() file.Idx
type ForStatement ¶
type ForStatement struct { For file.Idx Initializer Expression Update Expression Test Expression Body Statement }
func (*ForStatement) Idx0 ¶
func (self *ForStatement) Idx0() file.Idx
func (*ForStatement) Idx1 ¶
func (self *ForStatement) Idx1() file.Idx
type FunctionDeclaration ¶
type FunctionDeclaration struct {
Function *FunctionLiteral
}
type FunctionLiteral ¶
type FunctionLiteral struct { Function file.Idx Name *Identifier ParameterList *ParameterList Body Statement Source string DeclarationList []Declaration }
func (*FunctionLiteral) Idx0 ¶
func (self *FunctionLiteral) Idx0() file.Idx
func (*FunctionLiteral) Idx1 ¶
func (self *FunctionLiteral) Idx1() file.Idx
type Identifier ¶
func (*Identifier) Idx0 ¶
func (self *Identifier) Idx0() file.Idx
func (*Identifier) Idx1 ¶
func (self *Identifier) Idx1() file.Idx
type IfStatement ¶
type IfStatement struct { If file.Idx Test Expression Consequent Statement Alternate Statement }
func (*IfStatement) Idx0 ¶
func (self *IfStatement) Idx0() file.Idx
func (*IfStatement) Idx1 ¶
func (self *IfStatement) Idx1() file.Idx
type LabelledStatement ¶
type LabelledStatement struct { Label *Identifier Colon file.Idx Statement Statement }
func (*LabelledStatement) Idx0 ¶
func (self *LabelledStatement) Idx0() file.Idx
func (*LabelledStatement) Idx1 ¶
func (self *LabelledStatement) Idx1() file.Idx
type NewExpression ¶
type NewExpression struct { New file.Idx Callee Expression LeftParenthesis file.Idx ArgumentList []Expression RightParenthesis file.Idx }
func (*NewExpression) Idx0 ¶
func (self *NewExpression) Idx0() file.Idx
func (*NewExpression) Idx1 ¶
func (self *NewExpression) Idx1() file.Idx
type Node ¶
type Node interface { Idx0() file.Idx // The index of the first character belonging to the node Idx1() file.Idx // The index of the first character immediately after the node }
All nodes implement the Node interface.
type NullLiteral ¶
func (*NullLiteral) Idx0 ¶
func (self *NullLiteral) Idx0() file.Idx
func (*NullLiteral) Idx1 ¶
func (self *NullLiteral) Idx1() file.Idx
type NumberLiteral ¶
func (*NumberLiteral) Idx0 ¶
func (self *NumberLiteral) Idx0() file.Idx
func (*NumberLiteral) Idx1 ¶
func (self *NumberLiteral) Idx1() file.Idx
type ObjectLiteral ¶
func (*ObjectLiteral) Idx0 ¶
func (self *ObjectLiteral) Idx0() file.Idx
func (*ObjectLiteral) Idx1 ¶
func (self *ObjectLiteral) Idx1() file.Idx
type ParameterList ¶
type ParameterList struct { Opening file.Idx List []*Identifier Closing file.Idx }
type Program ¶
type Property ¶
type Property struct { Key string Kind string Value Expression }
type RegExpLiteral ¶
func (*RegExpLiteral) Idx0 ¶
func (self *RegExpLiteral) Idx0() file.Idx
func (*RegExpLiteral) Idx1 ¶
func (self *RegExpLiteral) Idx1() file.Idx
type ReturnStatement ¶
type ReturnStatement struct { Return file.Idx Argument Expression }
func (*ReturnStatement) Idx0 ¶
func (self *ReturnStatement) Idx0() file.Idx
func (*ReturnStatement) Idx1 ¶
func (self *ReturnStatement) Idx1() file.Idx
type SequenceExpression ¶
type SequenceExpression struct {
Sequence []Expression
}
func (*SequenceExpression) Idx0 ¶
func (self *SequenceExpression) Idx0() file.Idx
func (*SequenceExpression) Idx1 ¶
func (self *SequenceExpression) Idx1() file.Idx
type Statement ¶
type Statement interface { Node // contains filtered or unexported methods }
All statement nodes implement the Statement interface.
type StringLiteral ¶
func (*StringLiteral) Idx0 ¶
func (self *StringLiteral) Idx0() file.Idx
func (*StringLiteral) Idx1 ¶
func (self *StringLiteral) Idx1() file.Idx
type SwitchStatement ¶
type SwitchStatement struct { Switch file.Idx Discriminant Expression Default int Body []*CaseStatement }
func (*SwitchStatement) Idx0 ¶
func (self *SwitchStatement) Idx0() file.Idx
func (*SwitchStatement) Idx1 ¶
func (self *SwitchStatement) Idx1() file.Idx
type ThisExpression ¶
func (*ThisExpression) Idx0 ¶
func (self *ThisExpression) Idx0() file.Idx
func (*ThisExpression) Idx1 ¶
func (self *ThisExpression) Idx1() file.Idx
type ThrowStatement ¶
type ThrowStatement struct { Throw file.Idx Argument Expression }
func (*ThrowStatement) Idx0 ¶
func (self *ThrowStatement) Idx0() file.Idx
func (*ThrowStatement) Idx1 ¶
func (self *ThrowStatement) Idx1() file.Idx
type TryStatement ¶
type TryStatement struct { Try file.Idx Body Statement Catch *CatchStatement Finally Statement }
func (*TryStatement) Idx0 ¶
func (self *TryStatement) Idx0() file.Idx
func (*TryStatement) Idx1 ¶
func (self *TryStatement) Idx1() file.Idx
type UnaryExpression ¶
type UnaryExpression struct { Operator token.Token Idx file.Idx // If a prefix operation Operand Expression Postfix bool }
func (*UnaryExpression) Idx0 ¶
func (self *UnaryExpression) Idx0() file.Idx
func (*UnaryExpression) Idx1 ¶
func (self *UnaryExpression) Idx1() file.Idx
type VariableDeclaration ¶
type VariableDeclaration struct { Var file.Idx List []*VariableExpression }
type VariableExpression ¶
type VariableExpression struct { Name string Idx file.Idx Initializer Expression }
func (*VariableExpression) Idx0 ¶
func (self *VariableExpression) Idx0() file.Idx
func (*VariableExpression) Idx1 ¶
func (self *VariableExpression) Idx1() file.Idx
type VariableStatement ¶
type VariableStatement struct { Var file.Idx List []Expression }
func (*VariableStatement) Idx0 ¶
func (self *VariableStatement) Idx0() file.Idx
func (*VariableStatement) Idx1 ¶
func (self *VariableStatement) Idx1() file.Idx
type WhileStatement ¶
type WhileStatement struct { While file.Idx Test Expression Body Statement }
func (*WhileStatement) Idx0 ¶
func (self *WhileStatement) Idx0() file.Idx
func (*WhileStatement) Idx1 ¶
func (self *WhileStatement) Idx1() file.Idx
type WithStatement ¶
type WithStatement struct { With file.Idx Object Expression Body Statement }
func (*WithStatement) Idx0 ¶
func (self *WithStatement) Idx0() file.Idx
func (*WithStatement) Idx1 ¶
func (self *WithStatement) Idx1() file.Idx
Click to show internal directories.
Click to hide internal directories.