@@ -130,7 +130,7 @@ struct template_argument;
130
130
131
131
struct primary_expression_node
132
132
{
133
- enum active { empty=0 , identifier, expression_list, id_expression, declaration, inspect, literal };
133
+ enum active : u8 { empty=0 , identifier, expression_list, id_expression, declaration, inspect, literal };
134
134
std::variant<
135
135
std::monostate,
136
136
token const *,
@@ -669,7 +669,7 @@ auto binary_expression_node<Name, Term>::is_standalone_expression() const
669
669
}
670
670
671
671
672
- enum class passing_style { in=0 , copy, inout, out, move, forward, invalid };
672
+ enum class passing_style : u8 { in=0 , copy, inout, out, move, forward, invalid };
673
673
auto to_passing_style (token const & t) -> passing_style {
674
674
if (t.type () == lexeme::Identifier) {
675
675
if (t == " in" ) { return passing_style::in; }
@@ -1179,7 +1179,7 @@ struct template_args_tag { };
1179
1179
1180
1180
struct template_argument
1181
1181
{
1182
- enum active { empty=0 , expression, type_id };
1182
+ enum active : u8 { empty=0 , expression, type_id };
1183
1183
source_position comma;
1184
1184
std::variant<
1185
1185
std::monostate,
@@ -1365,7 +1365,7 @@ struct type_id_node
1365
1365
int dereference_cnt = {};
1366
1366
token const * suspicious_initialization = {};
1367
1367
1368
- enum active { empty=0 , qualified, unqualified, function, keyword };
1368
+ enum active : u8 { empty=0 , qualified, unqualified, function, keyword };
1369
1369
std::variant<
1370
1370
std::monostate,
1371
1371
std::unique_ptr<qualified_id_node>,
@@ -1666,7 +1666,7 @@ struct id_expression_node
1666
1666
{
1667
1667
source_position pos;
1668
1668
1669
- enum active { empty=0 , qualified, unqualified };
1669
+ enum active : u8 { empty=0 , qualified, unqualified };
1670
1670
std::variant<
1671
1671
std::monostate,
1672
1672
std::unique_ptr<qualified_id_node>,
@@ -2153,7 +2153,7 @@ struct statement_node
2153
2153
// type(s) used in a std::unique_ptr as a member
2154
2154
~statement_node ();
2155
2155
2156
- enum active { expression=0 , compound, selection, declaration, return_, iteration, using_, contract, inspect, jump };
2156
+ enum active : u8 { expression=0 , compound, selection, declaration, return_, iteration, using_, contract, inspect, jump };
2157
2157
std::variant<
2158
2158
std::unique_ptr<expression_statement_node>,
2159
2159
std::unique_ptr<compound_statement_node>,
@@ -2281,7 +2281,7 @@ struct parameter_declaration_node
2281
2281
passing_style pass = passing_style::in;
2282
2282
int ordinal = 1 ;
2283
2283
2284
- enum class modifier { none=0 , implicit, virtual_, override_, final_ };
2284
+ enum class modifier : u8 { none=0 , implicit, virtual_, override_, final_ };
2285
2285
modifier mod = modifier::none;
2286
2286
2287
2287
std::unique_ptr<declaration_node> declaration;
@@ -2483,7 +2483,7 @@ struct function_type_node
2483
2483
passing_style pass = passing_style::move;
2484
2484
};
2485
2485
2486
- enum active { empty = 0 , id, list };
2486
+ enum active : u8 { empty = 0 , id, list };
2487
2487
std::variant<
2488
2488
std::monostate,
2489
2489
single_type_id,
@@ -2862,7 +2862,7 @@ struct alias_node
2862
2862
token const * type = {};
2863
2863
std::unique_ptr<type_id_node> type_id; // for objects
2864
2864
2865
- enum active : std:: uint8_t { a_type, a_namespace, an_object };
2865
+ enum active : u8 { a_type, a_namespace, an_object };
2866
2866
std::variant<
2867
2867
std::unique_ptr<type_id_node>,
2868
2868
std::unique_ptr<id_expression_node>,
@@ -2903,7 +2903,7 @@ struct alias_node
2903
2903
};
2904
2904
2905
2905
2906
- enum class accessibility { default_ = 0 , public_, protected_, private_ };
2906
+ enum class accessibility : u8 { default_ = 0 , public_, protected_, private_ };
2907
2907
2908
2908
auto to_string (accessibility a)
2909
2909
-> std::string
@@ -2932,7 +2932,7 @@ struct declaration_node
2932
2932
std::unique_ptr<unqualified_id_node> identifier;
2933
2933
accessibility access = accessibility::default_;
2934
2934
2935
- enum active : std:: uint8_t { a_function, an_object, a_type, a_namespace, an_alias };
2935
+ enum active : u8 { a_function, an_object, a_type, a_namespace, an_alias };
2936
2936
std::variant<
2937
2937
std::unique_ptr<function_type_node>,
2938
2938
std::unique_ptr<type_id_node>,
@@ -3353,7 +3353,7 @@ struct declaration_node
3353
3353
auto parent_is_polymorphic () const -> bool
3354
3354
{ return parent_declaration && parent_declaration->is_polymorphic (); }
3355
3355
3356
- enum which {
3356
+ enum which : u8 {
3357
3357
functions = 1 ,
3358
3358
objects = 2 ,
3359
3359
types = 4 ,
@@ -3421,7 +3421,7 @@ struct declaration_node
3421
3421
{
3422
3422
// Convert the gather_ results to const*
3423
3423
auto tmp = gather_type_scope_declarations (w);
3424
- return std::vector<declaration_node const *>( tmp.begin (), tmp.end ()) ;
3424
+ return { tmp.begin (), tmp.end ()} ;
3425
3425
}
3426
3426
3427
3427
@@ -6105,7 +6105,7 @@ class parser
6105
6105
// Remember current position, because we may need to backtrack
6106
6106
auto start_pos = pos;
6107
6107
6108
- bool inside_initializer = (
6108
+ const bool inside_initializer = (
6109
6109
peek (-1 ) && peek (-1 )->type () == lexeme::Assignment
6110
6110
);
6111
6111
auto open_paren = &curr ();
@@ -8069,7 +8069,7 @@ class parser
8069
8069
)
8070
8070
-> std::unique_ptr<compound_statement_node>
8071
8071
{
8072
- bool is_braced = curr ().type () == lexeme::LeftBrace;
8072
+ const bool is_braced = curr ().type () == lexeme::LeftBrace;
8073
8073
if (
8074
8074
!is_braced
8075
8075
&& !allow_single_unbraced_statement
0 commit comments