@@ -109,7 +109,7 @@ func newAstNode(n *VimNode, filename string) ast.Node {
109
109
ExArg : newExArg (* n .ea , filename ),
110
110
Op : n .op ,
111
111
Left : newExprNode (n .left , filename ),
112
- List : newList ( * n , filename ),
112
+ List : newExprs ( n . list , filename ),
113
113
Rest : newExprNode (n .rest , filename ),
114
114
Right : newExprNode (n .right , filename ),
115
115
}
@@ -118,23 +118,23 @@ func newAstNode(n *VimNode, filename string) ast.Node {
118
118
return & ast.UnLet {
119
119
UnLet : pos ,
120
120
ExArg : newExArg (* n .ea , filename ),
121
- List : newList ( * n , filename ),
121
+ List : newExprs ( n . list , filename ),
122
122
}
123
123
124
124
case NODE_LOCKVAR :
125
125
return & ast.LockVar {
126
126
LockVar : pos ,
127
127
ExArg : newExArg (* n .ea , filename ),
128
128
Depth : n .depth ,
129
- List : newList ( * n , filename ),
129
+ List : newExprs ( n . list , filename ),
130
130
}
131
131
132
132
case NODE_UNLOCKVAR :
133
133
return & ast.UnLockVar {
134
134
UnLockVar : pos ,
135
135
ExArg : newExArg (* n .ea , filename ),
136
136
Depth : n .depth ,
137
- List : newList ( * n , filename ),
137
+ List : newExprs ( n . list , filename ),
138
138
}
139
139
140
140
case NODE_IF :
@@ -203,7 +203,7 @@ func newAstNode(n *VimNode, filename string) ast.Node {
203
203
ExArg : newExArg (* n .ea , filename ),
204
204
Body : newBody (* n , filename ),
205
205
Left : newExprNode (n .left , filename ),
206
- List : newList ( * n , filename ),
206
+ List : newExprs ( n . list , filename ),
207
207
Rest : newExprNode (n .rest , filename ),
208
208
Right : newExprNode (n .right , filename ),
209
209
EndFor : newAstNode (n .endfor , filename ).(* ast.EndFor ),
@@ -290,7 +290,7 @@ func newAstNode(n *VimNode, filename string) ast.Node {
290
290
Start : pos ,
291
291
CmdName : n .ea .cmd .name ,
292
292
ExArg : newExArg (* n .ea , filename ),
293
- Exprs : newList ( * n , filename ),
293
+ Exprs : newExprs ( n . list , filename ),
294
294
}
295
295
296
296
case NODE_ECHOHL :
@@ -304,7 +304,7 @@ func newAstNode(n *VimNode, filename string) ast.Node {
304
304
return & ast.Execute {
305
305
Execute : pos ,
306
306
ExArg : newExArg (* n .ea , filename ),
307
- Exprs : newList ( * n , filename ),
307
+ Exprs : newExprs ( n . list , filename ),
308
308
}
309
309
310
310
case NODE_TERNARY :
@@ -358,14 +358,14 @@ func newAstNode(n *VimNode, filename string) ast.Node {
358
358
Lparen : pos ,
359
359
Left : newExprNode (n .left , filename ),
360
360
Method : newExprNode (n .right .left , filename ),
361
- Args : newRlist ( * n .right , filename ),
361
+ Args : newExprs ( n .right . rlist , filename ),
362
362
}
363
363
364
364
case NODE_CALL :
365
365
return & ast.CallExpr {
366
366
Lparen : pos ,
367
367
Fun : newExprNode (n .left , filename ),
368
- Args : newRlist ( * n , filename ),
368
+ Args : newExprs ( n . rlist , filename ),
369
369
}
370
370
371
371
case NODE_DOT :
@@ -474,9 +474,9 @@ func newAstNode(n *VimNode, filename string) ast.Node {
474
474
case NODE_HEREDOC :
475
475
return & ast.HeredocExpr {
476
476
OpPos : pos ,
477
- Flags : newRlist ( * n , filename ),
477
+ Flags : newExprs ( n . rlist , filename ),
478
478
EndMarker : n .op ,
479
- Body : newBodyExprs ( * n , filename ),
479
+ Body : newExprs ( n . body , filename ),
480
480
}
481
481
482
482
}
@@ -554,14 +554,6 @@ func newBody(n VimNode, filename string) []ast.Statement {
554
554
return body
555
555
}
556
556
557
- func newBodyExprs (n VimNode , filename string ) []ast.Expr {
558
- body := make ([]ast.Expr , len (n .body ))
559
- for i , node := range n .body {
560
- body [i ] = newExprNode (node , filename )
561
- }
562
- return body
563
- }
564
-
565
557
func newIdents (n VimNode , filename string ) []* ast.Ident {
566
558
var idents []* ast.Ident
567
559
if n .rlist != nil {
@@ -575,32 +567,6 @@ func newIdents(n VimNode, filename string) []*ast.Ident {
575
567
return idents
576
568
}
577
569
578
- func newRlist (n VimNode , filename string ) []ast.Expr {
579
- var exprs []ast.Expr
580
- if n .rlist != nil {
581
- exprs = make ([]ast.Expr , 0 , len (n .rlist ))
582
- }
583
- for _ , node := range n .rlist {
584
- if node != nil { // conservative
585
- exprs = append (exprs , newExprNode (node , filename ))
586
- }
587
- }
588
- return exprs
589
- }
590
-
591
- func newList (n VimNode , filename string ) []ast.Expr {
592
- var list []ast.Expr
593
- if n .list != nil {
594
- list = make ([]ast.Expr , 0 , len (n .list ))
595
- }
596
- for _ , node := range n .list {
597
- if node != nil { // conservative
598
- list = append (list , newExprNode (node , filename ))
599
- }
600
- }
601
- return list
602
- }
603
-
604
570
func newExprs (xs []* VimNode , filename string ) []ast.Expr {
605
571
var list []ast.Expr
606
572
if xs != nil {
0 commit comments