synvert-core 1.2.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/Gemfile +9 -0
- data/lib/synvert/core/node_query/compiler/attribute.rb +6 -18
- data/lib/synvert/core/node_query/compiler/comparable.rb +26 -19
- data/lib/synvert/core/node_query/compiler/expression.rb +8 -76
- data/lib/synvert/core/node_query/compiler/identifier.rb +1 -1
- data/lib/synvert/core/node_query/compiler/regexp.rb +2 -2
- data/lib/synvert/core/node_query/compiler/selector.rb +102 -20
- data/lib/synvert/core/node_query/compiler/simple_selector.rb +29 -0
- data/lib/synvert/core/node_query/compiler/string.rb +1 -1
- data/lib/synvert/core/node_query/compiler.rb +1 -0
- data/lib/synvert/core/node_query/lexer.rex +19 -16
- data/lib/synvert/core/node_query/lexer.rex.rb +33 -27
- data/lib/synvert/core/node_query/parser.racc.rb +117 -279
- data/lib/synvert/core/node_query/parser.y +17 -34
- data/lib/synvert/core/version.rb +1 -1
- data/spec/synvert/core/node_query/lexer_spec.rb +48 -48
- data/spec/synvert/core/node_query/parser_spec.rb +138 -106
- data/spec/synvert/core/rewriter/instance_spec.rb +3 -3
- data/spec/synvert/core/rewriter/scope/query_scope_spec.rb +3 -3
- data/synvert-core-ruby.gemspec +0 -10
- metadata +3 -128
@@ -29,7 +29,7 @@ module Synvert::Core::NodeQuery
|
|
29
29
|
[:tNODE_TYPE, "send"],
|
30
30
|
[:tOPEN_ATTRIBUTE, "["],
|
31
31
|
[:tKEY, "message"],
|
32
|
-
[:
|
32
|
+
[:tOPERATOR, "=="],
|
33
33
|
[:tIDENTIFIER_VALUE, "create"],
|
34
34
|
[:tCLOSE_ATTRIBUTE, "]"]
|
35
35
|
]
|
@@ -42,7 +42,7 @@ module Synvert::Core::NodeQuery
|
|
42
42
|
[:tNODE_TYPE, "send"],
|
43
43
|
[:tOPEN_ATTRIBUTE, "["],
|
44
44
|
[:tKEY, "receiver"],
|
45
|
-
[:
|
45
|
+
[:tOPERATOR, "=="],
|
46
46
|
[:tNIL, nil],
|
47
47
|
[:tCLOSE_ATTRIBUTE, "]"]
|
48
48
|
]
|
@@ -55,7 +55,7 @@ module Synvert::Core::NodeQuery
|
|
55
55
|
[:tNODE_TYPE, "send"],
|
56
56
|
[:tOPEN_ATTRIBUTE, "["],
|
57
57
|
[:tKEY, "message"],
|
58
|
-
[:
|
58
|
+
[:tOPERATOR, "=="],
|
59
59
|
[:tSTRING, "create"],
|
60
60
|
[:tCLOSE_ATTRIBUTE, "]"]
|
61
61
|
]
|
@@ -68,7 +68,7 @@ module Synvert::Core::NodeQuery
|
|
68
68
|
[:tNODE_TYPE, "send"],
|
69
69
|
[:tOPEN_ATTRIBUTE, "["],
|
70
70
|
[:tKEY, "message"],
|
71
|
-
[:
|
71
|
+
[:tOPERATOR, "=="],
|
72
72
|
[:tSTRING, "[]"],
|
73
73
|
[:tCLOSE_ATTRIBUTE, "]"]
|
74
74
|
]
|
@@ -81,7 +81,7 @@ module Synvert::Core::NodeQuery
|
|
81
81
|
[:tNODE_TYPE, "send"],
|
82
82
|
[:tOPEN_ATTRIBUTE, "["],
|
83
83
|
[:tKEY, "message"],
|
84
|
-
[:
|
84
|
+
[:tOPERATOR, "=="],
|
85
85
|
[:tSYMBOL, :create],
|
86
86
|
[:tCLOSE_ATTRIBUTE, "]"]
|
87
87
|
]
|
@@ -93,7 +93,7 @@ module Synvert::Core::NodeQuery
|
|
93
93
|
expected_tokens = [
|
94
94
|
[:tOPEN_ATTRIBUTE, "["],
|
95
95
|
[:tKEY, "value"],
|
96
|
-
[:
|
96
|
+
[:tOPERATOR, "=="],
|
97
97
|
[:tINTEGER, 1],
|
98
98
|
[:tCLOSE_ATTRIBUTE, "]"]
|
99
99
|
]
|
@@ -106,7 +106,7 @@ module Synvert::Core::NodeQuery
|
|
106
106
|
[:tNODE_TYPE, "send"],
|
107
107
|
[:tOPEN_ATTRIBUTE, "["],
|
108
108
|
[:tKEY, "value"],
|
109
|
-
[:
|
109
|
+
[:tOPERATOR, "=="],
|
110
110
|
[:tFLOAT, 1.1],
|
111
111
|
[:tCLOSE_ATTRIBUTE, "]"]
|
112
112
|
]
|
@@ -119,7 +119,7 @@ module Synvert::Core::NodeQuery
|
|
119
119
|
[:tNODE_TYPE, "send"],
|
120
120
|
[:tOPEN_ATTRIBUTE, "["],
|
121
121
|
[:tKEY, "value"],
|
122
|
-
[:
|
122
|
+
[:tOPERATOR, "=="],
|
123
123
|
[:tBOOLEAN, true],
|
124
124
|
[:tCLOSE_ATTRIBUTE, "]"]
|
125
125
|
]
|
@@ -132,7 +132,7 @@ module Synvert::Core::NodeQuery
|
|
132
132
|
[:tNODE_TYPE, "send"],
|
133
133
|
[:tOPEN_ATTRIBUTE, "["],
|
134
134
|
[:tKEY, "message"],
|
135
|
-
[:
|
135
|
+
[:tOPERATOR, "=="],
|
136
136
|
[:tIDENTIFIER_VALUE, "create!"],
|
137
137
|
[:tCLOSE_ATTRIBUTE, "]"]
|
138
138
|
]
|
@@ -145,7 +145,7 @@ module Synvert::Core::NodeQuery
|
|
145
145
|
[:tNODE_TYPE, "send"],
|
146
146
|
[:tOPEN_ATTRIBUTE, "["],
|
147
147
|
[:tKEY, "message"],
|
148
|
-
[:
|
148
|
+
[:tOPERATOR, "=="],
|
149
149
|
[:tIDENTIFIER_VALUE, "empty?"],
|
150
150
|
[:tCLOSE_ATTRIBUTE, "]"]
|
151
151
|
]
|
@@ -158,7 +158,7 @@ module Synvert::Core::NodeQuery
|
|
158
158
|
[:tNODE_TYPE, "send"],
|
159
159
|
[:tOPEN_ATTRIBUTE, "["],
|
160
160
|
[:tKEY, "message"],
|
161
|
-
[:
|
161
|
+
[:tOPERATOR, "=="],
|
162
162
|
[:tIDENTIFIER_VALUE, "<"],
|
163
163
|
[:tCLOSE_ATTRIBUTE, "]"]
|
164
164
|
]
|
@@ -169,7 +169,7 @@ module Synvert::Core::NodeQuery
|
|
169
169
|
[:tNODE_TYPE, "send"],
|
170
170
|
[:tOPEN_ATTRIBUTE, "["],
|
171
171
|
[:tKEY, "message"],
|
172
|
-
[:
|
172
|
+
[:tOPERATOR, "=="],
|
173
173
|
[:tIDENTIFIER_VALUE, "="],
|
174
174
|
[:tCLOSE_ATTRIBUTE, "]"]
|
175
175
|
]
|
@@ -180,7 +180,7 @@ module Synvert::Core::NodeQuery
|
|
180
180
|
[:tNODE_TYPE, "send"],
|
181
181
|
[:tOPEN_ATTRIBUTE, "["],
|
182
182
|
[:tKEY, "message"],
|
183
|
-
[:
|
183
|
+
[:tOPERATOR, "=="],
|
184
184
|
[:tIDENTIFIER_VALUE, ">"],
|
185
185
|
[:tCLOSE_ATTRIBUTE, "]"]
|
186
186
|
]
|
@@ -193,7 +193,7 @@ module Synvert::Core::NodeQuery
|
|
193
193
|
[:tNODE_TYPE, "send"],
|
194
194
|
[:tOPEN_ATTRIBUTE, "["],
|
195
195
|
[:tKEY, "arguments.first"],
|
196
|
-
[:
|
196
|
+
[:tOPERATOR, "=="],
|
197
197
|
[:tSTRING, ""],
|
198
198
|
[:tCLOSE_ATTRIBUTE, "]"]
|
199
199
|
]
|
@@ -206,7 +206,7 @@ module Synvert::Core::NodeQuery
|
|
206
206
|
[:tNODE_TYPE, "send"],
|
207
207
|
[:tOPEN_ATTRIBUTE, "["],
|
208
208
|
[:tKEY, "message"],
|
209
|
-
[:
|
209
|
+
[:tOPERATOR, "=="],
|
210
210
|
[:tIDENTIFIER_VALUE, "[]"],
|
211
211
|
[:tCLOSE_ATTRIBUTE, "]"]
|
212
212
|
]
|
@@ -219,7 +219,7 @@ module Synvert::Core::NodeQuery
|
|
219
219
|
[:tNODE_TYPE, "send"],
|
220
220
|
[:tOPEN_ATTRIBUTE, "["],
|
221
221
|
[:tKEY, "message"],
|
222
|
-
[:
|
222
|
+
[:tOPERATOR, "=="],
|
223
223
|
[:tSYMBOL, :[]=],
|
224
224
|
[:tCLOSE_ATTRIBUTE, "]"]
|
225
225
|
]
|
@@ -232,7 +232,7 @@ module Synvert::Core::NodeQuery
|
|
232
232
|
[:tNODE_TYPE, "send"],
|
233
233
|
[:tOPEN_ATTRIBUTE, "["],
|
234
234
|
[:tKEY, "message"],
|
235
|
-
[:
|
235
|
+
[:tOPERATOR, "=="],
|
236
236
|
[:tIDENTIFIER_VALUE, "nil?"],
|
237
237
|
[:tCLOSE_ATTRIBUTE, "]"]
|
238
238
|
]
|
@@ -245,7 +245,7 @@ module Synvert::Core::NodeQuery
|
|
245
245
|
[:tNODE_TYPE, "pair"],
|
246
246
|
[:tOPEN_ATTRIBUTE, "["],
|
247
247
|
[:tKEY, "key"],
|
248
|
-
[:
|
248
|
+
[:tOPERATOR, "=="],
|
249
249
|
[:tOPEN_DYNAMIC_ATTRIBUTE, "{{"],
|
250
250
|
[:tDYNAMIC_ATTRIBUTE, "value"],
|
251
251
|
[:tCLOSE_DYNAMIC_ATTRIBUTE, "}}"],
|
@@ -265,11 +265,11 @@ module Synvert::Core::NodeQuery
|
|
265
265
|
[:tNODE_TYPE, "send"],
|
266
266
|
[:tOPEN_ATTRIBUTE, "["],
|
267
267
|
[:tKEY, "receiver"],
|
268
|
-
[:
|
268
|
+
[:tOPERATOR, "=="],
|
269
269
|
[:tNODE_TYPE, "send"],
|
270
270
|
[:tOPEN_ATTRIBUTE, "["],
|
271
271
|
[:tKEY, "message"],
|
272
|
-
[:
|
272
|
+
[:tOPERATOR, "=="],
|
273
273
|
[:tSYMBOL, :create],
|
274
274
|
[:tCLOSE_ATTRIBUTE, "]"],
|
275
275
|
[:tCLOSE_ATTRIBUTE, "]"]
|
@@ -287,20 +287,20 @@ module Synvert::Core::NodeQuery
|
|
287
287
|
[:tNODE_TYPE, "send"],
|
288
288
|
[:tOPEN_ATTRIBUTE, "["],
|
289
289
|
[:tKEY, "arguments"],
|
290
|
-
[:
|
290
|
+
[:tOPERATOR, "=="],
|
291
291
|
[:tOPEN_ATTRIBUTE, "["],
|
292
292
|
[:tKEY, "size"],
|
293
|
-
[:
|
293
|
+
[:tOPERATOR, "=="],
|
294
294
|
[:tINTEGER, 2],
|
295
295
|
[:tCLOSE_ATTRIBUTE, "]"],
|
296
296
|
[:tOPEN_ATTRIBUTE, "["],
|
297
297
|
[:tKEY, "first"],
|
298
|
-
[:
|
298
|
+
[:tOPERATOR, "=="],
|
299
299
|
[:tNODE_TYPE, "str"],
|
300
300
|
[:tCLOSE_ATTRIBUTE, "]"],
|
301
301
|
[:tOPEN_ATTRIBUTE, "["],
|
302
302
|
[:tKEY, "last"],
|
303
|
-
[:
|
303
|
+
[:tOPERATOR, "=="],
|
304
304
|
[:tNODE_TYPE, "str"],
|
305
305
|
[:tCLOSE_ATTRIBUTE, "]"],
|
306
306
|
[:tCLOSE_ATTRIBUTE, "]"]
|
@@ -316,7 +316,7 @@ module Synvert::Core::NodeQuery
|
|
316
316
|
[:tNODE_TYPE, "send"],
|
317
317
|
[:tOPEN_ATTRIBUTE, "["],
|
318
318
|
[:tKEY, "message"],
|
319
|
-
[:
|
319
|
+
[:tOPERATOR, "!="],
|
320
320
|
[:tIDENTIFIER_VALUE, "create"],
|
321
321
|
[:tCLOSE_ATTRIBUTE, "]"]
|
322
322
|
]
|
@@ -328,7 +328,7 @@ module Synvert::Core::NodeQuery
|
|
328
328
|
expected_tokens = [
|
329
329
|
[:tOPEN_ATTRIBUTE, "["],
|
330
330
|
[:tKEY, "value"],
|
331
|
-
[:
|
331
|
+
[:tOPERATOR, ">"],
|
332
332
|
[:tINTEGER, 1],
|
333
333
|
[:tCLOSE_ATTRIBUTE, "]"]
|
334
334
|
]
|
@@ -340,7 +340,7 @@ module Synvert::Core::NodeQuery
|
|
340
340
|
expected_tokens = [
|
341
341
|
[:tOPEN_ATTRIBUTE, "["],
|
342
342
|
[:tKEY, "value"],
|
343
|
-
[:
|
343
|
+
[:tOPERATOR, "<"],
|
344
344
|
[:tINTEGER, 1],
|
345
345
|
[:tCLOSE_ATTRIBUTE, "]"]
|
346
346
|
]
|
@@ -352,7 +352,7 @@ module Synvert::Core::NodeQuery
|
|
352
352
|
expected_tokens = [
|
353
353
|
[:tOPEN_ATTRIBUTE, "["],
|
354
354
|
[:tKEY, "value"],
|
355
|
-
[:
|
355
|
+
[:tOPERATOR, ">="],
|
356
356
|
[:tINTEGER, 1],
|
357
357
|
[:tCLOSE_ATTRIBUTE, "]"]
|
358
358
|
]
|
@@ -364,7 +364,7 @@ module Synvert::Core::NodeQuery
|
|
364
364
|
expected_tokens = [
|
365
365
|
[:tOPEN_ATTRIBUTE, "["],
|
366
366
|
[:tKEY, "value"],
|
367
|
-
[:
|
367
|
+
[:tOPERATOR, "<="],
|
368
368
|
[:tINTEGER, 1],
|
369
369
|
[:tCLOSE_ATTRIBUTE, "]"]
|
370
370
|
]
|
@@ -377,7 +377,7 @@ module Synvert::Core::NodeQuery
|
|
377
377
|
[:tNODE_TYPE, "send"],
|
378
378
|
[:tOPEN_ATTRIBUTE, "["],
|
379
379
|
[:tKEY, "message"],
|
380
|
-
[:
|
380
|
+
[:tOPERATOR, "=~"],
|
381
381
|
[:tREGEXP, /create/i],
|
382
382
|
[:tCLOSE_ATTRIBUTE, "]"]
|
383
383
|
]
|
@@ -390,7 +390,7 @@ module Synvert::Core::NodeQuery
|
|
390
390
|
[:tNODE_TYPE, "send"],
|
391
391
|
[:tOPEN_ATTRIBUTE, "["],
|
392
392
|
[:tKEY, "message"],
|
393
|
-
[:
|
393
|
+
[:tOPERATOR, "!~"],
|
394
394
|
[:tREGEXP, /create/i],
|
395
395
|
[:tCLOSE_ATTRIBUTE, "]"]
|
396
396
|
]
|
@@ -403,7 +403,7 @@ module Synvert::Core::NodeQuery
|
|
403
403
|
[:tNODE_TYPE, "send"],
|
404
404
|
[:tOPEN_ATTRIBUTE, "["],
|
405
405
|
[:tKEY, "arguments"],
|
406
|
-
[:
|
406
|
+
[:tOPERATOR, "=="],
|
407
407
|
[:tOPEN_ARRAY, "("],
|
408
408
|
[:tCLOSE_ARRAY, ")"],
|
409
409
|
[:tCLOSE_ATTRIBUTE, "]"]
|
@@ -417,7 +417,7 @@ module Synvert::Core::NodeQuery
|
|
417
417
|
[:tNODE_TYPE, "send"],
|
418
418
|
[:tOPEN_ATTRIBUTE, "["],
|
419
419
|
[:tKEY, "arguments"],
|
420
|
-
[:
|
420
|
+
[:tOPERATOR, "=="],
|
421
421
|
[:tOPEN_ARRAY, "("],
|
422
422
|
[:tSYMBOL, :create],
|
423
423
|
[:tCLOSE_ARRAY, ")"],
|
@@ -432,7 +432,7 @@ module Synvert::Core::NodeQuery
|
|
432
432
|
[:tNODE_TYPE, "send"],
|
433
433
|
[:tOPEN_ATTRIBUTE, "["],
|
434
434
|
[:tKEY, "arguments"],
|
435
|
-
[:
|
435
|
+
[:tOPERATOR, "!="],
|
436
436
|
[:tOPEN_ARRAY, "("],
|
437
437
|
[:tSYMBOL, :create],
|
438
438
|
[:tCLOSE_ARRAY, ")"],
|
@@ -447,7 +447,7 @@ module Synvert::Core::NodeQuery
|
|
447
447
|
[:tNODE_TYPE, "send"],
|
448
448
|
[:tOPEN_ATTRIBUTE, "["],
|
449
449
|
[:tKEY, "message"],
|
450
|
-
[:
|
450
|
+
[:tOPERATOR, "in"],
|
451
451
|
[:tOPEN_ARRAY, "("],
|
452
452
|
[:tIDENTIFIER_VALUE, "create"],
|
453
453
|
[:tIDENTIFIER_VALUE, "build"],
|
@@ -463,7 +463,7 @@ module Synvert::Core::NodeQuery
|
|
463
463
|
[:tNODE_TYPE, "send"],
|
464
464
|
[:tOPEN_ATTRIBUTE, "["],
|
465
465
|
[:tKEY, "message"],
|
466
|
-
[:
|
466
|
+
[:tOPERATOR, "not_in"],
|
467
467
|
[:tOPEN_ARRAY, "("],
|
468
468
|
[:tIDENTIFIER_VALUE, "create"],
|
469
469
|
[:tIDENTIFIER_VALUE, "build"],
|
@@ -479,7 +479,7 @@ module Synvert::Core::NodeQuery
|
|
479
479
|
[:tNODE_TYPE, "send"],
|
480
480
|
[:tOPEN_ATTRIBUTE, "["],
|
481
481
|
[:tKEY, "arguments"],
|
482
|
-
[:
|
482
|
+
[:tOPERATOR, "includes"],
|
483
483
|
[:tIDENTIFIER_VALUE, "&block"],
|
484
484
|
[:tCLOSE_ATTRIBUTE, "]"]
|
485
485
|
]
|
@@ -494,7 +494,7 @@ module Synvert::Core::NodeQuery
|
|
494
494
|
[:tNODE_TYPE, "send"],
|
495
495
|
[:tOPEN_ATTRIBUTE, "["],
|
496
496
|
[:tKEY, "receiver.message"],
|
497
|
-
[:
|
497
|
+
[:tOPERATOR, "=="],
|
498
498
|
[:tSYMBOL, :create],
|
499
499
|
[:tCLOSE_ATTRIBUTE, "]"]
|
500
500
|
]
|
@@ -509,7 +509,7 @@ module Synvert::Core::NodeQuery
|
|
509
509
|
[:tNODE_TYPE, "send"],
|
510
510
|
[:tOPEN_ATTRIBUTE, "["],
|
511
511
|
[:tKEY, "arguments"],
|
512
|
-
[:
|
512
|
+
[:tOPERATOR, "=="],
|
513
513
|
[:tSYMBOL, :create],
|
514
514
|
[:tCLOSE_ATTRIBUTE, "]"],
|
515
515
|
[:tINDEX, 0]
|
@@ -523,7 +523,7 @@ module Synvert::Core::NodeQuery
|
|
523
523
|
[:tNODE_TYPE, "send"],
|
524
524
|
[:tOPEN_ATTRIBUTE, "["],
|
525
525
|
[:tKEY, "arguments"],
|
526
|
-
[:
|
526
|
+
[:tOPERATOR, "=="],
|
527
527
|
[:tSYMBOL, :create],
|
528
528
|
[:tCLOSE_ATTRIBUTE, "]"],
|
529
529
|
[:tINDEX, -1]
|
@@ -537,7 +537,7 @@ module Synvert::Core::NodeQuery
|
|
537
537
|
[:tNODE_TYPE, "send"],
|
538
538
|
[:tOPEN_ATTRIBUTE, "["],
|
539
539
|
[:tKEY, "arguments"],
|
540
|
-
[:
|
540
|
+
[:tOPERATOR, "=="],
|
541
541
|
[:tSYMBOL, :create],
|
542
542
|
[:tCLOSE_ATTRIBUTE, "]"],
|
543
543
|
[:tINDEX, 0]
|
@@ -551,7 +551,7 @@ module Synvert::Core::NodeQuery
|
|
551
551
|
[:tNODE_TYPE, "send"],
|
552
552
|
[:tOPEN_ATTRIBUTE, "["],
|
553
553
|
[:tKEY, "arguments"],
|
554
|
-
[:
|
554
|
+
[:tOPERATOR, "=="],
|
555
555
|
[:tSYMBOL, :create],
|
556
556
|
[:tCLOSE_ATTRIBUTE, "]"],
|
557
557
|
[:tINDEX, -1]
|
@@ -571,7 +571,7 @@ module Synvert::Core::NodeQuery
|
|
571
571
|
context 'child' do
|
572
572
|
it 'matches' do
|
573
573
|
source = '.def > .send'
|
574
|
-
expected_tokens = [[:tNODE_TYPE, "def"], [:
|
574
|
+
expected_tokens = [[:tNODE_TYPE, "def"], [:tRELATIONSHIP, ">"], [:tNODE_TYPE, "send"]]
|
575
575
|
assert_tokens source, expected_tokens
|
576
576
|
end
|
577
577
|
end
|
@@ -579,7 +579,7 @@ module Synvert::Core::NodeQuery
|
|
579
579
|
context 'subsequent sibling' do
|
580
580
|
it 'matches' do
|
581
581
|
source = '.send ~ .send'
|
582
|
-
expected_tokens = [[:tNODE_TYPE, "send"], [:
|
582
|
+
expected_tokens = [[:tNODE_TYPE, "send"], [:tRELATIONSHIP, "~"], [:tNODE_TYPE, "send"]]
|
583
583
|
assert_tokens source, expected_tokens
|
584
584
|
end
|
585
585
|
end
|
@@ -587,7 +587,7 @@ module Synvert::Core::NodeQuery
|
|
587
587
|
context 'next sibling' do
|
588
588
|
it 'matches' do
|
589
589
|
source = '.send + .send'
|
590
|
-
expected_tokens = [[:tNODE_TYPE, "send"], [:
|
590
|
+
expected_tokens = [[:tNODE_TYPE, "send"], [:tRELATIONSHIP, "+"], [:tNODE_TYPE, "send"]]
|
591
591
|
assert_tokens source, expected_tokens
|
592
592
|
end
|
593
593
|
end
|
@@ -599,7 +599,7 @@ module Synvert::Core::NodeQuery
|
|
599
599
|
[:tNODE_TYPE, "class"],
|
600
600
|
[:tPSEUDO_CLASS, "has"],
|
601
601
|
[:tOPEN_SELECTOR, "("],
|
602
|
-
[:
|
602
|
+
[:tRELATIONSHIP, ">"],
|
603
603
|
[:tNODE_TYPE, "def"],
|
604
604
|
[:tCLOSE_SELECTOR, ")"]
|
605
605
|
]
|
@@ -614,7 +614,7 @@ module Synvert::Core::NodeQuery
|
|
614
614
|
[:tNODE_TYPE, "class"],
|
615
615
|
[:tPSEUDO_CLASS, "not_has"],
|
616
616
|
[:tOPEN_SELECTOR, "("],
|
617
|
-
[:
|
617
|
+
[:tRELATIONSHIP, ">"],
|
618
618
|
[:tNODE_TYPE, "def"],
|
619
619
|
[:tCLOSE_SELECTOR, ")"]
|
620
620
|
]
|
@@ -630,7 +630,7 @@ module Synvert::Core::NodeQuery
|
|
630
630
|
[:tOPEN_GOTO_SCOPE, "<"],
|
631
631
|
[:tIDENTIFIER, "body"],
|
632
632
|
[:tCLOSE_GOTO_SCOPE, ">"],
|
633
|
-
[:
|
633
|
+
[:tRELATIONSHIP, ">"],
|
634
634
|
[:tNODE_TYPE, "def"]
|
635
635
|
]
|
636
636
|
assert_tokens source, expected_tokens
|