[CodeCompletion] 'nil'/'[]'/'[:]' default arguments are "interesting"

func foo(arg: Int? = nil)

Code completion didn't sugget 'foo()' call pattern variant for this
function.
This commit is contained in:
Rintaro Ishizaki
2021-11-05 22:22:40 -07:00
parent d954e46524
commit a87996c23d
2 changed files with 29 additions and 2 deletions

View File

@@ -2739,10 +2739,17 @@ public:
for (auto param : *func->getParameters()) {
switch (param->getDefaultArgumentKind()) {
case DefaultArgumentKind::Normal:
case DefaultArgumentKind::NilLiteral:
case DefaultArgumentKind::EmptyArray:
case DefaultArgumentKind::EmptyDictionary:
case DefaultArgumentKind::StoredProperty:
case DefaultArgumentKind::Inherited: // FIXME: include this?
return true;
default:
case DefaultArgumentKind::None:
#define MAGIC_IDENTIFIER(NAME, STRING, SYNTAX_KIND) \
case DefaultArgumentKind::NAME:
#include "swift/AST/MagicIdentifierKinds.def"
break;
}
}