|
@@ -384,9 +384,10 @@ type (
|
|
}
|
|
}
|
|
|
|
|
|
DoWhileStatement struct {
|
|
DoWhileStatement struct {
|
|
- Do file.Idx
|
|
|
|
- Test Expression
|
|
|
|
- Body Statement
|
|
|
|
|
|
+ Do file.Idx
|
|
|
|
+ Test Expression
|
|
|
|
+ Body Statement
|
|
|
|
+ RightParenthesis file.Idx
|
|
}
|
|
}
|
|
|
|
|
|
EmptyStatement struct {
|
|
EmptyStatement struct {
|
|
@@ -442,6 +443,7 @@ type (
|
|
Discriminant Expression
|
|
Discriminant Expression
|
|
Default int
|
|
Default int
|
|
Body []*CaseStatement
|
|
Body []*CaseStatement
|
|
|
|
+ RightBrace file.Idx
|
|
}
|
|
}
|
|
|
|
|
|
ThrowStatement struct {
|
|
ThrowStatement struct {
|
|
@@ -669,8 +671,13 @@ func (self *TemplateElement) Idx0() file.Idx { return self.Idx }
|
|
func (self *TemplateLiteral) Idx0() file.Idx { return self.OpenQuote }
|
|
func (self *TemplateLiteral) Idx0() file.Idx { return self.OpenQuote }
|
|
func (self *ThisExpression) Idx0() file.Idx { return self.Idx }
|
|
func (self *ThisExpression) Idx0() file.Idx { return self.Idx }
|
|
func (self *SuperExpression) Idx0() file.Idx { return self.Idx }
|
|
func (self *SuperExpression) Idx0() file.Idx { return self.Idx }
|
|
-func (self *UnaryExpression) Idx0() file.Idx { return self.Idx }
|
|
|
|
-func (self *MetaProperty) Idx0() file.Idx { return self.Idx }
|
|
|
|
|
|
+func (self *UnaryExpression) Idx0() file.Idx {
|
|
|
|
+ if self.Postfix {
|
|
|
|
+ return self.Operand.Idx0()
|
|
|
|
+ }
|
|
|
|
+ return self.Idx
|
|
|
|
+}
|
|
|
|
+func (self *MetaProperty) Idx0() file.Idx { return self.Idx }
|
|
|
|
|
|
func (self *BadStatement) Idx0() file.Idx { return self.From }
|
|
func (self *BadStatement) Idx0() file.Idx { return self.From }
|
|
func (self *BlockStatement) Idx0() file.Idx { return self.LeftBrace }
|
|
func (self *BlockStatement) Idx0() file.Idx { return self.LeftBrace }
|
|
@@ -728,7 +735,7 @@ func (self *BinaryExpression) Idx1() file.Idx { return self.Right.Idx1() }
|
|
func (self *BooleanLiteral) Idx1() file.Idx { return file.Idx(int(self.Idx) + len(self.Literal)) }
|
|
func (self *BooleanLiteral) Idx1() file.Idx { return file.Idx(int(self.Idx) + len(self.Literal)) }
|
|
func (self *BracketExpression) Idx1() file.Idx { return self.RightBracket + 1 }
|
|
func (self *BracketExpression) Idx1() file.Idx { return self.RightBracket + 1 }
|
|
func (self *CallExpression) Idx1() file.Idx { return self.RightParenthesis + 1 }
|
|
func (self *CallExpression) Idx1() file.Idx { return self.RightParenthesis + 1 }
|
|
-func (self *ConditionalExpression) Idx1() file.Idx { return self.Test.Idx1() }
|
|
|
|
|
|
+func (self *ConditionalExpression) Idx1() file.Idx { return self.Alternate.Idx1() }
|
|
func (self *DotExpression) Idx1() file.Idx { return self.Identifier.Idx1() }
|
|
func (self *DotExpression) Idx1() file.Idx { return self.Identifier.Idx1() }
|
|
func (self *PrivateDotExpression) Idx1() file.Idx { return self.Identifier.Idx1() }
|
|
func (self *PrivateDotExpression) Idx1() file.Idx { return self.Identifier.Idx1() }
|
|
func (self *FunctionLiteral) Idx1() file.Idx { return self.Body.Idx1() }
|
|
func (self *FunctionLiteral) Idx1() file.Idx { return self.Body.Idx1() }
|
|
@@ -764,13 +771,18 @@ func (self *MetaProperty) Idx1() file.Idx {
|
|
return self.Property.Idx1()
|
|
return self.Property.Idx1()
|
|
}
|
|
}
|
|
|
|
|
|
-func (self *BadStatement) Idx1() file.Idx { return self.To }
|
|
|
|
-func (self *BlockStatement) Idx1() file.Idx { return self.RightBrace + 1 }
|
|
|
|
-func (self *BranchStatement) Idx1() file.Idx { return self.Idx }
|
|
|
|
|
|
+func (self *BadStatement) Idx1() file.Idx { return self.To }
|
|
|
|
+func (self *BlockStatement) Idx1() file.Idx { return self.RightBrace + 1 }
|
|
|
|
+func (self *BranchStatement) Idx1() file.Idx {
|
|
|
|
+ if self.Label == nil {
|
|
|
|
+ return file.Idx(int(self.Idx) + len(self.Token.String()))
|
|
|
|
+ }
|
|
|
|
+ return self.Label.Idx1()
|
|
|
|
+}
|
|
func (self *CaseStatement) Idx1() file.Idx { return self.Consequent[len(self.Consequent)-1].Idx1() }
|
|
func (self *CaseStatement) Idx1() file.Idx { return self.Consequent[len(self.Consequent)-1].Idx1() }
|
|
func (self *CatchStatement) Idx1() file.Idx { return self.Body.Idx1() }
|
|
func (self *CatchStatement) Idx1() file.Idx { return self.Body.Idx1() }
|
|
func (self *DebuggerStatement) Idx1() file.Idx { return self.Debugger + 8 }
|
|
func (self *DebuggerStatement) Idx1() file.Idx { return self.Debugger + 8 }
|
|
-func (self *DoWhileStatement) Idx1() file.Idx { return self.Test.Idx1() }
|
|
|
|
|
|
+func (self *DoWhileStatement) Idx1() file.Idx { return self.RightParenthesis + 1 }
|
|
func (self *EmptyStatement) Idx1() file.Idx { return self.Semicolon + 1 }
|
|
func (self *EmptyStatement) Idx1() file.Idx { return self.Semicolon + 1 }
|
|
func (self *ExpressionStatement) Idx1() file.Idx { return self.Expression.Idx1() }
|
|
func (self *ExpressionStatement) Idx1() file.Idx { return self.Expression.Idx1() }
|
|
func (self *ForInStatement) Idx1() file.Idx { return self.Body.Idx1() }
|
|
func (self *ForInStatement) Idx1() file.Idx { return self.Body.Idx1() }
|
|
@@ -782,11 +794,16 @@ func (self *IfStatement) Idx1() file.Idx {
|
|
}
|
|
}
|
|
return self.Consequent.Idx1()
|
|
return self.Consequent.Idx1()
|
|
}
|
|
}
|
|
-func (self *LabelledStatement) Idx1() file.Idx { return self.Colon + 1 }
|
|
|
|
|
|
+func (self *LabelledStatement) Idx1() file.Idx { return self.Statement.Idx1() }
|
|
func (self *Program) Idx1() file.Idx { return self.Body[len(self.Body)-1].Idx1() }
|
|
func (self *Program) Idx1() file.Idx { return self.Body[len(self.Body)-1].Idx1() }
|
|
-func (self *ReturnStatement) Idx1() file.Idx { return self.Return + 6 }
|
|
|
|
-func (self *SwitchStatement) Idx1() file.Idx { return self.Body[len(self.Body)-1].Idx1() }
|
|
|
|
-func (self *ThrowStatement) Idx1() file.Idx { return self.Argument.Idx1() }
|
|
|
|
|
|
+func (self *ReturnStatement) Idx1() file.Idx {
|
|
|
|
+ if self.Argument != nil {
|
|
|
|
+ return self.Argument.Idx1()
|
|
|
|
+ }
|
|
|
|
+ return self.Return + 6
|
|
|
|
+}
|
|
|
|
+func (self *SwitchStatement) Idx1() file.Idx { return self.RightBrace + 1 }
|
|
|
|
+func (self *ThrowStatement) Idx1() file.Idx { return self.Argument.Idx1() }
|
|
func (self *TryStatement) Idx1() file.Idx {
|
|
func (self *TryStatement) Idx1() file.Idx {
|
|
if self.Finally != nil {
|
|
if self.Finally != nil {
|
|
return self.Finally.Idx1()
|
|
return self.Finally.Idx1()
|