@@ -6,6 +6,7 @@ call extend(s:, vimlparser#import())
66
77let s: opprec = {}
88let s: opprec [s: NODE_TERNARY ] = 1
9+ let s: opprec [s: NODE_PARENEXPR ] = 1
910let s: opprec [s: NODE_OR ] = 2
1011let s: opprec [s: NODE_AND ] = 3
1112let s: opprec [s: NODE_EQUAL ] = 4
@@ -280,6 +281,8 @@ function s:GoCompiler.compile(node)
280281 return self .compile_env (a: node )
281282 elseif a: node .type == s: NODE_REG
282283 return self .compile_reg (a: node )
284+ elseif a: node .type == s: NODE_PARENEXPR
285+ return self .compile_parenexpr (a: node )
283286 else
284287 throw self .err (' Compiler: unknown node: %s' , string (a: node ))
285288 endif
@@ -358,6 +361,7 @@ function s:GoCompiler.compile_function(node)
358361 \ || name == ' compile_list'
359362 \ || name == ' compile_curlyname'
360363 \ || name == ' compile_dict'
364+ \ || name == ' compile_parenexpr'
361365 \ ))
362366 return
363367 endif
@@ -956,6 +960,10 @@ function s:GoCompiler.compile_reg(node)
956960 throw ' NotImplemented: reg'
957961endfunction
958962
963+ function s: GoCompiler .compile_parenexpr (node)
964+ return self .compile (a: node .value)
965+ endfunction
966+
959967function s: GoCompiler .compile_op1 (node, op )
960968 let left = self .compile (a: node .left )
961969 if s: opprec [a: node .type ] > s: opprec [a: node .left .type ]
0 commit comments