mirror of
https://github.com/odin-lang/Odin.git
synced 2026-10-09 06:12:05 -04:00
Add -vet-when-shadowing; Resolve global whens and foreign blocks on demand via name placeholders
This commit is contained in:
1 parent
5f6e95a620
commit
2b90b616e1
8 files changed
+529
-261
No files matched your search
@@ -460,6 +460,7 @@ enum BuildFlagKind {
|
||||
BuildFlag_VetSemicolon,
|
||||
BuildFlag_VetCast,
|
||||
BuildFlag_VetTabs,
|
||||
BuildFlag_VetWhenShadowing,
|
||||
BuildFlag_VetPackages,
|
||||
|
||||
BuildFlag_CustomAttribute,
|
||||
@@ -725,6 +726,7 @@ gb_internal bool parse_build_flags(Array<String> args) {
|
||||
add_flag(&build_flags, BuildFlag_VetSemicolon, str_lit("vet-semicolon"), BuildFlagParam_None, Command__does_check);
|
||||
add_flag(&build_flags, BuildFlag_VetCast, str_lit("vet-cast"), BuildFlagParam_None, Command__does_check);
|
||||
add_flag(&build_flags, BuildFlag_VetTabs, str_lit("vet-tabs"), BuildFlagParam_None, Command__does_check);
|
||||
add_flag(&build_flags, BuildFlag_VetWhenShadowing, str_lit("vet-when-shadowing"), BuildFlagParam_None, Command__does_check);
|
||||
add_flag(&build_flags, BuildFlag_VetPackages, str_lit("vet-packages"), BuildFlagParam_String, Command__does_check);
|
||||
|
||||
add_flag(&build_flags, BuildFlag_CustomAttribute, str_lit("custom-attribute"), BuildFlagParam_String, Command__does_check, true);
|
||||
@@ -1493,6 +1495,7 @@ gb_internal bool parse_build_flags(Array<String> args) {
|
||||
case BuildFlag_VetSemicolon: build_context.vet_flags |= VetFlag_Semicolon; break;
|
||||
case BuildFlag_VetCast: build_context.vet_flags |= VetFlag_Cast; break;
|
||||
case BuildFlag_VetTabs: build_context.vet_flags |= VetFlag_Tabs; break;
|
||||
case BuildFlag_VetWhenShadowing: build_context.vet_flags |= VetFlag_WhenShadowing; break;
|
||||
case BuildFlag_VetUnusedProcedures: build_context.vet_flags |= VetFlag_UnusedProcedures; break;
|
||||
|
||||
case BuildFlag_VetPackages:
|
||||
@@ -3408,6 +3411,7 @@ gb_internal int print_show_help(String const arg0, String command, String option
|
||||
print_usage_line(3, "-vet-unused-imports");
|
||||
print_usage_line(3, "-vet-shadowing");
|
||||
print_usage_line(3, "-vet-using-stmt");
|
||||
print_usage_line(3, "-vet-when-shadowing");
|
||||
}
|
||||
|
||||
if (print_flag("-vet-cast")) {
|
||||
@@ -3467,6 +3471,10 @@ gb_internal int print_show_help(String const arg0, String command, String option
|
||||
print_usage_line(2, "Checks for the use of 'using' as a statement.");
|
||||
print_usage_line(2, "'using' is considered bad practice outside of immediate refactoring.");
|
||||
}
|
||||
|
||||
if (print_flag("-vet-when-shadowing")) {
|
||||
print_usage_line(2, "Checks for declarations within a global 'when' that shadow a builtin or package-level name.");
|
||||
}
|
||||
}
|
||||
|
||||
if (check) {
|
||||
|
||||
Reference in new issue
Block a user