Commit Graph

2426 Commits

Author SHA1 Message Date
Alex Hoppen
4f43c8e93c [SourceKit] Make the NameLength of EnumElements take argument labels into account 2018-05-10 11:27:49 -07:00
Rintaro Ishizaki
06a9ef6073 Merge pull request #16440 from rintaro/ide-walkdefer
[IDE] Fix visiting DeferStmt
2018-05-09 09:55:54 +09:00
Xi Ge
33e0570fda migrator: ignore return value rewritten for constructors. rdar://40041102 2018-05-08 11:26:25 -07:00
Rintaro Ishizaki
1fa04208e0 [IDE] Fix visiting DeferStmt
* Call balanced walkToStmtPost() for DeferStmt.
* In walkToStmtPre(), return DeferStmt itself instead of the body.

rdar://problem/39948168
2018-05-08 16:32:52 +09:00
Jordan Rose
18162a3ed0 Revert "AST: Simplify ModuleDecl::forAllVisibleModules()"
This reverts commit 0c32c54e36.
2018-05-03 22:40:37 -06:00
swift-ci
d037d29944 Merge pull request #16329 from nkcsgexi/doc-info-std-lib 2018-05-02 19:18:19 -07:00
Xi Ge
714775eb0a DocSupport: don't assume we've printed the first extension when merging several together. rdar://39887195
When printing the content of several extensions into a
synthesized one, we shouldn't assume the first extension in the
group always gets printed.
2018-05-02 17:46:41 -07:00
swift-ci
e2f3e6d2e6 Merge pull request #16290 from nkcsgexi/avoid-under-api 2018-05-01 17:00:36 -07:00
Xi Ge
82a2c2c644 migrator: ignore migration scripts with underscored new names. rdar://39877447
Updating something to underscored names is hardly correct. This patch
disallows picking up such migration scripts.
2018-05-01 16:06:06 -07:00
Nathan Hawes
af7169a648 Merge pull request #16265 from nathawes/rdar38153332-code-completion-hits-unreachable-in-matchtypes
[code-completion] Don't try to equate/convert GenericTypeParameterTypes when computing type relations of completion results
2018-05-01 13:44:03 -07:00
Huon Wilson
d4f49a1252 [IDE] std::function -> llvm::function_ref for some non-escaping params. 2018-05-01 08:29:06 +10:00
Nathan Hawes
d9ca14203d [code-completion] Don't try to equate/convert GenericTypeParameterTypes computing type relations of completion results
For call argument completion, if the expected type and completion result type are
both GenericTypeParameterTypes, comparing them doesn't make sense we can't account
for their different contexts at this point in the code, and hit assertions in the
constraint solver if we try.

For now, don't attempt to add a type relation for this case.
Resolves rdar://problem/38153332.
2018-04-30 15:12:54 -07:00
Slava Pestov
af875829a7 Merge pull request #16206 from slavapestov/serialization-cleanup
Serialization cleanup
2018-04-27 05:22:40 -07:00
Slava Pestov
0c32c54e36 AST: Simplify ModuleDecl::forAllVisibleModules() 2018-04-26 23:37:16 -07:00
Pavel Yaskevich
57ad592844 [Sema] Switch computeDefaultMap to use AnyFunctionType::getParams() 2018-04-26 17:33:08 -07:00
Xi Ge
36b2c93c90 Merge pull request #16048 from nkcsgexi/name-correction
swift-api-digester: add a new action to dump name correction template.
2018-04-20 09:00:13 -07:00
Huon Wilson
18683f305d Merge pull request #15587 from huonw/minmax
[Sema] Perform name lookup in outer scopes in some cases involving conditional conformances
2018-04-20 22:33:07 +10:00
Xi Ge
53c9f1aaa9 swift-api-digester: add a new action to dump name correction template.
Rename detection in the tool may not reflect overlay additions; thus we
mistakes a new name to be an underscored one. This new action searches
migration scripts for suspicious ones and generates a template for us to
specify the correct names.
2018-04-19 18:01:01 -07:00
Huon Wilson
6a13fc5336 Merge pull request #15944 from huonw/fatalError-bodies
[IDE] Tweak replace.bodies.with.fatalError.
2018-04-18 07:56:33 +10:00
Rintaro Ishizaki
095623b61c [code-complete] Small refactoring in addImportModuleNames (#15943)
Improves readability.
In the future, we will fix "FIXME: Add user-defined swift modules" based
on this.
2018-04-17 08:24:24 +09:00
Huon Wilson
75313cfed5 [IDE] make replace.bodies.with.fatalError an internal refactoring.
This shouldn't be exposed to general users.
2018-04-17 09:05:26 +10:00
Huon Wilson
fac1a529fe [IDE] Tweak replace.bodies.with.fatalError.
The menu item should be capitalised, and it's nicer if the fatalError is on its
own line in the new function body.
2018-04-16 12:58:55 +10:00
Huon Wilson
3124f6ad50 Merge pull request #15916 from huonw/fatalError-bodies
[IDE] Refactoring to change function bodies to "fatalError()".
2018-04-14 12:30:05 +10:00
Ben Langmuir
45936f5242 [gardening] Tweak comment wording 2018-04-13 13:49:57 -07:00
Huon Wilson
8056102ee5 [IDE] Refactoring to change function bodies to "fatalError()".
This is immensely useful when working on generic code, where the signatures
of (many) functions are all that is required, and removing the bodies makes
things compile faster, allows tools like creduce to work better and results in
less noise in a debugger.

Unfortunately the design of refactoring means this currently only works on a
single top-level decl, or multiple decls inside a type.
2018-04-13 15:56:56 +10:00
Xi Ge
e405bab9bf swift-api-digester: separate migration kind from the other node annotation kind. NFC 2018-04-09 16:18:24 -07:00
Rintaro Ishizaki
53be298f1f [IDE] Don't emit “Convert to Trailing Closure” for trailing closure (#15824)
rdar://problem/39253640
2018-04-09 15:30:52 +09:00
Huon Wilson
fe00f53e48 [AST] Use flags instead of booleans for UnqualifiedLookup. 2018-04-09 10:58:49 +10:00
David Zarzycki
7174d14dad [Parsing] NFC: metaprogram contextual decl keywords into Attr.def 2018-04-07 18:00:12 -04:00
Xi Ge
72f49e2351 swift-api-digester: separate internal and external names for node kinds. NFC 2018-04-05 15:38:17 -07:00
Nathan Hawes
73ac297736 Merge pull request #15630 from nathawes/rdar39011293-range-resolver-assertion-hit
[IDE] Fix imbalanced walkToDeclPre/Post calls in SemaAnnotator for IfConfigDecls
2018-03-30 15:45:27 -07:00
Nathan Hawes
8fab22f124 [IDE] Fix imbalanced walkToDeclPre/Post calls in SemaAnotator for IfConfigDecls.
Resolves rdar://problem/39011293.
2018-03-30 13:03:49 -07:00
swift-ci
fcd86e3246 Merge pull request #15510 from compnerd/simplify 2018-03-29 16:39:10 -07:00
Davide Italiano
ec18f4030b [TypeReconstruction] Don't silently swallow invalid mangled names.
The mangler had a bug when mangling associated types so we got
an invalid input. Instead of ignoring the fact it's invalid,
throw an error.

Eventually we'll refactor the visitor to fail at any point in
time, as suggested by Slava, but for now, at least, stop pretending
this is a valid mangling.
2018-03-29 10:27:42 -07:00
Saleem Abdulrasool
3446d0b730 IDE: simplify logic from PR#15505 (NFC)
Use a range based loop to simplify the logic.  NFC.
2018-03-29 09:10:33 -07:00
Robert Widmann
03580d2fe5 Add a parameter list to EnumElementDecl
This models, but does not plumb through, default arguments.
2018-03-28 00:05:56 -04:00
Nathan Hawes
cc027287d7 Merge pull request #15471 from nathawes/rdar38188989-code-completion-assertion-failure-in-getValueExprCompletions
[code-completion] Fix assertion failure in getValueExprCompletions
2018-03-26 13:47:02 -07:00
Nathan Hawes
d4bd291569 [code-completion] Fix assertion failure in getValueExprCompletions
This was caused by two separate issues:

1. If given a function type with an IUO return, it would add function call
completions, set Done=true, and then progress to some logic to add
completions for the unwrapped type of optionals. That code would check if
the corresponding decl has the IUO attribute set and, if it was but couldn't
be unwrapped, assert. For function types, it now early exits after adding
call completions.

2. If given the type of a bound (`blah?.`) or forced (`blah!.`) optional,
the type is non-optional and can't be unwrapped and the decl still has the
IUO so it asserts. Refined the assertion to account for this case.

Resolves rdar://problem/38188989.
2018-03-26 11:12:44 -07:00
Doug Gregor
4797fae933 Merge pull request #15497 from DougGregor/remove-name-alias-type
[AST] Fully replace NameAliasType with the new, sugary-sweet BoundNameAliasType
2018-03-26 09:03:03 -07:00
Sho Ikeda
976c7f9c27 [gardening][IDE] Replace typedef with using 2018-03-26 13:45:36 +09:00
Doug Gregor
b2b69e8abf Rename BoundNameAliasType to NameAliasType.
NameAliasType is dead! Long live NameAliasType!
2018-03-25 21:35:17 -07:00
Doug Gregor
c43f96a855 [AST] Remove now-unused NameAliasType. 2018-03-25 21:35:16 -07:00
Doug Gregor
e82e7ee908 [Type checker] Use BoundNameAliasType for all typealiases.
Rather than relying on the NameAliasType we get by default for references
to non-generic typealiases, use BoundNameAliasType consistently to handle
references to typealiases that are formed by the type checker.
2018-03-25 21:35:16 -07:00
Doug Gregor
bde6401f5b Support BoundNameAliasType everywhere we support NameAliasType.
This doesn't have a specific effect now, because all of these places
are likely to only see NameAliasType, but it is refactoring with the
intent of eliminating NameAliasType entirely.
2018-03-25 20:46:07 -07:00
Davide Italiano
5587b39fcb [TypeReconstruction] Fix a crash when reconstructing protocols.
<rdar://problem/38849279>
2018-03-25 18:46:36 -07:00
swift-ci
29788f6245 Merge pull request #14963 from kitasuke/replace-of-builtin-string-with-constant 2018-03-24 18:56:17 -07:00
Davide Italiano
5831fc9ec1 [TypeReconstruction] Fix reconstructions for allocator.
Adrian reported this bug he discovered as part of his
work on improving generics in swift/lldb.
Allocators were treated as `function`, when the demangle
tree suggests they're much more akin to constructors. On
top of that, the code for handling them was commented out,
so type reconstruction was always failing. I'm not entirely
sure this is always correct, but it seems to be an improvement
on what currently type reconstruction does. At least now
we have tests so if something will break, we're going to
notice.

<rdar://problem/38720742>
2018-03-22 11:51:11 -07:00
Slava Pestov
34fd4ae512 AST: Use DeclBaseName::Kind::Constructor
Fixes <rdar://problem/35852727>, <https://bugs.swift.org/browse/SR-1660>,
<https://bugs.swift.org/browse/SR-6557>.
2018-03-16 00:25:56 -07:00
Slava Pestov
fdbc81ab56 IDE: Don't crash in type reconstruction if local types contain subscript or deinit
This is just a workaround to unblock something else I'm doing.
We're still not able to find the local declarations properly.
2018-03-15 17:44:30 -07:00
Rintaro Ishizaki
c73065e698 Merge pull request #15257 from rintaro/parse-eliminate-square_lit
[Parse] Eliminate {l,r}_square_lit tokens.
2018-03-15 17:39:55 +09:00