README
¶
ast
-- import "github.com/robertkrimen/otto/ast"
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.
Usage
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
type BadExpression struct {
From file.Idx
To file.Idx
}
func (*BadExpression) Idx0
func (self *BadExpression) Idx0() file.Idx
func (*BadExpression) Idx1
func (self *BadExpression) Idx1() file.Idx
type BadStatement
type BadStatement struct {
From file.Idx
To file.Idx
}
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
type BlockStatement struct {
LeftBrace file.Idx
List []Statement
RightBrace file.Idx
}
func (*BlockStatement) Idx0
func (self *BlockStatement) Idx0() file.Idx
func (*BlockStatement) Idx1
func (self *BlockStatement) Idx1() file.Idx
type BooleanLiteral
type BooleanLiteral struct {
Idx file.Idx
Literal string
Value bool
}
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
type DebuggerStatement struct {
Debugger file.Idx
}
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
type EmptyStatement struct {
Semicolon file.Idx
}
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
type Identifier struct {
Name string
Idx file.Idx
}
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
type NullLiteral struct {
Idx file.Idx
Literal string
}
func (*NullLiteral) Idx0
func (self *NullLiteral) Idx0() file.Idx
func (*NullLiteral) Idx1
func (self *NullLiteral) Idx1() file.Idx
type NumberLiteral
type NumberLiteral struct {
Idx file.Idx
Literal string
Value interface{}
}
func (*NumberLiteral) Idx0
func (self *NumberLiteral) Idx0() file.Idx
func (*NumberLiteral) Idx1
func (self *NumberLiteral) Idx1() file.Idx
type ObjectLiteral
type ObjectLiteral struct {
LeftBrace file.Idx
RightBrace file.Idx
Value []Property
}
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 Program struct {
Body []Statement
DeclarationList []Declaration
File *file.File
}
func (*Program) Idx0
func (self *Program) Idx0() file.Idx
func (*Program) Idx1
func (self *Program) Idx1() file.Idx
type Property
type Property struct {
Key string
Kind string
Value Expression
}
type RegExpLiteral
type RegExpLiteral struct {
Idx file.Idx
Literal string
Pattern string
Flags string
Value string
}
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
type StringLiteral struct {
Idx file.Idx
Literal string
Value string
}
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
type ThisExpression struct {
Idx file.Idx
}
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
-- godocdown http://github.com/robertkrimen/godocdown
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 Comment
- type CommentMap
- type CommentPosition
- type ConditionalExpression
- type DebuggerStatement
- type Declaration
- type DoWhileStatement
- type DotExpression
- type EmptyExpression
- 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 Comment ¶
type Comment struct { Begin file.Idx Text string Position CommentPosition }
Comment contains the data of the comment
type CommentMap ¶
CommentMap is the data structure where all found comments are stored
func (CommentMap) AddComment ¶
func (cm CommentMap) AddComment(node Node, comment *Comment)
AddComment adds a single comment to the map
func (CommentMap) AddComments ¶
func (cm CommentMap) AddComments(node Node, comments []*Comment, position CommentPosition)
AddComments adds a slice of comments, given a node and an updated position
func (CommentMap) MoveComments ¶
func (cm CommentMap) MoveComments(from, to Node, position CommentPosition)
MoveComments moves comments with a given position from a node to another
type CommentPosition ¶
type CommentPosition int
CommentPosition determines where the comment is in a given context
const ( LEADING CommentPosition // Before the pertinent expression TRAILING // After the pertinent expression KEY // After a key or keyword COLON // After a colon in a field declaration FINAL // Final comments in a block, not belonging to a specific expression or the comment after a trailing , in an array or object literal TBD )
func (CommentPosition) String ¶
func (cp CommentPosition) String() string
String returns a stringified version of the position
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 EmptyExpression ¶
func (*EmptyExpression) Idx0 ¶
func (self *EmptyExpression) Idx0() file.Idx
func (*EmptyExpression) Idx1 ¶
func (self *EmptyExpression) 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 Program struct { Body []Statement DeclarationList []Declaration File *file.File }
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