@@ -6,6 +6,7 @@ call extend(s:, vimlparser#import())
6
6
7
7
let s: opprec = {}
8
8
let s: opprec [s: NODE_TERNARY ] = 1
9
+ let s: opprec [s: NODE_PARENEXPR ] = 1
9
10
let s: opprec [s: NODE_OR ] = 2
10
11
let s: opprec [s: NODE_AND ] = 3
11
12
let s: opprec [s: NODE_EQUAL ] = 4
@@ -280,6 +281,8 @@ function s:GoCompiler.compile(node)
280
281
return self .compile_env (a: node )
281
282
elseif a: node .type == s: NODE_REG
282
283
return self .compile_reg (a: node )
284
+ elseif a: node .type == s: NODE_PARENEXPR
285
+ return self .compile_parenexpr (a: node )
283
286
else
284
287
throw self .err (' Compiler: unknown node: %s' , string (a: node ))
285
288
endif
@@ -358,6 +361,7 @@ function s:GoCompiler.compile_function(node)
358
361
\ || name == ' compile_list'
359
362
\ || name == ' compile_curlyname'
360
363
\ || name == ' compile_dict'
364
+ \ || name == ' compile_parenexpr'
361
365
\ ))
362
366
return
363
367
endif
@@ -956,6 +960,10 @@ function s:GoCompiler.compile_reg(node)
956
960
throw ' NotImplemented: reg'
957
961
endfunction
958
962
963
+ function s: GoCompiler .compile_parenexpr (node)
964
+ return self .compile (a: node .value)
965
+ endfunction
966
+
959
967
function s: GoCompiler .compile_op1 (node, op )
960
968
let left = self .compile (a: node .left )
961
969
if s: opprec [a: node .type ] > s: opprec [a: node .left .type ]
0 commit comments