1069 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			1069 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# ast
 | 
						|
--
 | 
						|
    import "github.com/dop251/goja/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
 | 
						|
 | 
						|
```go
 | 
						|
type ArrayLiteral struct {
 | 
						|
	LeftBracket  file.Idx
 | 
						|
	RightBracket file.Idx
 | 
						|
	Value        []Expression
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*ArrayLiteral) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ArrayLiteral) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*ArrayLiteral) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ArrayLiteral) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type AssignExpression
 | 
						|
 | 
						|
```go
 | 
						|
type AssignExpression struct {
 | 
						|
	Operator token.Token
 | 
						|
	Left     Expression
 | 
						|
	Right    Expression
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*AssignExpression) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *AssignExpression) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*AssignExpression) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *AssignExpression) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type BadExpression
 | 
						|
 | 
						|
```go
 | 
						|
type BadExpression struct {
 | 
						|
	From file.Idx
 | 
						|
	To   file.Idx
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*BadExpression) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *BadExpression) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*BadExpression) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *BadExpression) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type BadStatement
 | 
						|
 | 
						|
```go
 | 
						|
type BadStatement struct {
 | 
						|
	From file.Idx
 | 
						|
	To   file.Idx
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*BadStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *BadStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*BadStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *BadStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type BinaryExpression
 | 
						|
 | 
						|
```go
 | 
						|
type BinaryExpression struct {
 | 
						|
	Operator   token.Token
 | 
						|
	Left       Expression
 | 
						|
	Right      Expression
 | 
						|
	Comparison bool
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*BinaryExpression) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *BinaryExpression) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*BinaryExpression) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *BinaryExpression) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type BlockStatement
 | 
						|
 | 
						|
```go
 | 
						|
type BlockStatement struct {
 | 
						|
	LeftBrace  file.Idx
 | 
						|
	List       []Statement
 | 
						|
	RightBrace file.Idx
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*BlockStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *BlockStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*BlockStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *BlockStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type BooleanLiteral
 | 
						|
 | 
						|
```go
 | 
						|
type BooleanLiteral struct {
 | 
						|
	Idx     file.Idx
 | 
						|
	Literal string
 | 
						|
	Value   bool
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*BooleanLiteral) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *BooleanLiteral) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*BooleanLiteral) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *BooleanLiteral) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type BracketExpression
 | 
						|
 | 
						|
```go
 | 
						|
type BracketExpression struct {
 | 
						|
	Left         Expression
 | 
						|
	Member       Expression
 | 
						|
	LeftBracket  file.Idx
 | 
						|
	RightBracket file.Idx
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*BracketExpression) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *BracketExpression) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*BracketExpression) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *BracketExpression) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type BranchStatement
 | 
						|
 | 
						|
```go
 | 
						|
type BranchStatement struct {
 | 
						|
	Idx   file.Idx
 | 
						|
	Token token.Token
 | 
						|
	Label *Identifier
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*BranchStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *BranchStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*BranchStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *BranchStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type CallExpression
 | 
						|
 | 
						|
```go
 | 
						|
type CallExpression struct {
 | 
						|
	Callee           Expression
 | 
						|
	LeftParenthesis  file.Idx
 | 
						|
	ArgumentList     []Expression
 | 
						|
	RightParenthesis file.Idx
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*CallExpression) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *CallExpression) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*CallExpression) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *CallExpression) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type CaseStatement
 | 
						|
 | 
						|
```go
 | 
						|
type CaseStatement struct {
 | 
						|
	Case       file.Idx
 | 
						|
	Test       Expression
 | 
						|
	Consequent []Statement
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*CaseStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *CaseStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*CaseStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *CaseStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type CatchStatement
 | 
						|
 | 
						|
```go
 | 
						|
type CatchStatement struct {
 | 
						|
	Catch     file.Idx
 | 
						|
	Parameter *Identifier
 | 
						|
	Body      Statement
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*CatchStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *CatchStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*CatchStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *CatchStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type ConditionalExpression
 | 
						|
 | 
						|
```go
 | 
						|
type ConditionalExpression struct {
 | 
						|
	Test       Expression
 | 
						|
	Consequent Expression
 | 
						|
	Alternate  Expression
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*ConditionalExpression) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ConditionalExpression) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*ConditionalExpression) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ConditionalExpression) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type DebuggerStatement
 | 
						|
 | 
						|
```go
 | 
						|
type DebuggerStatement struct {
 | 
						|
	Debugger file.Idx
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*DebuggerStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *DebuggerStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*DebuggerStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *DebuggerStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type Declaration
 | 
						|
 | 
						|
```go
 | 
						|
type Declaration interface {
 | 
						|
	// contains filtered or unexported methods
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
All declaration nodes implement the Declaration interface.
 | 
						|
 | 
						|
#### type DoWhileStatement
 | 
						|
 | 
						|
```go
 | 
						|
type DoWhileStatement struct {
 | 
						|
	Do   file.Idx
 | 
						|
	Test Expression
 | 
						|
	Body Statement
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*DoWhileStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *DoWhileStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*DoWhileStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *DoWhileStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type DotExpression
 | 
						|
 | 
						|
```go
 | 
						|
type DotExpression struct {
 | 
						|
	Left       Expression
 | 
						|
	Identifier Identifier
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*DotExpression) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *DotExpression) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*DotExpression) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *DotExpression) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type EmptyStatement
 | 
						|
 | 
						|
```go
 | 
						|
type EmptyStatement struct {
 | 
						|
	Semicolon file.Idx
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*EmptyStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *EmptyStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*EmptyStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *EmptyStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type Expression
 | 
						|
 | 
						|
```go
 | 
						|
type Expression interface {
 | 
						|
	Node
 | 
						|
	// contains filtered or unexported methods
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
All expression nodes implement the Expression interface.
 | 
						|
 | 
						|
#### type ExpressionStatement
 | 
						|
 | 
						|
```go
 | 
						|
type ExpressionStatement struct {
 | 
						|
	Expression Expression
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*ExpressionStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ExpressionStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*ExpressionStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ExpressionStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type ForInStatement
 | 
						|
 | 
						|
```go
 | 
						|
type ForInStatement struct {
 | 
						|
	For    file.Idx
 | 
						|
	Into   Expression
 | 
						|
	Source Expression
 | 
						|
	Body   Statement
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*ForInStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ForInStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*ForInStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ForInStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type ForStatement
 | 
						|
 | 
						|
```go
 | 
						|
type ForStatement struct {
 | 
						|
	For         file.Idx
 | 
						|
	Initializer Expression
 | 
						|
	Update      Expression
 | 
						|
	Test        Expression
 | 
						|
	Body        Statement
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*ForStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ForStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*ForStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ForStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type FunctionDeclaration
 | 
						|
 | 
						|
```go
 | 
						|
type FunctionDeclaration struct {
 | 
						|
	Function *FunctionLiteral
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### type FunctionLiteral
 | 
						|
 | 
						|
```go
 | 
						|
type FunctionLiteral struct {
 | 
						|
	Function      file.Idx
 | 
						|
	Name          *Identifier
 | 
						|
	ParameterList *ParameterList
 | 
						|
	Body          Statement
 | 
						|
	Source        string
 | 
						|
 | 
						|
	DeclarationList []Declaration
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*FunctionLiteral) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *FunctionLiteral) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*FunctionLiteral) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *FunctionLiteral) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type Identifier
 | 
						|
 | 
						|
```go
 | 
						|
type Identifier struct {
 | 
						|
	Name string
 | 
						|
	Idx  file.Idx
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*Identifier) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *Identifier) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*Identifier) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *Identifier) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type IfStatement
 | 
						|
 | 
						|
```go
 | 
						|
type IfStatement struct {
 | 
						|
	If         file.Idx
 | 
						|
	Test       Expression
 | 
						|
	Consequent Statement
 | 
						|
	Alternate  Statement
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*IfStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *IfStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*IfStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *IfStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type LabelledStatement
 | 
						|
 | 
						|
```go
 | 
						|
type LabelledStatement struct {
 | 
						|
	Label     *Identifier
 | 
						|
	Colon     file.Idx
 | 
						|
	Statement Statement
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*LabelledStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *LabelledStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*LabelledStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *LabelledStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type NewExpression
 | 
						|
 | 
						|
```go
 | 
						|
type NewExpression struct {
 | 
						|
	New              file.Idx
 | 
						|
	Callee           Expression
 | 
						|
	LeftParenthesis  file.Idx
 | 
						|
	ArgumentList     []Expression
 | 
						|
	RightParenthesis file.Idx
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*NewExpression) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *NewExpression) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*NewExpression) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *NewExpression) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type Node
 | 
						|
 | 
						|
```go
 | 
						|
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
 | 
						|
 | 
						|
```go
 | 
						|
type NullLiteral struct {
 | 
						|
	Idx     file.Idx
 | 
						|
	Literal string
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*NullLiteral) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *NullLiteral) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*NullLiteral) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *NullLiteral) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type NumberLiteral
 | 
						|
 | 
						|
```go
 | 
						|
type NumberLiteral struct {
 | 
						|
	Idx     file.Idx
 | 
						|
	Literal string
 | 
						|
	Value   interface{}
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*NumberLiteral) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *NumberLiteral) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*NumberLiteral) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *NumberLiteral) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type ObjectLiteral
 | 
						|
 | 
						|
```go
 | 
						|
type ObjectLiteral struct {
 | 
						|
	LeftBrace  file.Idx
 | 
						|
	RightBrace file.Idx
 | 
						|
	Value      []Property
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*ObjectLiteral) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ObjectLiteral) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*ObjectLiteral) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ObjectLiteral) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type ParameterList
 | 
						|
 | 
						|
```go
 | 
						|
type ParameterList struct {
 | 
						|
	Opening file.Idx
 | 
						|
	List    []*Identifier
 | 
						|
	Closing file.Idx
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### type Program
 | 
						|
 | 
						|
```go
 | 
						|
type Program struct {
 | 
						|
	Body []Statement
 | 
						|
 | 
						|
	DeclarationList []Declaration
 | 
						|
 | 
						|
	File *file.File
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*Program) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *Program) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*Program) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *Program) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type Property
 | 
						|
 | 
						|
```go
 | 
						|
type Property struct {
 | 
						|
	Key   string
 | 
						|
	Kind  string
 | 
						|
	Value Expression
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### type RegExpLiteral
 | 
						|
 | 
						|
```go
 | 
						|
type RegExpLiteral struct {
 | 
						|
	Idx     file.Idx
 | 
						|
	Literal string
 | 
						|
	Pattern string
 | 
						|
	Flags   string
 | 
						|
	Value   string
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*RegExpLiteral) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *RegExpLiteral) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*RegExpLiteral) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *RegExpLiteral) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type ReturnStatement
 | 
						|
 | 
						|
```go
 | 
						|
type ReturnStatement struct {
 | 
						|
	Return   file.Idx
 | 
						|
	Argument Expression
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*ReturnStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ReturnStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*ReturnStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ReturnStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type SequenceExpression
 | 
						|
 | 
						|
```go
 | 
						|
type SequenceExpression struct {
 | 
						|
	Sequence []Expression
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*SequenceExpression) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *SequenceExpression) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*SequenceExpression) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *SequenceExpression) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type Statement
 | 
						|
 | 
						|
```go
 | 
						|
type Statement interface {
 | 
						|
	Node
 | 
						|
	// contains filtered or unexported methods
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
All statement nodes implement the Statement interface.
 | 
						|
 | 
						|
#### type StringLiteral
 | 
						|
 | 
						|
```go
 | 
						|
type StringLiteral struct {
 | 
						|
	Idx     file.Idx
 | 
						|
	Literal string
 | 
						|
	Value   string
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*StringLiteral) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *StringLiteral) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*StringLiteral) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *StringLiteral) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type SwitchStatement
 | 
						|
 | 
						|
```go
 | 
						|
type SwitchStatement struct {
 | 
						|
	Switch       file.Idx
 | 
						|
	Discriminant Expression
 | 
						|
	Default      int
 | 
						|
	Body         []*CaseStatement
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*SwitchStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *SwitchStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*SwitchStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *SwitchStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type ThisExpression
 | 
						|
 | 
						|
```go
 | 
						|
type ThisExpression struct {
 | 
						|
	Idx file.Idx
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*ThisExpression) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ThisExpression) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*ThisExpression) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ThisExpression) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type ThrowStatement
 | 
						|
 | 
						|
```go
 | 
						|
type ThrowStatement struct {
 | 
						|
	Throw    file.Idx
 | 
						|
	Argument Expression
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*ThrowStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ThrowStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*ThrowStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *ThrowStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type TryStatement
 | 
						|
 | 
						|
```go
 | 
						|
type TryStatement struct {
 | 
						|
	Try     file.Idx
 | 
						|
	Body    Statement
 | 
						|
	Catch   *CatchStatement
 | 
						|
	Finally Statement
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*TryStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *TryStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*TryStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *TryStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type UnaryExpression
 | 
						|
 | 
						|
```go
 | 
						|
type UnaryExpression struct {
 | 
						|
	Operator token.Token
 | 
						|
	Idx      file.Idx // If a prefix operation
 | 
						|
	Operand  Expression
 | 
						|
	Postfix  bool
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*UnaryExpression) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *UnaryExpression) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*UnaryExpression) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *UnaryExpression) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type VariableDeclaration
 | 
						|
 | 
						|
```go
 | 
						|
type VariableDeclaration struct {
 | 
						|
	Var  file.Idx
 | 
						|
	List []*VariableExpression
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### type VariableExpression
 | 
						|
 | 
						|
```go
 | 
						|
type VariableExpression struct {
 | 
						|
	Name        string
 | 
						|
	Idx         file.Idx
 | 
						|
	Initializer Expression
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*VariableExpression) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *VariableExpression) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*VariableExpression) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *VariableExpression) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type VariableStatement
 | 
						|
 | 
						|
```go
 | 
						|
type VariableStatement struct {
 | 
						|
	Var  file.Idx
 | 
						|
	List []Expression
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*VariableStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *VariableStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*VariableStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *VariableStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type WhileStatement
 | 
						|
 | 
						|
```go
 | 
						|
type WhileStatement struct {
 | 
						|
	While file.Idx
 | 
						|
	Test  Expression
 | 
						|
	Body  Statement
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*WhileStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *WhileStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*WhileStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *WhileStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### type WithStatement
 | 
						|
 | 
						|
```go
 | 
						|
type WithStatement struct {
 | 
						|
	With   file.Idx
 | 
						|
	Object Expression
 | 
						|
	Body   Statement
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
 | 
						|
#### func (*WithStatement) Idx0
 | 
						|
 | 
						|
```go
 | 
						|
func (self *WithStatement) Idx0() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
#### func (*WithStatement) Idx1
 | 
						|
 | 
						|
```go
 | 
						|
func (self *WithStatement) Idx1() file.Idx
 | 
						|
```
 | 
						|
 | 
						|
--
 | 
						|
**godocdown** http://github.com/robertkrimen/godocdown
 |