Documentation
¶
Index ¶
- type ArrayLiteral
- type ArrayPattern
- type ArrowFunctionLiteral
- type AssignExpression
- type BadExpression
- type BadStatement
- type BinaryExpression
- type Binding
- type BindingTarget
- type BlockStatement
- type BooleanLiteral
- type BracketExpression
- type BranchStatement
- type CallExpression
- type CaseStatement
- type CatchStatement
- type ClassDeclaration
- type ClassElement
- type ClassLiteral
- type ClassStaticBlock
- type ConciseBody
- type ConditionalExpression
- type DebuggerStatement
- type DoWhileStatement
- type DotExpression
- type EmptyStatement
- type Expression
- type ExpressionBody
- type ExpressionStatement
- type FieldDefinition
- type ForDeclaration
- type ForInStatement
- type ForInto
- type ForIntoExpression
- type ForIntoVar
- type ForLoopInitializer
- type ForLoopInitializerExpression
- type ForLoopInitializerLexicalDecl
- type ForLoopInitializerVarDeclList
- type ForOfStatement
- type ForStatement
- type FunctionDeclaration
- type FunctionLiteral
- type Identifier
- type IfStatement
- type LabelledStatement
- type LexicalDeclaration
- type MetaProperty
- type MethodDefinition
- type NewExpression
- type Node
- type NullLiteral
- type NumberLiteral
- type ObjectLiteral
- type ObjectPattern
- type Optional
- type OptionalChain
- type ParameterList
- type Pattern
- type PrivateDotExpression
- type PrivateIdentifier
- type Program
- type Property
- type PropertyKeyed
- type PropertyKind
- type PropertyShort
- type RegExpLiteral
- type ReturnStatement
- type SequenceExpression
- type SpreadElement
- type Statement
- type StringLiteral
- type SuperExpression
- type SwitchStatement
- type TemplateElement
- type TemplateLiteral
- type ThisExpression
- type ThrowStatement
- type TryStatement
- type UnaryExpression
- type VariableDeclaration
- 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 (i *ArrayLiteral) Idx0() file.Idx
func (*ArrayLiteral) Idx1 ¶
func (i *ArrayLiteral) Idx1() file.Idx
type ArrayPattern ¶
type ArrayPattern struct {
LeftBracket file.Idx
RightBracket file.Idx
Elements []Expression
Rest Expression
}
func (*ArrayPattern) Idx0 ¶
func (i *ArrayPattern) Idx0() file.Idx
func (*ArrayPattern) Idx1 ¶
func (i *ArrayPattern) Idx1() file.Idx
type ArrowFunctionLiteral ¶
type ArrowFunctionLiteral struct {
Start file.Idx
ParameterList *ParameterList
Body ConciseBody
Source string
DeclarationList []*VariableDeclaration
}
func (*ArrowFunctionLiteral) Idx0 ¶
func (i *ArrowFunctionLiteral) Idx0() file.Idx
func (*ArrowFunctionLiteral) Idx1 ¶
func (i *ArrowFunctionLiteral) Idx1() file.Idx
type AssignExpression ¶
type AssignExpression struct {
Operator token.Token
Left Expression
Right Expression
}
func (*AssignExpression) Idx0 ¶
func (i *AssignExpression) Idx0() file.Idx
func (*AssignExpression) Idx1 ¶
func (i *AssignExpression) Idx1() file.Idx
type BadExpression ¶
func (*BadExpression) Idx0 ¶
func (i *BadExpression) Idx0() file.Idx
func (*BadExpression) Idx1 ¶
func (i *BadExpression) Idx1() file.Idx
type BadStatement ¶
func (*BadStatement) Idx0 ¶
func (i *BadStatement) Idx0() file.Idx
func (*BadStatement) Idx1 ¶
func (i *BadStatement) Idx1() file.Idx
type BinaryExpression ¶
type BinaryExpression struct {
Operator token.Token
Left Expression
Right Expression
Comparison bool
}
func (*BinaryExpression) Idx0 ¶
func (i *BinaryExpression) Idx0() file.Idx
func (*BinaryExpression) Idx1 ¶
func (i *BinaryExpression) Idx1() file.Idx
type Binding ¶
type Binding struct {
Target BindingTarget
Initializer Expression
}
type BindingTarget ¶
type BindingTarget interface {
Expression
// contains filtered or unexported methods
}
type BlockStatement ¶
func (*BlockStatement) Idx0 ¶
func (i *BlockStatement) Idx0() file.Idx
func (*BlockStatement) Idx1 ¶
func (i *BlockStatement) Idx1() file.Idx
type BooleanLiteral ¶
func (*BooleanLiteral) Idx0 ¶
func (i *BooleanLiteral) Idx0() file.Idx
func (*BooleanLiteral) Idx1 ¶
func (i *BooleanLiteral) Idx1() file.Idx
type BracketExpression ¶
type BracketExpression struct {
Left Expression
Member Expression
LeftBracket file.Idx
RightBracket file.Idx
}
func (*BracketExpression) Idx0 ¶
func (i *BracketExpression) Idx0() file.Idx
func (*BracketExpression) Idx1 ¶
func (i *BracketExpression) Idx1() file.Idx
type BranchStatement ¶
type BranchStatement struct {
Idx file.Idx
Token token.Token
Label *Identifier
}
func (*BranchStatement) Idx0 ¶
func (i *BranchStatement) Idx0() file.Idx
func (*BranchStatement) Idx1 ¶
func (i *BranchStatement) Idx1() file.Idx
type CallExpression ¶
type CallExpression struct {
Callee Expression
LeftParenthesis file.Idx
ArgumentList []Expression
RightParenthesis file.Idx
}
func (*CallExpression) Idx0 ¶
func (i *CallExpression) Idx0() file.Idx
func (*CallExpression) Idx1 ¶
func (i *CallExpression) Idx1() file.Idx
type CaseStatement ¶
type CaseStatement struct {
Case file.Idx
Test Expression
Consequent []Statement
}
func (*CaseStatement) Idx0 ¶
func (i *CaseStatement) Idx0() file.Idx
func (*CaseStatement) Idx1 ¶
func (i *CaseStatement) Idx1() file.Idx
type CatchStatement ¶
type CatchStatement struct {
Catch file.Idx
Parameter BindingTarget
Body *BlockStatement
}
func (*CatchStatement) Idx0 ¶
func (i *CatchStatement) Idx0() file.Idx
func (*CatchStatement) Idx1 ¶
func (i *CatchStatement) Idx1() file.Idx
type ClassDeclaration ¶
type ClassDeclaration struct {
Class *ClassLiteral
}
func (*ClassDeclaration) Idx0 ¶
func (i *ClassDeclaration) Idx0() file.Idx
func (*ClassDeclaration) Idx1 ¶
func (i *ClassDeclaration) Idx1() file.Idx
type ClassElement ¶
type ClassElement interface {
Node
// contains filtered or unexported methods
}
type ClassLiteral ¶
type ClassLiteral struct {
Class file.Idx
RightBrace file.Idx
Name *Identifier
SuperClass Expression
Body []ClassElement
Source string
}
func (*ClassLiteral) Idx0 ¶
func (i *ClassLiteral) Idx0() file.Idx
func (*ClassLiteral) Idx1 ¶
func (i *ClassLiteral) Idx1() file.Idx
type ClassStaticBlock ¶
type ClassStaticBlock struct {
Static file.Idx
Block *BlockStatement
Source string
DeclarationList []*VariableDeclaration
}
func (*ClassStaticBlock) Idx0 ¶
func (i *ClassStaticBlock) Idx0() file.Idx
func (*ClassStaticBlock) Idx1 ¶
func (i *ClassStaticBlock) Idx1() file.Idx
type ConciseBody ¶
type ConciseBody interface {
Node
// contains filtered or unexported methods
}
type ConditionalExpression ¶
type ConditionalExpression struct {
Test Expression
Consequent Expression
Alternate Expression
}
func (*ConditionalExpression) Idx0 ¶
func (i *ConditionalExpression) Idx0() file.Idx
func (*ConditionalExpression) Idx1 ¶
func (i *ConditionalExpression) Idx1() file.Idx
type DebuggerStatement ¶
func (*DebuggerStatement) Idx0 ¶
func (i *DebuggerStatement) Idx0() file.Idx
func (*DebuggerStatement) Idx1 ¶
func (i *DebuggerStatement) Idx1() file.Idx
type DoWhileStatement ¶
type DoWhileStatement struct {
Do file.Idx
Test Expression
Body Statement
}
func (*DoWhileStatement) Idx0 ¶
func (i *DoWhileStatement) Idx0() file.Idx
func (*DoWhileStatement) Idx1 ¶
func (i *DoWhileStatement) Idx1() file.Idx
type DotExpression ¶
type DotExpression struct {
Left Expression
Identifier Identifier
}
func (*DotExpression) Idx0 ¶
func (i *DotExpression) Idx0() file.Idx
func (*DotExpression) Idx1 ¶
func (i *DotExpression) Idx1() file.Idx
type EmptyStatement ¶
func (*EmptyStatement) Idx0 ¶
func (i *EmptyStatement) Idx0() file.Idx
func (*EmptyStatement) Idx1 ¶
func (i *EmptyStatement) Idx1() file.Idx
type Expression ¶
type Expression interface {
Node
// contains filtered or unexported methods
}
Expression 表达式接口,所有的表达式都必须实现这个接口
type ExpressionBody ¶
type ExpressionBody struct {
Expression Expression
}
func (*ExpressionBody) Idx0 ¶
func (i *ExpressionBody) Idx0() file.Idx
func (*ExpressionBody) Idx1 ¶
func (i *ExpressionBody) Idx1() file.Idx
type ExpressionStatement ¶
type ExpressionStatement struct {
Expression Expression
}
func (*ExpressionStatement) Idx0 ¶
func (i *ExpressionStatement) Idx0() file.Idx
func (*ExpressionStatement) Idx1 ¶
func (i *ExpressionStatement) Idx1() file.Idx
type FieldDefinition ¶
type FieldDefinition struct {
Idx file.Idx
Key Expression
Initializer Expression
Computed bool
Static bool
}
func (*FieldDefinition) Idx0 ¶
func (i *FieldDefinition) Idx0() file.Idx
func (*FieldDefinition) Idx1 ¶
func (i *FieldDefinition) Idx1() file.Idx
type ForDeclaration ¶
type ForDeclaration struct {
Idx file.Idx
IsConst bool
Target BindingTarget
}
func (*ForDeclaration) Idx0 ¶
func (i *ForDeclaration) Idx0() file.Idx
func (*ForDeclaration) Idx1 ¶
func (i *ForDeclaration) Idx1() file.Idx
type ForInStatement ¶
type ForInStatement struct {
For file.Idx
Into ForInto
Source Expression
Body Statement
}
func (*ForInStatement) Idx0 ¶
func (i *ForInStatement) Idx0() file.Idx
func (*ForInStatement) Idx1 ¶
func (i *ForInStatement) Idx1() file.Idx
type ForIntoExpression ¶
type ForIntoExpression struct {
Expression Expression
}
func (*ForIntoExpression) Idx0 ¶
func (i *ForIntoExpression) Idx0() file.Idx
func (*ForIntoExpression) Idx1 ¶
func (i *ForIntoExpression) Idx1() file.Idx
type ForIntoVar ¶
type ForIntoVar struct {
Binding *Binding
}
func (*ForIntoVar) Idx0 ¶
func (i *ForIntoVar) Idx0() file.Idx
func (*ForIntoVar) Idx1 ¶
func (i *ForIntoVar) Idx1() file.Idx
type ForLoopInitializer ¶
type ForLoopInitializer interface {
// contains filtered or unexported methods
}
type ForLoopInitializerExpression ¶
type ForLoopInitializerExpression struct {
Expression Expression
}
type ForLoopInitializerLexicalDecl ¶
type ForLoopInitializerLexicalDecl struct {
LexicalDeclaration LexicalDeclaration
}
type ForLoopInitializerVarDeclList ¶
func (*ForLoopInitializerVarDeclList) Idx0 ¶
func (i *ForLoopInitializerVarDeclList) Idx0() file.Idx
func (*ForLoopInitializerVarDeclList) Idx1 ¶
func (i *ForLoopInitializerVarDeclList) Idx1() file.Idx
type ForOfStatement ¶
type ForOfStatement struct {
For file.Idx
Into ForInto
Source Expression
Body Statement
}
func (*ForOfStatement) Idx0 ¶
func (i *ForOfStatement) Idx0() file.Idx
func (*ForOfStatement) Idx1 ¶
func (i *ForOfStatement) Idx1() file.Idx
type ForStatement ¶
type ForStatement struct {
For file.Idx
Initializer ForLoopInitializer
Update Expression
Test Expression
Body Statement
}
func (*ForStatement) Idx0 ¶
func (i *ForStatement) Idx0() file.Idx
func (*ForStatement) Idx1 ¶
func (i *ForStatement) Idx1() file.Idx
type FunctionDeclaration ¶
type FunctionDeclaration struct {
Function *FunctionLiteral
}
func (*FunctionDeclaration) Idx0 ¶
func (i *FunctionDeclaration) Idx0() file.Idx
func (*FunctionDeclaration) Idx1 ¶
func (i *FunctionDeclaration) Idx1() file.Idx
type FunctionLiteral ¶
type FunctionLiteral struct {
Function file.Idx
Name *Identifier
ParameterList *ParameterList
Body *BlockStatement
Source string
DeclarationList []*VariableDeclaration
}
func (*FunctionLiteral) Idx0 ¶
func (i *FunctionLiteral) Idx0() file.Idx
func (*FunctionLiteral) Idx1 ¶
func (i *FunctionLiteral) Idx1() file.Idx
type Identifier ¶
func (*Identifier) Idx0 ¶
func (i *Identifier) Idx0() file.Idx
func (*Identifier) Idx1 ¶
func (i *Identifier) Idx1() file.Idx
type IfStatement ¶
type IfStatement struct {
If file.Idx
Test Expression
Consequent Statement
Alternate Statement
}
func (*IfStatement) Idx0 ¶
func (i *IfStatement) Idx0() file.Idx
func (*IfStatement) Idx1 ¶
func (i *IfStatement) Idx1() file.Idx
type LabelledStatement ¶
type LabelledStatement struct {
Label *Identifier
Colon file.Idx
Statement Statement
}
func (*LabelledStatement) Idx0 ¶
func (i *LabelledStatement) Idx0() file.Idx
func (*LabelledStatement) Idx1 ¶
func (i *LabelledStatement) Idx1() file.Idx
type LexicalDeclaration ¶
func (*LexicalDeclaration) Idx0 ¶
func (i *LexicalDeclaration) Idx0() file.Idx
func (*LexicalDeclaration) Idx1 ¶
func (i *LexicalDeclaration) Idx1() file.Idx
type MetaProperty ¶
type MetaProperty struct {
Meta, Property *Identifier
Idx file.Idx
}
func (*MetaProperty) Idx0 ¶
func (i *MetaProperty) Idx0() file.Idx
func (*MetaProperty) Idx1 ¶
func (i *MetaProperty) Idx1() file.Idx
type MethodDefinition ¶
type MethodDefinition struct {
Idx file.Idx
Key Expression
Kind PropertyKind // 只可以是 method/get/set
Body *FunctionLiteral
Computed bool
Static bool
}
func (*MethodDefinition) Idx0 ¶
func (i *MethodDefinition) Idx0() file.Idx
func (*MethodDefinition) Idx1 ¶
func (i *MethodDefinition) 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 (i *NewExpression) Idx0() file.Idx
func (*NewExpression) Idx1 ¶
func (i *NewExpression) Idx1() file.Idx
type NullLiteral ¶
func (*NullLiteral) Idx0 ¶
func (i *NullLiteral) Idx0() file.Idx
func (*NullLiteral) Idx1 ¶
func (i *NullLiteral) Idx1() file.Idx
type NumberLiteral ¶
func (*NumberLiteral) Idx0 ¶
func (i *NumberLiteral) Idx0() file.Idx
func (*NumberLiteral) Idx1 ¶
func (i *NumberLiteral) Idx1() file.Idx
type ObjectLiteral ¶
func (*ObjectLiteral) Idx0 ¶
func (i *ObjectLiteral) Idx0() file.Idx
func (*ObjectLiteral) Idx1 ¶
func (i *ObjectLiteral) Idx1() file.Idx
type ObjectPattern ¶
type ObjectPattern struct {
LeftBrace file.Idx
RightBrace file.Idx
Properties []Property
Rest Expression
}
func (*ObjectPattern) Idx0 ¶
func (i *ObjectPattern) Idx0() file.Idx
func (*ObjectPattern) Idx1 ¶
func (i *ObjectPattern) Idx1() file.Idx
type Optional ¶
type Optional struct {
Expression
}
type OptionalChain ¶
type OptionalChain struct {
Expression
}
type ParameterList ¶
type Pattern ¶
type Pattern interface {
BindingTarget
// contains filtered or unexported methods
}
type PrivateDotExpression ¶
type PrivateDotExpression struct {
Left Expression
Identifier PrivateIdentifier
}
func (*PrivateDotExpression) Idx0 ¶
func (i *PrivateDotExpression) Idx0() file.Idx
func (*PrivateDotExpression) Idx1 ¶
func (i *PrivateDotExpression) Idx1() file.Idx
type PrivateIdentifier ¶
type PrivateIdentifier struct {
Identifier
}
type Program ¶
type Program struct {
Body []Statement
DeclarationList []*VariableDeclaration
File *file.File
}
type Property ¶
type Property interface {
Expression
// contains filtered or unexported methods
}
type PropertyKeyed ¶
type PropertyKeyed struct {
Key Expression
Kind PropertyKind
Value Expression
Computed bool
}
func (*PropertyKeyed) Idx0 ¶
func (i *PropertyKeyed) Idx0() file.Idx
func (*PropertyKeyed) Idx1 ¶
func (i *PropertyKeyed) Idx1() file.Idx
type PropertyKind ¶
type PropertyKind string
PropertyKind 指出了属性的类型
const ( PropertyKindValue PropertyKind = "value" PropertyKindGet PropertyKind = "get" PropertyKindSet PropertyKind = "set" PropertyKindMethod PropertyKind = "method" )
type PropertyShort ¶
type PropertyShort struct {
Name Identifier
Initializer Expression
}
func (*PropertyShort) Idx0 ¶
func (i *PropertyShort) Idx0() file.Idx
func (*PropertyShort) Idx1 ¶
func (i *PropertyShort) Idx1() file.Idx
type RegExpLiteral ¶
func (*RegExpLiteral) Idx0 ¶
func (i *RegExpLiteral) Idx0() file.Idx
func (*RegExpLiteral) Idx1 ¶
func (i *RegExpLiteral) Idx1() file.Idx
type ReturnStatement ¶
type ReturnStatement struct {
Return file.Idx
Argument Expression
}
func (*ReturnStatement) Idx0 ¶
func (i *ReturnStatement) Idx0() file.Idx
func (*ReturnStatement) Idx1 ¶
func (i *ReturnStatement) Idx1() file.Idx
type SequenceExpression ¶
type SequenceExpression struct {
Sequence []Expression
}
func (*SequenceExpression) Idx0 ¶
func (i *SequenceExpression) Idx0() file.Idx
func (*SequenceExpression) Idx1 ¶
func (i *SequenceExpression) Idx1() file.Idx
type SpreadElement ¶
type SpreadElement struct {
Expression
}
type Statement ¶
type Statement interface {
Node
// contains filtered or unexported methods
}
Statement 语句接口,所有的语句都必须实现这个接口
type StringLiteral ¶
func (*StringLiteral) Idx0 ¶
func (i *StringLiteral) Idx0() file.Idx
func (*StringLiteral) Idx1 ¶
func (i *StringLiteral) Idx1() file.Idx
type SuperExpression ¶
func (*SuperExpression) Idx0 ¶
func (i *SuperExpression) Idx0() file.Idx
func (*SuperExpression) Idx1 ¶
func (i *SuperExpression) Idx1() file.Idx
type SwitchStatement ¶
type SwitchStatement struct {
Switch file.Idx
Discriminant Expression
Default int
Body []*CaseStatement
}
func (*SwitchStatement) Idx0 ¶
func (i *SwitchStatement) Idx0() file.Idx
func (*SwitchStatement) Idx1 ¶
func (i *SwitchStatement) Idx1() file.Idx
type TemplateElement ¶
type TemplateLiteral ¶
type TemplateLiteral struct {
OpenQuote file.Idx
CloseQuote file.Idx
Tag Expression
Elements []*TemplateElement
Expressions []Expression
}
func (*TemplateLiteral) Idx0 ¶
func (i *TemplateLiteral) Idx0() file.Idx
func (*TemplateLiteral) Idx1 ¶
func (i *TemplateLiteral) Idx1() file.Idx
type ThisExpression ¶
func (*ThisExpression) Idx0 ¶
func (i *ThisExpression) Idx0() file.Idx
func (*ThisExpression) Idx1 ¶
func (i *ThisExpression) Idx1() file.Idx
type ThrowStatement ¶
type ThrowStatement struct {
Throw file.Idx
Argument Expression
}
func (*ThrowStatement) Idx0 ¶
func (i *ThrowStatement) Idx0() file.Idx
func (*ThrowStatement) Idx1 ¶
func (i *ThrowStatement) Idx1() file.Idx
type TryStatement ¶
type TryStatement struct {
Try file.Idx
Body *BlockStatement
Catch *CatchStatement
Finally *BlockStatement
}
func (*TryStatement) Idx0 ¶
func (i *TryStatement) Idx0() file.Idx
func (*TryStatement) Idx1 ¶
func (i *TryStatement) Idx1() file.Idx
type UnaryExpression ¶
type UnaryExpression struct {
Operator token.Token
Idx file.Idx // 如果有前缀操作符
Operand Expression
Postfix bool
}
func (*UnaryExpression) Idx0 ¶
func (i *UnaryExpression) Idx0() file.Idx
func (*UnaryExpression) Idx1 ¶
func (i *UnaryExpression) Idx1() file.Idx
type VariableDeclaration ¶
type VariableStatement ¶
func (*VariableStatement) Idx0 ¶
func (i *VariableStatement) Idx0() file.Idx
func (*VariableStatement) Idx1 ¶
func (i *VariableStatement) Idx1() file.Idx
type WhileStatement ¶
type WhileStatement struct {
While file.Idx
Test Expression
Body Statement
}
func (*WhileStatement) Idx0 ¶
func (i *WhileStatement) Idx0() file.Idx
func (*WhileStatement) Idx1 ¶
func (i *WhileStatement) Idx1() file.Idx
type WithStatement ¶
type WithStatement struct {
With file.Idx
Object Expression
Body Statement
}
func (*WithStatement) Idx0 ¶
func (i *WithStatement) Idx0() file.Idx
func (*WithStatement) Idx1 ¶
func (i *WithStatement) Idx1() file.Idx
Click to show internal directories.
Click to hide internal directories.