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