...

Package ast

import "github.com/dop251/goja/ast"
Overview
Index

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
    func (self *ArrayLiteral) Idx0() file.Idx
    func (self *ArrayLiteral) Idx1() file.Idx
type ArrayPattern
    func (self *ArrayPattern) Idx0() file.Idx
    func (self *ArrayPattern) Idx1() file.Idx
type ArrowFunctionLiteral
    func (self *ArrowFunctionLiteral) Idx0() file.Idx
    func (self *ArrowFunctionLiteral) Idx1() file.Idx
type AssignExpression
    func (self *AssignExpression) Idx0() file.Idx
    func (self *AssignExpression) Idx1() file.Idx
type AwaitExpression
    func (self *AwaitExpression) Idx0() file.Idx
    func (self *AwaitExpression) Idx1() file.Idx
type BadExpression
    func (self *BadExpression) Idx0() file.Idx
    func (self *BadExpression) Idx1() file.Idx
type BadStatement
    func (self *BadStatement) Idx0() file.Idx
    func (self *BadStatement) Idx1() file.Idx
type BinaryExpression
    func (self *BinaryExpression) Idx0() file.Idx
    func (self *BinaryExpression) Idx1() file.Idx
type Binding
    func (self *Binding) Idx0() file.Idx
    func (self *Binding) Idx1() file.Idx
type BindingTarget
type BlockStatement
    func (self *BlockStatement) Idx0() file.Idx
    func (self *BlockStatement) Idx1() file.Idx
type BooleanLiteral
    func (self *BooleanLiteral) Idx0() file.Idx
    func (self *BooleanLiteral) Idx1() file.Idx
type BracketExpression
    func (self *BracketExpression) Idx0() file.Idx
    func (self *BracketExpression) Idx1() file.Idx
type BranchStatement
    func (self *BranchStatement) Idx0() file.Idx
    func (self *BranchStatement) Idx1() file.Idx
type CallExpression
    func (self *CallExpression) Idx0() file.Idx
    func (self *CallExpression) Idx1() file.Idx
type CaseStatement
    func (self *CaseStatement) Idx0() file.Idx
    func (self *CaseStatement) Idx1() file.Idx
type CatchStatement
    func (self *CatchStatement) Idx0() file.Idx
    func (self *CatchStatement) Idx1() file.Idx
type ClassDeclaration
    func (self *ClassDeclaration) Idx0() file.Idx
    func (self *ClassDeclaration) Idx1() file.Idx
type ClassElement
type ClassLiteral
    func (self *ClassLiteral) Idx0() file.Idx
    func (self *ClassLiteral) Idx1() file.Idx
type ClassStaticBlock
    func (self *ClassStaticBlock) Idx0() file.Idx
    func (self *ClassStaticBlock) Idx1() file.Idx
type ConciseBody
type ConditionalExpression
    func (self *ConditionalExpression) Idx0() file.Idx
    func (self *ConditionalExpression) Idx1() file.Idx
type DebuggerStatement
    func (self *DebuggerStatement) Idx0() file.Idx
    func (self *DebuggerStatement) Idx1() file.Idx
type DoWhileStatement
    func (self *DoWhileStatement) Idx0() file.Idx
    func (self *DoWhileStatement) Idx1() file.Idx
type DotExpression
    func (self *DotExpression) Idx0() file.Idx
    func (self *DotExpression) Idx1() file.Idx
type EmptyStatement
    func (self *EmptyStatement) Idx0() file.Idx
    func (self *EmptyStatement) Idx1() file.Idx
type Expression
type ExpressionBody
    func (self *ExpressionBody) Idx0() file.Idx
    func (self *ExpressionBody) Idx1() file.Idx
type ExpressionStatement
    func (self *ExpressionStatement) Idx0() file.Idx
    func (self *ExpressionStatement) Idx1() file.Idx
type FieldDefinition
    func (self *FieldDefinition) Idx0() file.Idx
    func (self *FieldDefinition) Idx1() file.Idx
type ForDeclaration
    func (self *ForDeclaration) Idx0() file.Idx
    func (self *ForDeclaration) Idx1() file.Idx
type ForInStatement
    func (self *ForInStatement) Idx0() file.Idx
    func (self *ForInStatement) Idx1() file.Idx
type ForInto
type ForIntoExpression
    func (self *ForIntoExpression) Idx0() file.Idx
    func (self *ForIntoExpression) Idx1() file.Idx
type ForIntoVar
    func (self *ForIntoVar) Idx0() file.Idx
    func (self *ForIntoVar) Idx1() file.Idx
type ForLoopInitializer
type ForLoopInitializerExpression
    func (self *ForLoopInitializerExpression) Idx0() file.Idx
    func (self *ForLoopInitializerExpression) Idx1() file.Idx
type ForLoopInitializerLexicalDecl
    func (self *ForLoopInitializerLexicalDecl) Idx0() file.Idx
    func (self *ForLoopInitializerLexicalDecl) Idx1() file.Idx
type ForLoopInitializerVarDeclList
    func (self *ForLoopInitializerVarDeclList) Idx0() file.Idx
    func (self *ForLoopInitializerVarDeclList) Idx1() file.Idx
type ForOfStatement
    func (self *ForOfStatement) Idx0() file.Idx
    func (self *ForOfStatement) Idx1() file.Idx
type ForStatement
    func (self *ForStatement) Idx0() file.Idx
    func (self *ForStatement) Idx1() file.Idx
type FunctionDeclaration
    func (self *FunctionDeclaration) Idx0() file.Idx
    func (self *FunctionDeclaration) Idx1() file.Idx
type FunctionLiteral
    func (self *FunctionLiteral) Idx0() file.Idx
    func (self *FunctionLiteral) Idx1() file.Idx
type Identifier
    func (self *Identifier) Idx0() file.Idx
    func (self *Identifier) Idx1() file.Idx
type IfStatement
    func (self *IfStatement) Idx0() file.Idx
    func (self *IfStatement) Idx1() file.Idx
type LabelledStatement
    func (self *LabelledStatement) Idx0() file.Idx
    func (self *LabelledStatement) Idx1() file.Idx
type LexicalDeclaration
    func (self *LexicalDeclaration) Idx0() file.Idx
    func (self *LexicalDeclaration) Idx1() file.Idx
type MetaProperty
    func (self *MetaProperty) Idx0() file.Idx
    func (self *MetaProperty) Idx1() file.Idx
type MethodDefinition
    func (self *MethodDefinition) Idx0() file.Idx
    func (self *MethodDefinition) Idx1() file.Idx
type NewExpression
    func (self *NewExpression) Idx0() file.Idx
    func (self *NewExpression) Idx1() file.Idx
type Node
type NullLiteral
    func (self *NullLiteral) Idx0() file.Idx
    func (self *NullLiteral) Idx1() file.Idx
type NumberLiteral
    func (self *NumberLiteral) Idx0() file.Idx
    func (self *NumberLiteral) Idx1() file.Idx
type ObjectLiteral
    func (self *ObjectLiteral) Idx0() file.Idx
    func (self *ObjectLiteral) Idx1() file.Idx
type ObjectPattern
    func (self *ObjectPattern) Idx0() file.Idx
    func (self *ObjectPattern) Idx1() file.Idx
type Optional
type OptionalChain
type ParameterList
    func (self *ParameterList) Idx0() file.Idx
    func (self *ParameterList) Idx1() file.Idx
type Pattern
type PrivateDotExpression
    func (self *PrivateDotExpression) Idx0() file.Idx
    func (self *PrivateDotExpression) Idx1() file.Idx
type PrivateIdentifier
type Program
    func (self *Program) Idx0() file.Idx
    func (self *Program) Idx1() file.Idx
type Property
type PropertyKeyed
    func (self *PropertyKeyed) Idx0() file.Idx
    func (self *PropertyKeyed) Idx1() file.Idx
type PropertyKind
type PropertyShort
    func (self *PropertyShort) Idx0() file.Idx
    func (self *PropertyShort) Idx1() file.Idx
type RegExpLiteral
    func (self *RegExpLiteral) Idx0() file.Idx
    func (self *RegExpLiteral) Idx1() file.Idx
type ReturnStatement
    func (self *ReturnStatement) Idx0() file.Idx
    func (self *ReturnStatement) Idx1() file.Idx
type SequenceExpression
    func (self *SequenceExpression) Idx0() file.Idx
    func (self *SequenceExpression) Idx1() file.Idx
type SpreadElement
type Statement
type StringLiteral
    func (self *StringLiteral) Idx0() file.Idx
    func (self *StringLiteral) Idx1() file.Idx
type SuperExpression
    func (self *SuperExpression) Idx0() file.Idx
    func (self *SuperExpression) Idx1() file.Idx
type SwitchStatement
    func (self *SwitchStatement) Idx0() file.Idx
    func (self *SwitchStatement) Idx1() file.Idx
type TemplateElement
    func (self *TemplateElement) Idx0() file.Idx
    func (self *TemplateElement) Idx1() file.Idx
type TemplateLiteral
    func (self *TemplateLiteral) Idx0() file.Idx
    func (self *TemplateLiteral) Idx1() file.Idx
type ThisExpression
    func (self *ThisExpression) Idx0() file.Idx
    func (self *ThisExpression) Idx1() file.Idx
type ThrowStatement
    func (self *ThrowStatement) Idx0() file.Idx
    func (self *ThrowStatement) Idx1() file.Idx
type TryStatement
    func (self *TryStatement) Idx0() file.Idx
    func (self *TryStatement) Idx1() file.Idx
type UnaryExpression
    func (self *UnaryExpression) Idx0() file.Idx
    func (self *UnaryExpression) Idx1() file.Idx
type VariableDeclaration
    func (self *VariableDeclaration) Idx0() file.Idx
    func (self *VariableDeclaration) Idx1() file.Idx
type VariableStatement
    func (self *VariableStatement) Idx0() file.Idx
    func (self *VariableStatement) Idx1() file.Idx
type WhileStatement
    func (self *WhileStatement) Idx0() file.Idx
    func (self *WhileStatement) Idx1() file.Idx
type WithStatement
    func (self *WithStatement) Idx0() file.Idx
    func (self *WithStatement) Idx1() file.Idx
type YieldExpression
    func (self *YieldExpression) Idx0() file.Idx
    func (self *YieldExpression) Idx1() file.Idx

Package files

node.go

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 ArrayPattern

type ArrayPattern struct {
    LeftBracket  file.Idx
    RightBracket file.Idx
    Elements     []Expression
    Rest         Expression
}

func (*ArrayPattern) Idx0

func (self *ArrayPattern) Idx0() file.Idx

func (*ArrayPattern) Idx1

func (self *ArrayPattern) Idx1() file.Idx

type ArrowFunctionLiteral

type ArrowFunctionLiteral struct {
    Start           file.Idx
    ParameterList   *ParameterList
    Body            ConciseBody
    Source          string
    DeclarationList []*VariableDeclaration
    Async           bool
}

func (*ArrowFunctionLiteral) Idx0

func (self *ArrowFunctionLiteral) Idx0() file.Idx

func (*ArrowFunctionLiteral) Idx1

func (self *ArrowFunctionLiteral) 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 AwaitExpression

type AwaitExpression struct {
    Await    file.Idx
    Argument Expression
}

func (*AwaitExpression) Idx0

func (self *AwaitExpression) Idx0() file.Idx

func (*AwaitExpression) Idx1

func (self *AwaitExpression) 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 Binding

type Binding struct {
    Target      BindingTarget
    Initializer Expression
}

func (*Binding) Idx0

func (self *Binding) Idx0() file.Idx

func (*Binding) Idx1

func (self *Binding) Idx1() file.Idx

type BindingTarget

type BindingTarget interface {
    Expression
    // contains filtered or unexported methods
}

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 BindingTarget
    Body      *BlockStatement
}

func (*CatchStatement) Idx0

func (self *CatchStatement) Idx0() file.Idx

func (*CatchStatement) Idx1

func (self *CatchStatement) Idx1() file.Idx

type ClassDeclaration

type ClassDeclaration struct {
    Class *ClassLiteral
}

func (*ClassDeclaration) Idx0

func (self *ClassDeclaration) Idx0() file.Idx

func (*ClassDeclaration) Idx1

func (self *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 (self *ClassLiteral) Idx0() file.Idx

func (*ClassLiteral) Idx1

func (self *ClassLiteral) Idx1() file.Idx

type ClassStaticBlock

type ClassStaticBlock struct {
    Static          file.Idx
    Block           *BlockStatement
    Source          string
    DeclarationList []*VariableDeclaration
}

func (*ClassStaticBlock) Idx0

func (self *ClassStaticBlock) Idx0() file.Idx

func (*ClassStaticBlock) Idx1

func (self *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 (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 DoWhileStatement

type DoWhileStatement struct {
    Do               file.Idx
    Test             Expression
    Body             Statement
    RightParenthesis file.Idx
}

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

All expression nodes implement the Expression interface.

type Expression interface {
    Node
    // contains filtered or unexported methods
}

type ExpressionBody

type ExpressionBody struct {
    Expression Expression
}

func (*ExpressionBody) Idx0

func (self *ExpressionBody) Idx0() file.Idx

func (*ExpressionBody) Idx1

func (self *ExpressionBody) Idx1() file.Idx

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 FieldDefinition

type FieldDefinition struct {
    Idx         file.Idx
    Key         Expression
    Initializer Expression
    Computed    bool
    Static      bool
}

func (*FieldDefinition) Idx0

func (self *FieldDefinition) Idx0() file.Idx

func (*FieldDefinition) Idx1

func (self *FieldDefinition) Idx1() file.Idx

type ForDeclaration

type ForDeclaration struct {
    Idx     file.Idx
    IsConst bool
    Target  BindingTarget
}

func (*ForDeclaration) Idx0

func (self *ForDeclaration) Idx0() file.Idx

func (*ForDeclaration) Idx1

func (self *ForDeclaration) Idx1() file.Idx

type ForInStatement

type ForInStatement struct {
    For    file.Idx
    Into   ForInto
    Source Expression
    Body   Statement
}

func (*ForInStatement) Idx0

func (self *ForInStatement) Idx0() file.Idx

func (*ForInStatement) Idx1

func (self *ForInStatement) Idx1() file.Idx

type ForInto

type ForInto interface {
    Node
    // contains filtered or unexported methods
}

type ForIntoExpression

type ForIntoExpression struct {
    Expression Expression
}

func (*ForIntoExpression) Idx0

func (self *ForIntoExpression) Idx0() file.Idx

func (*ForIntoExpression) Idx1

func (self *ForIntoExpression) Idx1() file.Idx

type ForIntoVar

type ForIntoVar struct {
    Binding *Binding
}

func (*ForIntoVar) Idx0

func (self *ForIntoVar) Idx0() file.Idx

func (*ForIntoVar) Idx1

func (self *ForIntoVar) Idx1() file.Idx

type ForLoopInitializer

type ForLoopInitializer interface {
    Node
    // contains filtered or unexported methods
}

type ForLoopInitializerExpression

type ForLoopInitializerExpression struct {
    Expression Expression
}

func (*ForLoopInitializerExpression) Idx0

func (self *ForLoopInitializerExpression) Idx0() file.Idx

func (*ForLoopInitializerExpression) Idx1

func (self *ForLoopInitializerExpression) Idx1() file.Idx

type ForLoopInitializerLexicalDecl

type ForLoopInitializerLexicalDecl struct {
    LexicalDeclaration LexicalDeclaration
}

func (*ForLoopInitializerLexicalDecl) Idx0

func (self *ForLoopInitializerLexicalDecl) Idx0() file.Idx

func (*ForLoopInitializerLexicalDecl) Idx1

func (self *ForLoopInitializerLexicalDecl) Idx1() file.Idx

type ForLoopInitializerVarDeclList

type ForLoopInitializerVarDeclList struct {
    Var  file.Idx
    List []*Binding
}

func (*ForLoopInitializerVarDeclList) Idx0

func (self *ForLoopInitializerVarDeclList) Idx0() file.Idx

func (*ForLoopInitializerVarDeclList) Idx1

func (self *ForLoopInitializerVarDeclList) Idx1() file.Idx

type ForOfStatement

type ForOfStatement struct {
    For    file.Idx
    Into   ForInto
    Source Expression
    Body   Statement
}

func (*ForOfStatement) Idx0

func (self *ForOfStatement) Idx0() file.Idx

func (*ForOfStatement) Idx1

func (self *ForOfStatement) Idx1() file.Idx

type ForStatement

type ForStatement struct {
    For         file.Idx
    Initializer ForLoopInitializer
    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
}

func (*FunctionDeclaration) Idx0

func (self *FunctionDeclaration) Idx0() file.Idx

func (*FunctionDeclaration) Idx1

func (self *FunctionDeclaration) Idx1() file.Idx

type FunctionLiteral

type FunctionLiteral struct {
    Function      file.Idx
    Name          *Identifier
    ParameterList *ParameterList
    Body          *BlockStatement
    Source        string

    DeclarationList []*VariableDeclaration

    Async, Generator bool
}

func (*FunctionLiteral) Idx0

func (self *FunctionLiteral) Idx0() file.Idx

func (*FunctionLiteral) Idx1

func (self *FunctionLiteral) Idx1() file.Idx

type Identifier

type Identifier struct {
    Name unistring.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 LexicalDeclaration

type LexicalDeclaration struct {
    Idx   file.Idx
    Token token.Token
    List  []*Binding
}

func (*LexicalDeclaration) Idx0

func (self *LexicalDeclaration) Idx0() file.Idx

func (*LexicalDeclaration) Idx1

func (self *LexicalDeclaration) Idx1() file.Idx

type MetaProperty

type MetaProperty struct {
    Meta, Property *Identifier
    Idx            file.Idx
}

func (*MetaProperty) Idx0

func (self *MetaProperty) Idx0() file.Idx

func (*MetaProperty) Idx1

func (self *MetaProperty) Idx1() file.Idx

type MethodDefinition

type MethodDefinition struct {
    Idx      file.Idx
    Key      Expression
    Kind     PropertyKind // "method", "get" or "set"
    Body     *FunctionLiteral
    Computed bool
    Static   bool
}

func (*MethodDefinition) Idx0

func (self *MethodDefinition) Idx0() file.Idx

func (*MethodDefinition) Idx1

func (self *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 (self *NewExpression) Idx0() file.Idx

func (*NewExpression) Idx1

func (self *NewExpression) Idx1() file.Idx

type Node

All nodes implement the Node interface.

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
}

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 ObjectPattern

type ObjectPattern struct {
    LeftBrace  file.Idx
    RightBrace file.Idx
    Properties []Property
    Rest       Expression
}

func (*ObjectPattern) Idx0

func (self *ObjectPattern) Idx0() file.Idx

func (*ObjectPattern) Idx1

func (self *ObjectPattern) Idx1() file.Idx

type Optional

type Optional struct {
    Expression
}

type OptionalChain

type OptionalChain struct {
    Expression
}

type ParameterList

type ParameterList struct {
    Opening file.Idx
    List    []*Binding
    Rest    Expression
    Closing file.Idx
}

func (*ParameterList) Idx0

func (self *ParameterList) Idx0() file.Idx

func (*ParameterList) Idx1

func (self *ParameterList) Idx1() file.Idx

type Pattern

type Pattern interface {
    BindingTarget
    // contains filtered or unexported methods
}

type PrivateDotExpression

type PrivateDotExpression struct {
    Left       Expression
    Identifier PrivateIdentifier
}

func (*PrivateDotExpression) Idx0

func (self *PrivateDotExpression) Idx0() file.Idx

func (*PrivateDotExpression) Idx1

func (self *PrivateDotExpression) Idx1() file.Idx

type PrivateIdentifier

type PrivateIdentifier struct {
    Identifier
}

type Program

type Program struct {
    Body []Statement

    DeclarationList []*VariableDeclaration

    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 interface {
    Expression
    // contains filtered or unexported methods
}

type PropertyKeyed

type PropertyKeyed struct {
    Key      Expression
    Kind     PropertyKind
    Value    Expression
    Computed bool
}

func (*PropertyKeyed) Idx0

func (self *PropertyKeyed) Idx0() file.Idx

func (*PropertyKeyed) Idx1

func (self *PropertyKeyed) Idx1() file.Idx

type PropertyKind

type PropertyKind string
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 (self *PropertyShort) Idx0() file.Idx

func (*PropertyShort) Idx1

func (self *PropertyShort) Idx1() file.Idx

type RegExpLiteral

type RegExpLiteral struct {
    Idx     file.Idx
    Literal string
    Pattern string
    Flags   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 SpreadElement

type SpreadElement struct {
    Expression
}

type Statement

All statement nodes implement the Statement interface.

type Statement interface {
    Node
    // contains filtered or unexported methods
}

type StringLiteral

type StringLiteral struct {
    Idx     file.Idx
    Literal string
    Value   unistring.String
}

func (*StringLiteral) Idx0

func (self *StringLiteral) Idx0() file.Idx

func (*StringLiteral) Idx1

func (self *StringLiteral) Idx1() file.Idx

type SuperExpression

type SuperExpression struct {
    Idx file.Idx
}

func (*SuperExpression) Idx0

func (self *SuperExpression) Idx0() file.Idx

func (*SuperExpression) Idx1

func (self *SuperExpression) Idx1() file.Idx

type SwitchStatement

type SwitchStatement struct {
    Switch       file.Idx
    Discriminant Expression
    Default      int
    Body         []*CaseStatement
    RightBrace   file.Idx
}

func (*SwitchStatement) Idx0

func (self *SwitchStatement) Idx0() file.Idx

func (*SwitchStatement) Idx1

func (self *SwitchStatement) Idx1() file.Idx

type TemplateElement

type TemplateElement struct {
    Idx     file.Idx
    Literal string
    Parsed  unistring.String
    Valid   bool
}

func (*TemplateElement) Idx0

func (self *TemplateElement) Idx0() file.Idx

func (*TemplateElement) Idx1

func (self *TemplateElement) Idx1() file.Idx

type TemplateLiteral

type TemplateLiteral struct {
    OpenQuote   file.Idx
    CloseQuote  file.Idx
    Tag         Expression
    Elements    []*TemplateElement
    Expressions []Expression
}

func (*TemplateLiteral) Idx0

func (self *TemplateLiteral) Idx0() file.Idx

func (*TemplateLiteral) Idx1

func (self *TemplateLiteral) 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    *BlockStatement
    Catch   *CatchStatement
    Finally *BlockStatement
}

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 []*Binding
}

func (*VariableDeclaration) Idx0

func (self *VariableDeclaration) Idx0() file.Idx

func (*VariableDeclaration) Idx1

func (self *VariableDeclaration) Idx1() file.Idx

type VariableStatement

type VariableStatement struct {
    Var  file.Idx
    List []*Binding
}

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

type YieldExpression

type YieldExpression struct {
    Yield    file.Idx
    Argument Expression
    Delegate bool
}

func (*YieldExpression) Idx0

func (self *YieldExpression) Idx0() file.Idx

func (*YieldExpression) Idx1

func (self *YieldExpression) Idx1() file.Idx