Skip to content

Commit da99bbf

Browse files
authored
Merge pull request #21059 from paldepind/rust/adt-class
Rust: Improve and rename `Adt` class
2 parents 98dc439 + 96a9862 commit da99bbf

File tree

40 files changed

+15174
-799
lines changed

40 files changed

+15174
-799
lines changed

rust/ast-generator/src/main.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ use ungrammar::Grammar;
1515

1616
fn class_name(type_name: &str) -> String {
1717
match type_name {
18+
"Adt" => "TypeItem".to_owned(),
1819
"BinExpr" => "BinaryExpr".to_owned(),
1920
"ElseBranch" => "Expr".to_owned(),
2021
"Fn" => "Function".to_owned(),
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
class Element extends @element {
2+
string toString() { none() }
3+
}
4+
5+
class Enum extends Element, @enum { }
6+
7+
class Struct extends Element, @struct { }
8+
9+
class Union extends Element, @union { }
10+
11+
class Attr extends Element, @attr { }
12+
13+
class GenericParamList extends Element, @generic_param_list { }
14+
15+
class Name extends Element, @name { }
16+
17+
class Visibility extends Element, @visibility { }
18+
19+
class WhereClause extends Element, @where_clause { }
20+
21+
query predicate new_enum_attrs(Enum enum, int index, Attr attr) {
22+
type_item_attrs(enum, index, attr)
23+
}
24+
25+
query predicate new_enum_generic_param_lists(Enum enum, GenericParamList g) {
26+
type_item_generic_param_lists(enum, g)
27+
}
28+
29+
query predicate new_enum_names(Enum enum, Name name) { type_item_names(enum, name) }
30+
31+
query predicate new_enum_visibilities(Enum enum, Visibility visibility) {
32+
type_item_visibilities(enum, visibility)
33+
}
34+
35+
query predicate new_enum_where_clauses(Enum enum, WhereClause whereClause) {
36+
type_item_where_clauses(enum, whereClause)
37+
}
38+
39+
query predicate new_struct_attrs(Struct struct, int index, Attr attr) {
40+
type_item_attrs(struct, index, attr)
41+
}
42+
43+
query predicate new_struct_generic_param_lists(Struct struct, GenericParamList g) {
44+
type_item_generic_param_lists(struct, g)
45+
}
46+
47+
query predicate new_struct_names(Struct struct, Name name) { type_item_names(struct, name) }
48+
49+
query predicate new_struct_visibilities(Struct struct, Visibility visibility) {
50+
type_item_visibilities(struct, visibility)
51+
}
52+
53+
query predicate new_struct_where_clauses(Struct struct, WhereClause whereClause) {
54+
type_item_where_clauses(struct, whereClause)
55+
}
56+
57+
query predicate new_union_attrs(Union union, int index, Attr attr) {
58+
type_item_attrs(union, index, attr)
59+
}
60+
61+
query predicate new_union_generic_param_lists(Union union, GenericParamList g) {
62+
type_item_generic_param_lists(union, g)
63+
}
64+
65+
query predicate new_union_names(Union union, Name name) { type_item_names(union, name) }
66+
67+
query predicate new_union_visibilities(Union union, Visibility visibility) {
68+
type_item_visibilities(union, visibility)
69+
}
70+
71+
query predicate new_union_where_clauses(Union union, WhereClause whereClause) {
72+
type_item_where_clauses(union, whereClause)
73+
}

0 commit comments

Comments
 (0)