@@ -127,6 +127,7 @@ let s:NODE_IDENTIFIER = 86
127
127
let s: NODE_CURLYNAME = 87
128
128
let s: NODE_ENV = 88
129
129
let s: NODE_REG = 89
130
+ let s: NODE_CURLYNAMEPART = 90
130
131
131
132
let s: TOKEN_EOF = 1
132
133
let s: TOKEN_EOL = 2
@@ -3263,13 +3264,21 @@ function! s:ExprParser.parse_identifier()
3263
3264
let c = self .reader.peek ()
3264
3265
if c == # ' <' && self .reader.peekn (5 ) == ? ' <SID>'
3265
3266
let name = self .reader.getn (5 )
3266
- call add (id, {' curly' : 0 , ' value' : name})
3267
+ let node_1 = s: Node (s: NODE_CURLYNAMEPART )
3268
+ let node_1.curly = 0
3269
+ let node_1.pos = npos
3270
+ let node_1.value = name
3271
+ call add (id, node_1)
3267
3272
endif
3268
3273
while 1
3269
3274
let c = self .reader.peek ()
3270
3275
if s: isnamec (c )
3271
3276
let name = self .reader.read_name ()
3272
- call add (id, {' curly' : 0 , ' value' : name})
3277
+ let node_2 = s: Node (s: NODE_CURLYNAMEPART )
3278
+ let node_2.curly = 0
3279
+ let node_2.pos = npos
3280
+ let node_2.value = name
3281
+ call add (id, node_2)
3273
3282
elseif c == # ' {'
3274
3283
call self .reader.get ()
3275
3284
let node = self .parse_expr1 ()
@@ -3279,7 +3288,11 @@ function! s:ExprParser.parse_identifier()
3279
3288
throw s: Err (printf (' unexpected token: %s' , c ), self .reader.getpos ())
3280
3289
endif
3281
3290
call self .reader.seek_cur (1 )
3282
- call add (id, {' curly' : 1 , ' value' : node})
3291
+ let node_3 = s: Node (s: NODE_CURLYNAMEPART )
3292
+ let node_3.curly = 1
3293
+ let node_3.pos = npos
3294
+ let node_3.value = id[0 ].value
3295
+ call add (id, node_3)
3283
3296
else
3284
3297
break
3285
3298
endif
0 commit comments