Commit Graph

1994 Commits

Author SHA1 Message Date
Davide Italiano
0a6c3e3dc5 [TypeReconstruction] Dependent types can't have existential as bases.
This basically means the mangling isn't really quite valid, and
given we don't have a full compiler testcase to see what generates
this, we're going to reject this for now.

<rdar://problem/38931073>
2018-06-20 10:04:47 -07:00
Bob Wilson
ea055fcbdc Merge remote-tracking branch 'origin/master' into master-next 2018-06-19 22:47:54 -07:00
Davide Italiano
6c5206dd69 [TypeReconstruction] Fix reconstruction for associated types.
<rdar://problem/38931073>
2018-06-19 16:22:12 -07:00
swift-ci
7b3d6c02c6 Merge pull request #17328 from dcci/invalidmangl-typereco 2018-06-19 13:29:27 -07:00
Davide Italiano
6e627b5bb1 [TypeReconstruction] Don't choke on slightly invalid mangled names.
This was taken from a real project, but I don't have it anymore
and I can't reproduce it on newer versions of swift (probably
something changed in the DWARF type mangling). In any case, as
this can be triggered by user input, we shouldn't assert, and
error out instead.

<rdar://problem/39283717>
2018-06-19 11:37:03 -07:00
swift-ci
065d1d4f09 Merge remote-tracking branch 'origin/master' into master-next 2018-06-18 18:30:27 -07:00
Rintaro Ishizaki
1ca88478a8 [Refactoring] Handle TupleShuffleExpr in "convert to trailing closure"
Fixes crash in "Convert To Trailing Closure" action if call has
defaulted parameters. Handle `TupleShuffleExpr` properly.

rdar://problem/41093898
2018-06-18 16:18:58 +09:00
swift-ci
4538ce9818 Merge remote-tracking branch 'origin/master' into master-next 2018-06-17 15:38:24 -07:00
John McCall
69f4dd1ec9 Generalize accessor storage to preserve the original accessor list.
Only not NFC because it's detectable by source tools.
2018-06-16 18:16:31 -04:00
Robert Widmann
a7c9bd09db Merge pull request #17181 from CodaFi/in-put-up-and-in-shut-up
[IDE] Scrub SwiftIDE of References to getInput()
2018-06-16 11:14:49 -07:00
swift-ci
bfe796b93e Merge remote-tracking branch 'origin/master' into master-next 2018-06-16 01:32:31 -07:00
Doug Gregor
18569e5f77 Merge pull request #16963 from DougGregor/evaluator-type-checker
[Type checker] Use the request-evaluator in the type checker.
2018-06-15 22:41:31 -07:00
swift-ci
5bd074fbc2 Merge remote-tracking branch 'origin/master' into master-next 2018-06-15 14:29:10 -07:00
Robert Widmann
b7580493f5 [Gardening] 'throw' is not an expression keyword
Remove the workaround in CodeCompletion for this.
2018-06-15 13:25:06 -07:00
Doug Gregor
b7fbe57bf9 [AST] Remove “validated” bit from TypeLoc.
TypeLocs have been “validated” when they have a non-null Type, so eliminate
the separate “validated” bit that was out-of-sync with the Type field.
2018-06-14 15:29:57 -07:00
swift-ci
de6f9b5633 Merge remote-tracking branch 'origin/master' into master-next 2018-06-14 12:09:47 -07:00
Davide Italiano
ec40a5414c [TypeReconstruction] Fix reconstruction for existential metatypes.
Without this, we wouldn't be able to show an array of `Any.Type`
in the debugger.

Fixes <rdar://problem/40940701>.
2018-06-14 10:30:02 -06:00
swift-ci
09ffbea54b Merge remote-tracking branch 'origin/master' into master-next 2018-06-13 21:28:57 -07:00
Slava Pestov
296ce3f312 AST: Remove hack-around for getInterfaceType() on ParamDecl returning InOutType
Most callers did not want the InOutType here, and checked
the ParamDecl's flags instead.
2018-06-13 15:38:52 -07:00
Robert Widmann
e8eba29cd9 [IDE] Scrub SwiftIDE of References to getInput() 2018-06-13 14:43:54 -07:00
swift-ci
f7e5db16b1 Merge remote-tracking branch 'origin/master' into master-next 2018-06-13 11:28:56 -07:00
Robert Widmann
e4181886f7 Merge pull request #17157 from CodaFi/inaccessible-decl-attribute-kardinals
[CodeCompletion] Reject all UserInaccessible decl attributes
2018-06-13 11:28:00 -07:00
swift-ci
76c31aff88 Merge remote-tracking branch 'origin/master' into master-next 2018-06-12 19:09:17 -07:00
adrian-prantl
b52ef8b4d0 Merge pull request #16937 from adrian-prantl/38306256
Use depth and index to lookup type metadata artificial variables
2018-06-12 18:56:57 -07:00
swift-ci
aabdb29b50 Merge remote-tracking branch 'origin/master' into master-next 2018-06-12 17:29:28 -07:00
Robert Widmann
a1ee6e953d [CodeCompletion] Reject all UserInaccessible decl attributes
Generalize a fix that removes __consuming from Code Completion to all inaccessible decl attributes.
2018-06-12 15:21:34 -07:00
Adrian Prantl
bab3000069 Use depth and index to lookup type metadata artificial variables
instead of using name and decl context.

The advantages of this approach are three-fold:
- This is necessary to support inlined generic functions.
- We can retire the debugger-specific type name manfgling mode for archetypes.
- This saves 270kb of debug information in the x86_64 libSwiftCore.dylib alone.

<rdar://problem/38306256>
2018-06-12 12:48:15 -07:00
Robert Widmann
26d2795efc Excise simpler uses of getInput 2018-06-11 17:29:29 -07:00
Bob Wilson
3ff7bff8b7 Merge remote-tracking branch 'origin/master' into master-next 2018-06-11 10:12:59 -07:00
Robert Widmann
df698d2ee8 Remove __consuming from CodeCompletion
Set the UserInaccessible bit to remove __consuming from code
completion until we commit to a real keyword.

rdar://40828289
2018-06-10 15:06:28 -07:00
swift-ci
0d3955cdcc Merge remote-tracking branch 'origin/master' into master-next 2018-06-08 08:49:36 -07:00
Ben Langmuir
e8b08de29f Merge pull request #16868 from AnthonyLatsis/code-compl-missing-init-dotexpr
[CodeCompletion] Missing init completions for dotExpr
2018-06-08 08:31:07 -07:00
swift-ci
032e79deb8 Merge remote-tracking branch 'origin/master' into master-next 2018-06-04 15:09:36 -07:00
Robert Widmann
6585c92395 Merge pull request #16935 from CodaFi/mos-def
[NFC] Refactor default argument info
2018-06-04 14:57:31 -07:00
swift-ci
0b1cfb22c4 Merge remote-tracking branch 'origin/master' into master-next 2018-06-03 21:09:25 -07:00
fischertony
9d5302e1eb [CodeCompletion] Remove 'self' from type identifier completions 2018-06-03 18:28:25 +03:00
Robert Widmann
24abf3ea09 [NFC] Refactor default argument info
Refactor the interface to return a bit vector. Along the way, fix up
the callers and remove some dead usages of the defaults information
that were copied and pasted around Sema.
2018-05-31 17:28:04 -07:00
swift-ci
58a1ecfb7c Merge remote-tracking branch 'origin/master' into master-next 2018-05-31 16:09:51 -07:00
Rintaro Ishizaki
66c71d1bf7 [SourceKit] Force print '?' for optional method call in code completion. (#16910)
Calling '@objc optional func' requires '?' or '!' after its name. When
completing method calls for them, 'key.sourcetext' should have '?'
whereas 'key.name' shouldn't.
Note that we deliberately do not use optional type name for
'key.typename'. This is consistent with optional chain '?.<propertyName>'
behavior.

rdar://problem/37904574
2018-05-31 16:06:23 -07:00
fischertony
45c9038d0f corrections and review amendments 2018-05-31 19:13:50 +03:00
fischertony
7ef24b10c9 [SR-7789][Additions]
restore accidentally removed constructors from 'self'
replace illegal direct call completions on dynamic metatypes with .init, except archetypes.
2018-05-30 06:05:04 +03:00
fischertony
927598fbcc [CodeCompletion] Missing init completions for dotExpr
Fixes non-visible inherited convenience initializers
Fixes non-visible initializers from protocol extensions
Fixes visible initializers on dynamic metatypes for postfix and parenPostfix expressions
2018-05-28 05:59:49 +03:00
swift-ci
7c77d67981 Merge remote-tracking branch 'origin/master' into master-next 2018-05-25 15:29:03 -07:00
Davide Italiano
7bf390adf0 [TypeReconstruction] Apply substistution when reconstructing typealiases.
Thanks to Slava for pointing this fix out.
2018-05-25 14:14:49 -07:00
swift-ci
1a9dc4c2de Merge remote-tracking branch 'origin/master' into master-next 2018-05-25 12:49:01 -07:00
swift-ci
43fa4e9d9f Merge pull request #16843 from nkcsgexi/diag-missing-script 2018-05-25 12:31:27 -07:00
Xi Ge
7312fea3b2 migrator: emit error messages when migration scripts are missing.
We used to assert migration scripts exist. This patch further
decouples these scripts and the compiler by treating missing scripts
as a regular compiler error.

Related: rdar://40538097
2018-05-25 11:25:32 -07:00
swift-ci
3855017170 Merge remote-tracking branch 'origin/master' into master-next 2018-05-25 09:29:13 -07:00
Rintaro Ishizaki
3c367e9227 [Refactoring] Simplify implementation of "move members to extension" action 2018-05-25 19:04:01 +09:00
Rintaro Ishizaki
db3020f031 [Refactoring] Disallow several kinds of decl to move to extension
* AccessorDecl and EnumElementDecl aren't independent decls
* DestructorDecl and EnumCaseDecl can't be put in extension
2018-05-25 19:04:01 +09:00