[Sema]: Add Codable synthesis for enums with associated values (#34855)

* [Sema]: Add Codable synthesis for enums with associated values

* Incorporate review feedback for enum Codable synthesis

* Implement enum specific versions of existing Codable tests

* Encode parameterless enum cases as

* Add test for overloaded case identifiers

* Align code generation with latest proposal revision

* Put enum codable derivation behind flag

* clang-format sources

* Address review feedback and fix tests

* Add diagnostic for conflicting parameter identifiers

* Restructure code after rebase
This commit is contained in:
Dario Rexin
2021-02-26 17:20:34 -08:00
committed by GitHub
parent bc7eb593da
commit 8e0a260414
31 changed files with 1899 additions and 107 deletions

View File

@@ -388,6 +388,9 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
Opts.EnableExperimentalFlowSensitiveConcurrentCaptures |=
Args.hasArg(OPT_enable_experimental_flow_sensitive_concurrent_captures);
Opts.EnableExperimentalEnumCodableDerivation |=
Args.hasArg(OPT_enable_experimental_enum_codable_derivation);
Opts.DisableImplicitConcurrencyModuleImport |=
Args.hasArg(OPT_disable_implicit_concurrency_module_import);