Module Name: src
Committed By: rillig
Date: Fri Oct 29 17:41:56 UTC 2021
Modified Files:
src/usr.bin/indent: indent.h
Log Message:
indent: group members of parser_state by topic
No functional change.
To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/usr.bin/indent/indent.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/indent/indent.h
diff -u src/usr.bin/indent/indent.h:1.58 src/usr.bin/indent/indent.h:1.59
--- src/usr.bin/indent/indent.h:1.58 Fri Oct 29 17:32:22 2021
+++ src/usr.bin/indent/indent.h Fri Oct 29 17:41:56 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: indent.h,v 1.58 2021/10/29 17:32:22 rillig Exp $ */
+/* $NetBSD: indent.h,v 1.59 2021/10/29 17:41:56 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
@@ -271,14 +271,39 @@ extern bool inhibit_formatting; /* true
#define STACKSIZE 256
-/* TODO: group the members by purpose, don't sort them alphabetically */
extern struct parser_state {
+ /* TODO: rename to prev_token */
lexer_symbol last_token;
+ /* TODO: rename to prev_newline */
+ bool last_nl; /* whether the last thing scanned was a
+ * newline */
+ /* TODO: rename to prev_col_1 */
+ bool col_1; /* whether the last token started in column 1 */
+ enum keyword_kind prev_keyword;
+ enum keyword_kind curr_keyword;
+ bool next_unary; /* whether the following operator should be
+ * unary */
- int tos; /* pointer to top of stack */
- parser_symbol s_sym[STACKSIZE];
- int s_ind_level[STACKSIZE];
- float s_case_ind_level[STACKSIZE];
+ char procname[100]; /* The name of the current procedure */
+
+
+ bool want_blank; /* whether the following token should be
+ * prefixed by a blank. (Said prefixing is
+ * ignored in some cases.) */
+
+ int paren_level; /* parenthesization level. used to indent
+ * within statements */
+ /* TODO: rename to next_line_paren_level */
+ int p_l_follow; /* how to indent the remaining lines of the
+ * statement */
+ short paren_indents[20]; /* indentation of the operand/argument of each
+ * level of parentheses or brackets, relative
+ * to the enclosing statement */
+ int cast_mask; /* indicates which close parentheses
+ * potentially close off casts */
+ int not_cast_mask; /* indicates which close parentheses
+ * definitely close off something else than
+ * casts */
int comment_delta; /* used to set up indentation for all lines of
* a boxed comment after the first one */
@@ -286,60 +311,47 @@ extern struct parser_state {
* before the start of a box comment so that
* forthcoming lines of the comment are
* indented properly */
- int cast_mask; /* indicates which close parentheses
- * potentially close off casts */
- int not_cast_mask; /* indicates which close parentheses
- * definitely close off something else than
- * casts */
+ int com_ind; /* indentation of the current comment */
+
bool block_init; /* whether inside a block initialization */
int block_init_level; /* The level of brace nesting in an
* initialization */
- bool last_nl; /* whether the last thing scanned was a
- * newline */
bool init_or_struct; /* whether there has been a declarator (e.g.
* int or char) and no left parenthesis since
* the last semicolon. When true, a '{' is
* starting a structure definition or an
* initialization list */
- bool col_1; /* whether the last token started in column 1 */
- int com_ind; /* indentation of the current comment */
+
+ int ind_level; /* the current indentation level */
+ int ind_level_follow; /* the level to which ind_level should be set
+ * after the current line is printed */
+
int decl_nest; /* current nesting level for structure or init */
bool decl_on_line; /* whether this line of code has part of a
* declaration on it */
- int ind_level_follow; /* the level to which ind_level should be set
- * after the current line is printed */
bool in_decl; /* whether we are in a declaration stmt. The
* processing of braces is then slightly
* different */
+ int just_saw_decl;
+ bool in_parameter_declaration;
+ bool decl_indent_done; /* whether the indentation for a declaration
+ * has been added to the code buffer. */
+
bool in_stmt;
- int ind_level; /* the current indentation level */
bool ind_stmt; /* whether the next line should have an extra
* indentation level because we are in the
- * middle of a stmt */
- bool next_unary; /* whether the following operator should be
- * unary */
- int p_l_follow; /* used to remember how to indent the
- * remaining lines of the statement */
- int paren_level; /* parenthesization level. used to indent
- * within statements */
- short paren_indents[20]; /* indentation of the operand/argument of each
- * level of parentheses or brackets, relative
- * to the enclosing statement */
+ * middle of a statement */
bool is_case_label; /* 'case' and 'default' labels are indented
* differently from regular labels */
+
bool search_stmt; /* whether it is necessary to buffer up all
* text up to the start of a statement after
* an 'if', 'while', etc. */
- bool want_blank; /* whether the following token should be
- * prefixed by a blank. (Said prefixing is
- * ignored in some cases.) */
- enum keyword_kind prev_keyword;
- enum keyword_kind curr_keyword;
- bool decl_indent_done; /* whether the indentation for a declaration
- * has been added to the code buffer. */
- bool in_parameter_declaration;
- char procname[100]; /* The name of the current procedure */
- int just_saw_decl;
+
+ int tos; /* pointer to top of stack */
+ parser_symbol s_sym[STACKSIZE];
+ int s_ind_level[STACKSIZE];
+ float s_case_ind_level[STACKSIZE];
struct {
int comments;
@@ -350,7 +362,7 @@ extern struct parser_state {
} ps;
-#define array_length(array) (sizeof (array) / sizeof (array[0]))
+#define array_length(array) (sizeof(array) / sizeof((array)[0]))
void add_typename(const char *);
int compute_code_indent(void);