Skip to content

Commit d88808b

Browse files
committed
Use help_entry to consistently format help output
We previously did manual line breaks that either suited the source code line length or approximated the output line width. help_entry, however, was specifically built to take care of this (and just wasn't widely used). We can then also happily have clang-format take care of source code formatting without impacting the resulting display.
1 parent a914ead commit d88808b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1095
-948
lines changed

Diff for: jbmc/src/janalyzer/janalyzer_parse_options.cpp

+71-62
Original file line numberDiff line numberDiff line change
@@ -727,77 +727,86 @@ void janalyzer_parse_optionst::help()
727727
"\n"
728728
" janalyzer [-?] [-h] [--help] show help\n"
729729
" janalyzer\n"
730-
HELP_JAVA_METHOD_NAME
731-
" janalyzer\n"
732-
HELP_JAVA_CLASS_NAME
733-
" janalyzer\n"
734-
HELP_JAVA_JAR
735-
" janalyzer\n"
736-
HELP_JAVA_GOTO_BINARY
737-
"\n"
738-
HELP_JAVA_CLASSPATH
739-
HELP_FUNCTIONS
740-
"\n"
730+
<< HELP_JAVA_METHOD_NAME
731+
<< " janalyzer\n"
732+
<< HELP_JAVA_CLASS_NAME
733+
<< " janalyzer\n"
734+
<< HELP_JAVA_JAR
735+
<< " janalyzer\n"
736+
<< HELP_JAVA_GOTO_BINARY
737+
<< "\n"
738+
<< HELP_JAVA_CLASSPATH
739+
<< HELP_FUNCTIONS
740+
<< "\n"
741741
"Task options:\n"
742-
" --show display the abstract domains\n"
743-
// NOLINTNEXTLINE(whitespace/line_length)
744-
" --verify use the abstract domains to check assertions\n"
745-
// NOLINTNEXTLINE(whitespace/line_length)
746-
" --simplify file_name use the abstract domains to simplify the program\n"
747-
" --no-simplify-slicing do not remove instructions from which no\n"
748-
" property can be reached (use with --simplify)\n" // NOLINT(*)
749-
" --unreachable-instructions list dead code\n"
750-
// NOLINTNEXTLINE(whitespace/line_length)
751-
" --unreachable-functions list functions unreachable from the entry point\n"
752-
// NOLINTNEXTLINE(whitespace/line_length)
753-
" --reachable-functions list functions reachable from the entry point\n"
754-
"\n"
742+
<< help_entry("--show", "display the abstract domains")
743+
<< help_entry("--verify", "use the abstract domains to check assertions")
744+
<< help_entry(
745+
"--simplify file_name",
746+
"use the abstract domains to simplify the program")
747+
<< help_entry(
748+
"--no-simplify-slicing",
749+
"do not remove instructions from which no property can be reached (use "
750+
"with --simplify)")
751+
<< help_entry("--unreachable-instructions", "list dead code")
752+
<< help_entry(
753+
"--unreachable-functions",
754+
"list functions unreachable from the entry point")
755+
<< help_entry(
756+
"--reachable-functions", "list functions reachable from the entry point")
757+
<< "\n"
755758
"Abstract interpreter options:\n"
756-
// NOLINTNEXTLINE(whitespace/line_length)
757-
" --location-sensitive use location-sensitive abstract interpreter\n"
758-
" --concurrent use concurrency-aware abstract interpreter\n"
759-
"\n"
759+
<< help_entry(
760+
"--location-sensitive", "use location-sensitive abstract interpreter")
761+
<< help_entry("--concurrent", "use concurrency-aware abstract interpreter")
762+
<< "\n"
760763
"Domain options:\n"
761-
" --constants constant domain\n"
762-
" --intervals, --show-intervals\n"
763-
" interval domain\n"
764-
" --non-null, --show-non-null non-null domain\n"
765-
" --dependence-graph data and control dependencies between instructions\n" // NOLINT(*)
766-
"\n"
764+
<< help_entry("--constants", "constant domain")
765+
<< help_entry("--intervals, --show-intervals", "interval domain")
766+
<< help_entry("--non-null, --show-non-null", "non-null domain")
767+
<< help_entry(
768+
"--dependence-graph",
769+
"data and control dependencies between instructions")
770+
<< "\n"
767771
"Output options:\n"
768-
" --text file_name output results in plain text to given file\n"
769-
// NOLINTNEXTLINE(whitespace/line_length)
770-
" --json file_name output results in JSON format to given file\n"
771-
" --xml file_name output results in XML format to given file\n"
772-
" --dot file_name output results in DOT format to given file\n"
773-
"\n"
772+
<< help_entry(
773+
"--text file_name", "output results in plain text to given file")
774+
<< help_entry(
775+
"--json file_name", "output results in JSON format to given file")
776+
<< help_entry(
777+
"--xml file_name", "output results in XML format to given file")
778+
<< help_entry(
779+
"--dot file_name", "output results in DOT format to given file")
780+
<< "\n"
774781
"Specific analyses:\n"
775-
// NOLINTNEXTLINE(whitespace/line_length)
776-
" --taint file_name perform taint analysis using rules in given file\n"
777-
" --show-taint print taint analysis results on stdout\n"
778-
" --show-local-may-alias perform procedure-local may alias analysis\n"
779-
"\n"
782+
<< help_entry(
783+
"--taint file_name", "perform taint analysis using rules in given file")
784+
<< help_entry(
785+
"--show-taint", "print taint analysis results on stdout")
786+
<< help_entry(
787+
"--show-local-may-alias", "perform procedure-local may alias analysis")
788+
<< "\n"
780789
"Java Bytecode frontend options:\n"
781-
JAVA_BYTECODE_LANGUAGE_OPTIONS_HELP
782-
"\n"
790+
<< JAVA_BYTECODE_LANGUAGE_OPTIONS_HELP
791+
<< "\n"
783792
"Platform options:\n"
784-
HELP_CONFIG_PLATFORM
785-
"\n"
793+
<< HELP_CONFIG_PLATFORM
794+
<< "\n"
786795
"Program representations:\n"
787-
" --show-parse-tree show parse tree\n"
788-
" --show-symbol-table show loaded symbol table\n"
789-
HELP_SHOW_GOTO_FUNCTIONS
790-
HELP_SHOW_PROPERTIES
791-
"\n"
796+
<< help_entry("--show-parse-tree", "show parse tree")
797+
<< help_entry("--show-symbol-table", "show loaded symbol table")
798+
<< HELP_SHOW_GOTO_FUNCTIONS
799+
<< HELP_SHOW_PROPERTIES
800+
<< "\n"
792801
"Program instrumentation options:\n"
793-
" --no-assertions ignore user assertions\n"
794-
" --no-assumptions ignore user assumptions\n"
795-
" --property id enable selected properties only\n"
796-
"\n"
802+
<< help_entry("--no-assertions", "ignore user assertions")
803+
<< help_entry("--no-assumptions", "ignore user assumptions")
804+
<< help_entry("--property id", "enable selected properties only")
805+
<< "\n"
797806
"Other options:\n"
798-
" --version show version and exit\n"
799-
" --verbosity # verbosity level\n"
800-
HELP_TIMESTAMP
801-
"\n";
807+
<< help_entry("--version", "show version and exit")
808+
<< help_entry("--verbosity #", "verbosity level")
809+
<< HELP_TIMESTAMP
810+
<< "\n";
802811
// clang-format on
803812
}

0 commit comments

Comments
 (0)