query: Handle captured wildcard nodes at the root of patterns

This commit is contained in:
Max Brunsfeld 2020-10-08 12:34:08 -07:00
parent 1f3248a3e0
commit 857a9ed07b
5 changed files with 212 additions and 35 deletions

View file

@ -1273,7 +1273,7 @@ impl Query {
let raw_predicates =
ffi::ts_query_predicates_for_pattern(ptr, i as u32, &mut length as *mut u32);
if length > 0 {
slice::from_raw_parts(raw_predicates, length as usize)
slice::from_raw_parts(raw_predicates, length as usize)
} else {
&[]
}
@ -1655,10 +1655,10 @@ impl<'a> QueryMatch<'a> {
pattern_index: m.pattern_index as usize,
captures: if m.capture_count > 0 {
unsafe {
slice::from_raw_parts(
m.captures as *const QueryCapture<'a>,
m.capture_count as usize,
)
slice::from_raw_parts(
m.captures as *const QueryCapture<'a>,
m.capture_count as usize,
)
}
} else {
&[]