[AST] Add a flag to guard exprimental multi-statement closures feature

This commit is contained in:
Pavel Yaskevich
2021-07-07 09:51:04 -07:00
parent baf032bda2
commit a1c0823f46
3 changed files with 11 additions and 0 deletions

View File

@@ -662,6 +662,10 @@ namespace swift {
/// parameters of closures.
bool EnableOneWayClosureParameters = false;
/// Enable experimental support for type inference through multi-statement
/// closures.
bool EnableMultiStatementClosureInference = false;
/// See \ref FrontendOptions.PrintFullConvention
bool PrintFullConvention = false;
};

View File

@@ -767,6 +767,10 @@ def experimental_one_way_closure_params :
Flag<["-"], "experimental-one-way-closure-params">,
HelpText<"Enable experimental support for one-way closure parameters">;
def experimental_multi_statement_closures :
Flag<["-"], "experimental-multi-statement-closures">,
HelpText<"Enable experimental support for type inference in multi-statement closures">;
def prebuilt_module_cache_path :
Separate<["-"], "prebuilt-module-cache-path">,
HelpText<"Directory of prebuilt modules for loading module interfaces">;

View File

@@ -954,6 +954,9 @@ static bool ParseTypeCheckerArgs(TypeCheckerOptions &Opts, ArgList &Args,
Opts.EnableOneWayClosureParameters |=
Args.hasArg(OPT_experimental_one_way_closure_params);
Opts.EnableMultiStatementClosureInference |=
Args.hasArg(OPT_experimental_multi_statement_closures);
Opts.PrintFullConvention |=
Args.hasArg(OPT_experimental_print_full_convention);