Skip to content

Commit b5932de

Browse files
committed
C++: Add db upgrade and downgrade scripts for repeated initializers.
1 parent d0a77a8 commit b5932de

File tree

8 files changed

+8878
-0
lines changed

8 files changed

+8878
-0
lines changed

cpp/downgrades/19887dbd33327fb07d54251786e0cb2578539775/old.dbscheme

Lines changed: 2212 additions & 0 deletions
Large diffs are not rendered by default.

cpp/downgrades/19887dbd33327fb07d54251786e0cb2578539775/semmlecode.cpp.dbscheme

Lines changed: 2210 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
description: Revert support for repeated initializers, which are allowed in C with designated initializers.
2+
compatibility: backwards
3+
aggregate_field_init.rel: reorder aggregate_field_init.rel (int aggregate, int initializer, int field, int position) aggregate initializer field
4+
aggregate_array_init.rel: reorder aggregate_array_init.rel (int aggregate, int initializer, int element_index, int position) aggregate initializer element_index
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
class AggregateLiteral extends @aggregateliteral {
2+
string toString() { none() }
3+
}
4+
5+
class Expr extends @expr {
6+
string toString() { none() }
7+
}
8+
9+
from AggregateLiteral al, Expr init, int index, int position
10+
where exprparents(init, position, al) and aggregate_array_init(al, init, index)
11+
select al, init, index, position
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
class AggregateLiteral extends @aggregateliteral {
2+
string toString() { none() }
3+
}
4+
5+
class Expr extends @expr {
6+
string toString() { none() }
7+
}
8+
9+
class Field extends @membervariable {
10+
string toString() { none() }
11+
}
12+
13+
from AggregateLiteral al, Expr init, Field field, int position
14+
where exprparents(init, position, al) and aggregate_field_init(al, init, field)
15+
select al, init, field, position

0 commit comments

Comments
 (0)