bsc/vendor/github.com/robertkrimen/otto/ast/README.markdown
Péter Szilágyi 289b30715d Godeps, vendor: convert dependency management to trash (#3198)
This commit converts the dependency management from Godeps to the vendor
folder, also switching the tool from godep to trash. Since the upstream tool
lacks a few features proposed via a few PRs, until those PRs are merged in
(if), use github.com/karalabe/trash.

You can update dependencies via trash --update.

All dependencies have been updated to their latest version.

Parts of the build system are reworked to drop old notions of Godeps and
invocation of the go vet command so that it doesn't run against the vendor
folder, as that will just blow up during vetting.

The conversion drops OpenCL (and hence GPU mining support) from ethash and our
codebase. The short reasoning is that there's noone to maintain and having
opencl libs in our deps messes up builds as go install ./... tries to build
them, failing with unsatisfied link errors for the C OpenCL deps.

golang.org/x/net/context is not vendored in. We expect it to be fetched by the
user (i.e. using go get). To keep ci.go builds reproducible the package is
"vendored" in build/_vendor.
2016-10-28 19:05:01 +02:00

14 KiB

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