Swift: add database migration scripts for move semantics

This commit is contained in:
Alex Denisov 2023-11-13 16:20:46 +01:00
Родитель 031f453af8
Коммит 1c75e5b2a6
7 изменённых файлов: 10848 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,30 @@
class Element extends @element {
string toString() { none() }
}
query predicate new_unspecified_elements(Element e, string property, string error) {
unspecified_elements(e, property, error)
or
error =
"Move semantics support removed during database downgrade. Please update your CodeQL code." and
property = "" and
(
copy_exprs(e, _) or
consume_exprs(e, _) or
borrow_exprs(e)
)
}
query predicate new_unspecified_element_children(Element e, int index, Element child) {
unspecified_element_children(e, index, child)
or
copy_exprs(e, child) and index = 0
or
consume_exprs(e, child) and index = 0
or
borrow_exprs(e) and identity_exprs(e, child) and index = 0
}
query predicate new_identity_exprs(Element e, Element child) {
identity_exprs(e, child) and not borrow_exprs(e)
}

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,10 @@
description: Removes elements related to move semantics
compatibility: partial
unspecified_elements.rel: run downgrade.ql new_unspecified_elements
unspecified_element_children.rel: run downgrade.ql new_unspecified_element_children
identity_exprs.rel: run downgrade.ql new_identity_exprs
copy_exprs.rel: delete
consume_exprs.rel: delete
borrow_exprs.rel: delete

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,2 @@
description: Added AST nodes related to move semantics
compatibility: partial