Merge pull request #35 from github/downstream-latest-generator

This commit is contained in:
Taus
2021-06-02 10:07:09 +02:00
committed by GitHub
6 changed files with 114 additions and 25 deletions

View File

@@ -560,6 +560,7 @@ impl Visitor<'_> {
Storage::Table {
name: table_name,
has_index,
column_name: _,
} => {
for (index, child_value) in child_values.iter().enumerate() {
if !*has_index && index > 0 {

View File

@@ -66,6 +66,7 @@ fn make_field_type<'a>(
fn add_field_for_table_storage<'a>(
field: &'a node_types::Field,
table_name: &'a str,
column_name: &'a str,
has_index: bool,
nodes: &'a node_types::NodeTypeMap,
) -> (dbscheme::Table<'a>, Option<dbscheme::Entry<'a>>) {
@@ -90,10 +91,7 @@ fn add_field_for_table_storage<'a>(
let field_column = dbscheme::Column {
unique: true,
db_type: dbscheme::DbColumnType::Int,
name: match &field.name {
None => "child",
Some(name) => name,
},
name: column_name,
ql_type: field_ql_type,
ql_type_is_ref: true,
};
@@ -205,9 +203,18 @@ fn convert_nodes<'a>(nodes: &'a node_types::NodeTypeMap) -> Vec<dbscheme::Entry<
}
main_table.columns.push(field_column);
}
node_types::Storage::Table { name, has_index } => {
let (field_table, field_type_entry) =
add_field_for_table_storage(field, name, *has_index, nodes);
node_types::Storage::Table {
name,
has_index,
column_name,
} => {
let (field_table, field_type_entry) = add_field_for_table_storage(
field,
name,
column_name,
*has_index,
nodes,
);
if let Some(field_type_entry) = field_type_entry {
entries.push(field_type_entry);
}

View File

@@ -398,6 +398,7 @@ fn create_field_getters<'a>(
node_types::Storage::Table {
name: field_table_name,
has_index,
column_name: _,
} => (
create_get_field_expr_for_table_storage(
get_value_result_var_name,
@@ -450,12 +451,21 @@ fn create_field_getters<'a>(
(get_value, Some(get_value_any_index))
}
};
let qldoc = match &field.name {
Some(name) => {
format!("Gets the node corresponding to the field `{}`.", name)
}
None => {
if formal_parameters.len() == 0 {
"Gets the child of this node.".to_owned()
} else {
"Gets the `i`th child of this node.".to_owned()
}
}
};
(
ql::Predicate {
qldoc: field
.name
.as_ref()
.map(|name| format!("Gets the node corresponding to the field `{}`.", name)),
qldoc: Some(qldoc),
name: &field.getter_name,
overridden: false,
return_type,

View File

@@ -70,9 +70,15 @@ fn name_for_field_or_child(name: &Option<String>) -> String {
pub enum Storage {
/// the field is stored as a column in the parent table
Column { name: String },
/// the field is stored in a link table, and may or may not have an
/// associated index column
Table { name: String, has_index: bool },
/// the field is stored in a link table
Table {
/// the name of the table
name: String,
/// the name of the column for the field in the dbscheme
column_name: String,
/// does it have an associated index column?
has_index: bool,
},
}
pub fn read_node_types(node_types_path: &Path) -> std::io::Result<NodeTypeMap> {
@@ -206,12 +212,11 @@ fn add_field(
token_kinds: &Set<TypeName>,
) {
let parent_flattened_name = node_type_name(&parent_type_name.kind, parent_type_name.named);
let column_name = escape_name(&name_for_field_or_child(&field_name));
let storage = if !field_info.multiple && field_info.required {
// This field must appear exactly once, so we add it as
// a column to the main table for the node type.
Storage::Column {
name: escape_name(&name_for_field_or_child(&field_name)),
}
Storage::Column { name: column_name }
} else {
// Put the field in an auxiliary table.
let has_index = field_info.multiple;
@@ -223,6 +228,7 @@ fn add_field(
Storage::Table {
has_index,
name: field_table_name,
column_name,
}
};
let converted_types = convert_types(&field_info.types);

View File

@@ -63,6 +63,7 @@ module Generated {
/** Gets the node corresponding to the field `right`. */
AstNode getRight() { add_expr_def(this, _, result, _, _) }
/** Gets the child of this node. */
Addop getChild() { add_expr_def(this, _, _, result, _) }
/** Gets a field or child node of this node. */
@@ -93,6 +94,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { aggregate_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { aggregate_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -107,6 +109,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { annot_arg_def(this, _, result) }
/** Gets the child of this node. */
AstNode getChild() { annot_arg_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -150,6 +153,7 @@ module Generated {
/** Gets the node corresponding to the field `name`. */
LiteralId getName() { arityless_predicate_expr_def(this, result, _) }
/** Gets the child of this node. */
ModuleExpr getChild() { arityless_predicate_expr_child(this, result) }
/** Gets a field or child node of this node. */
@@ -166,6 +170,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { as_expr_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { as_expr_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -180,6 +185,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { as_exprs_def(this, result) }
/** Gets the `i`th child of this node. */
AsExpr getChild(int i) { as_exprs_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -200,6 +206,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { body_def(this, _, result) }
/** Gets the child of this node. */
AstNode getChild() { body_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -214,6 +221,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { bool_def(this, _, result) }
/** Gets the child of this node. */
AstNode getChild() { bool_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -228,6 +236,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { call_body_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { call_body_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -242,6 +251,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { call_or_unqual_agg_expr_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { call_or_unqual_agg_expr_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -259,6 +269,7 @@ module Generated {
/** Gets the node corresponding to the field `body`. */
AstNode getBody() { charpred_def(this, result, _, _) }
/** Gets the child of this node. */
ClassName getChild() { charpred_def(this, _, result, _) }
/** Gets a field or child node of this node. */
@@ -275,6 +286,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { class_member_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { class_member_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -301,6 +313,7 @@ module Generated {
/** Gets the node corresponding to the field `returnType`. */
AstNode getReturnType() { classless_predicate_def(this, _, result, _) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { classless_predicate_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -331,6 +344,7 @@ module Generated {
/** Gets the node corresponding to the field `right`. */
AstNode getRight() { comp_term_def(this, _, result, _, _) }
/** Gets the child of this node. */
Compop getChild() { comp_term_def(this, _, _, result, _) }
/** Gets a field or child node of this node. */
@@ -378,6 +392,7 @@ module Generated {
/** Gets the node corresponding to the field `name`. */
ClassName getName() { dataclass_def(this, result, _) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { dataclass_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -397,6 +412,7 @@ module Generated {
/** Gets the node corresponding to the field `name`. */
ClassName getName() { datatype_def(this, result, _, _) }
/** Gets the child of this node. */
DatatypeBranches getChild() { datatype_def(this, _, result, _) }
/** Gets a field or child node of this node. */
@@ -416,6 +432,7 @@ module Generated {
/** Gets the node corresponding to the field `name`. */
ClassName getName() { datatype_branch_def(this, result, _) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { datatype_branch_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -432,6 +449,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { datatype_branches_def(this, result) }
/** Gets the `i`th child of this node. */
DatatypeBranch getChild(int i) { datatype_branches_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -469,6 +487,7 @@ module Generated {
/** Gets the node corresponding to the field `name`. */
AnnotName getName() { db_args_annotation_def(this, result, _) }
/** Gets the `i`th child of this node. */
SimpleId getChild(int i) { db_args_annotation_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -494,6 +513,7 @@ module Generated {
/** Gets the node corresponding to the field `qldoc`. */
Qldoc getQldoc() { db_branch_qldoc(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { db_branch_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -522,6 +542,7 @@ module Generated {
/** Gets the node corresponding to the field `discriminator`. */
SimpleId getDiscriminator() { db_case_decl_def(this, _, result, _) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { db_case_decl_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -540,6 +561,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { db_col_type_def(this, _, result) }
/** Gets the child of this node. */
AstNode getChild() { db_col_type_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -597,6 +619,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { db_entry_def(this, _, result) }
/** Gets the child of this node. */
AstNode getChild() { db_entry_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -629,6 +652,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { db_repr_type_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { db_repr_type_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -652,6 +676,7 @@ module Generated {
/** Gets the node corresponding to the field `tableName`. */
DbTableName getTableName() { db_table_def(this, result, _) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { db_table_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -668,6 +693,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { db_table_name_def(this, _, result) }
/** Gets the child of this node. */
SimpleId getChild() { db_table_name_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -685,6 +711,7 @@ module Generated {
/** Gets the node corresponding to the field `base`. */
Dbtype getBase() { db_union_decl_def(this, result, _) }
/** Gets the `i`th child of this node. */
Dbtype getChild(int i) { db_union_decl_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -777,6 +804,7 @@ module Generated {
/** Gets the node corresponding to the field `name`. */
AnnotName getName() { expr_annotation_def(this, _, result, _, _) }
/** Gets the child of this node. */
AstNode getChild() { expr_annotation_def(this, _, _, result, _) }
/** Gets a field or child node of this node. */
@@ -801,6 +829,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { field_def(this, _, result) }
/** Gets the child of this node. */
VarDecl getChild() { field_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -830,6 +859,7 @@ module Generated {
/** Gets the node corresponding to the field `orderBys`. */
OrderBys getOrderBys() { full_aggregate_body_order_bys(this, result) }
/** Gets the `i`th child of this node. */
VarDecl getChild(int i) { full_aggregate_body_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -852,6 +882,7 @@ module Generated {
/** Gets the node corresponding to the field `name`. */
LiteralId getName() { higher_order_term_def(this, result, _) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { higher_order_term_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -913,6 +944,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { import_directive_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { import_directive_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -930,6 +962,7 @@ module Generated {
/** Gets the node corresponding to the field `name`. */
SimpleId getName(int i) { import_module_expr_name(this, i, result) }
/** Gets the child of this node. */
QualModuleExpr getChild() { import_module_expr_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -966,6 +999,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { instance_of_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { instance_of_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -992,6 +1026,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { literal_def(this, _, result) }
/** Gets the child of this node. */
AstNode getChild() { literal_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -1018,6 +1053,7 @@ module Generated {
/** Gets the node corresponding to the field `returnType`. */
AstNode getReturnType() { member_predicate_def(this, _, result, _) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { member_predicate_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1039,6 +1075,7 @@ module Generated {
/** Gets the node corresponding to the field `name`. */
ModuleName getName() { module_def(this, result, _) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { module_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1055,6 +1092,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { module_alias_body_def(this, _, result) }
/** Gets the child of this node. */
ModuleExpr getChild() { module_alias_body_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -1072,6 +1110,7 @@ module Generated {
/** Gets the node corresponding to the field `name`. */
SimpleId getName() { module_expr_name(this, result) }
/** Gets the child of this node. */
AstNode getChild() { module_expr_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -1088,6 +1127,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { module_member_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { module_member_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1102,6 +1142,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { module_name_def(this, _, result) }
/** Gets the child of this node. */
SimpleId getChild() { module_name_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -1122,6 +1163,7 @@ module Generated {
/** Gets the node corresponding to the field `right`. */
AstNode getRight() { mul_expr_def(this, _, result, _, _) }
/** Gets the child of this node. */
Mulop getChild() { mul_expr_def(this, _, _, result, _) }
/** Gets a field or child node of this node. */
@@ -1146,6 +1188,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { negation_def(this, _, result) }
/** Gets the child of this node. */
AstNode getChild() { negation_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -1160,6 +1203,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { order_by_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { order_by_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1174,6 +1218,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { order_bys_def(this, result) }
/** Gets the `i`th child of this node. */
OrderBy getChild(int i) { order_bys_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1188,6 +1233,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { par_expr_def(this, _, result) }
/** Gets the child of this node. */
AstNode getChild() { par_expr_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -1208,6 +1254,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { predicate_alias_body_def(this, _, result) }
/** Gets the child of this node. */
PredicateExpr getChild() { predicate_alias_body_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -1222,6 +1269,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { predicate_expr_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { predicate_expr_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1242,6 +1290,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { prefix_cast_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { prefix_cast_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1262,6 +1311,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { ql_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { ql_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1300,6 +1350,7 @@ module Generated {
/** Gets the node corresponding to the field `name`. */
PredicateName getName() { qualified_rhs_name(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { qualified_rhs_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1316,6 +1367,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { qualified_expr_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { qualified_expr_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1339,6 +1391,7 @@ module Generated {
/** Gets the node corresponding to the field `range`. */
AstNode getRange() { quantified_range(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { quantified_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1390,6 +1443,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { select_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { select_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1404,6 +1458,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { set_literal_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { set_literal_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1430,6 +1485,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { special_call_def(this, _, result) }
/** Gets the child of this node. */
SpecialId getChild() { special_call_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -1456,6 +1512,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { super_ref_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { super_ref_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1482,6 +1539,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { type_alias_body_def(this, _, result) }
/** Gets the child of this node. */
TypeExpr getChild() { type_alias_body_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -1499,6 +1557,7 @@ module Generated {
/** Gets the node corresponding to the field `name`. */
ClassName getName() { type_expr_name(this, result) }
/** Gets the child of this node. */
AstNode getChild() { type_expr_child(this, result) }
/** Gets a field or child node of this node. */
@@ -1515,6 +1574,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { type_union_body_def(this, result) }
/** Gets the `i`th child of this node. */
TypeExpr getChild(int i) { type_union_body_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1529,6 +1589,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { unary_expr_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { unary_expr_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1561,6 +1622,7 @@ module Generated {
/** Gets the node corresponding to the field `guard`. */
AstNode getGuard() { unqual_agg_body_guard(this, result) }
/** Gets the `i`th child of this node. */
VarDecl getChild(int i) { unqual_agg_body_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1579,6 +1641,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { var_decl_def(this, result) }
/** Gets the `i`th child of this node. */
AstNode getChild(int i) { var_decl_child(this, i, result) }
/** Gets a field or child node of this node. */
@@ -1593,6 +1656,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { var_name_def(this, _, result) }
/** Gets the child of this node. */
SimpleId getChild() { var_name_def(this, result, _) }
/** Gets a field or child node of this node. */
@@ -1607,6 +1671,7 @@ module Generated {
/** Gets the location of this element. */
override Location getLocation() { variable_def(this, _, result) }
/** Gets the child of this node. */
AstNode getChild() { variable_def(this, result, _) }
/** Gets a field or child node of this node. */

View File

@@ -291,12 +291,12 @@ datatype_branches_def(
db_annotation_args_annotation(
unique int db_annotation: @db_annotation ref,
unique int argsAnnotation: @db_args_annotation ref
unique int args_annotation: @db_args_annotation ref
);
db_annotation_simple_annotation(
unique int db_annotation: @db_annotation ref,
unique int simpleAnnotation: @token_annot_name ref
unique int simple_annotation: @token_annot_name ref
);
db_annotation_def(
@@ -362,12 +362,12 @@ db_col_type_def(
db_column_is_ref(
unique int db_column: @db_column ref,
unique int isRef: @token_db_ref ref
unique int is_ref: @token_db_ref ref
);
db_column_is_unique(
unique int db_column: @db_column ref,
unique int isUnique: @token_db_unique ref
unique int is_unique: @token_db_unique ref
);
db_column_qldoc(
@@ -452,7 +452,7 @@ disjunction_def(
expr_aggregate_body_order_bys(
unique int expr_aggregate_body: @expr_aggregate_body ref,
unique int orderBys: @order_bys ref
unique int order_bys: @order_bys ref
);
expr_aggregate_body_def(
@@ -479,7 +479,7 @@ field_def(
full_aggregate_body_as_exprs(
unique int full_aggregate_body: @full_aggregate_body ref,
unique int asExprs: @as_exprs ref
unique int as_exprs: @as_exprs ref
);
@full_aggregate_body_guard_type = @add_expr | @aggregate | @call_or_unqual_agg_expr | @comp_term | @conjunction | @disjunction | @expr_annotation | @if_term | @implication | @in_expr | @instance_of | @literal | @mul_expr | @negation | @par_expr | @prefix_cast | @qualified_expr | @quantified | @range | @set_literal | @special_call | @super_ref | @unary_expr | @variable
@@ -491,7 +491,7 @@ full_aggregate_body_guard(
full_aggregate_body_order_bys(
unique int full_aggregate_body: @full_aggregate_body ref,
unique int orderBys: @order_bys ref
unique int order_bys: @order_bys ref
);
#keyset[full_aggregate_body, index]
@@ -974,7 +974,7 @@ unary_expr_def(
unqual_agg_body_as_exprs(
int unqual_agg_body: @unqual_agg_body ref,
int index: int ref,
unique int asExprs: @unqual_agg_body_asExprs_type ref
unique int as_exprs: @unqual_agg_body_asExprs_type ref
);
@unqual_agg_body_guard_type = @add_expr | @aggregate | @call_or_unqual_agg_expr | @comp_term | @conjunction | @disjunction | @expr_annotation | @if_term | @implication | @in_expr | @instance_of | @literal | @mul_expr | @negation | @par_expr | @prefix_cast | @qualified_expr | @quantified | @range | @set_literal | @special_call | @super_ref | @unary_expr | @variable