Commit Graph

1298 Commits

Author SHA1 Message Date
Nathan Hawes
4ff254de97 Move canDeclProvideDefaultImplementationFor() from libIDE into libIndex 2017-04-27 23:23:45 -07:00
practicalswift
ab5aaeb359 Merge pull request #9001 from practicalswift/gardening-20170425
[gardening] Unused variables. Unused diagnostics. Namespace comments. Typos.
2017-04-26 09:28:24 +02:00
Xi Ge
7163a40ffb [Migrator] Support framework API function renames. rdar://31766131 (#9013) 2017-04-25 15:50:40 -07:00
practicalswift
861f70e13d [gardening] Use consistent spacing 2017-04-25 21:03:43 +02:00
Xi Ge
cbd62cb721 IDE: Expose a utility to collect argument label ranges from either tuple or paren exprs. (#8982) 2017-04-24 17:26:32 -07:00
Xi Ge
2a2731a797 migrator: add a flag to print incoming usrs to the API diff data store to facilitate testing. NFC (#8969) 2017-04-24 13:53:55 -07:00
Jordan Rose
129fd372d5 ASTPrinter: Qualify names when printing nested declarations.
That is, if you have this declaration:

    struct Outer {
      struct Inner {
        // ...
      }
    }

and you're just printing 'Inner', print it like this:

    struct Outer.Inner {
      // ...
    }

This comes up with the ClangImporter's import-as-member feature, and
is also about to affect how error code enums are imported as well.

This is currently only enabled in certain contexts: always when
printing interfaces, and for types (but not other members) when
printing declarations for Quick Help.

rdar://problem/28208090
2017-04-24 09:57:40 -07:00
Jordan Rose
25985cb764 [Mangling] Uniformly use "So" for imported decls.
...and repurpose "SC" for (C)lang-importer-synthesized decls, instead
of just decls that are C-like instead of ObjC-like. (See next commits.)
2017-04-24 09:57:30 -07:00
Slava Pestov
d96d488109 TypeReconstruction: Fix null pointer dereference with invalid demangling 2017-04-21 20:36:32 -07:00
Slava Pestov
f025632ac2 TypeReconstruction: Fix reconstruction of type aliases 2017-04-21 20:36:32 -07:00
Slava Pestov
9b49751ac1 TypeReconstruction: Support for subclass existentials 2017-04-21 20:19:46 -07:00
Slava Pestov
54784910fe TypeReconstruction: Fixes for nested generics 2017-04-21 20:19:46 -07:00
Slava Pestov
ebf0645f4c TypeReconstruction: Stop passing around 'generic_context' 2017-04-21 20:19:46 -07:00
Slava Pestov
4fd1da9613 TypeReconstruction: Stop passing around 'nodes' 2017-04-21 20:19:45 -07:00
Slava Pestov
3c16bb491e TypeReconstruction: Remove some dead code 2017-04-21 20:19:45 -07:00
Joe Groff
3d178be169 Merge pull request #8875 from jckarter/keypaths
Keypaths
2017-04-21 17:51:17 -07:00
Xi Ge
e57232dbe9 [migrator] Add a viewer utility for child indices to facilitate access. NFC (#8925) 2017-04-21 15:15:58 -07:00
practicalswift
797c2d8118 [gardening] Fix end of namespace comments 2017-04-20 22:01:01 +02:00
practicalswift
c79af78a7f Merge pull request #8878 from practicalswift/gardening-20170420
[gardening] Remove unused diagnostics. Fix end of namespace comments. Match parameter name. Use override as appropriate.
2017-04-20 21:52:15 +02:00
David Farler
012d511d54 Merge pull request #8823 from mxswd/quickhelp-xml
Updated quick help XML to separate the comment data from the metadata
2017-04-20 12:20:46 -07:00
Maxwell Swadling
d7949f03c8 Merge remote-tracking branch 'origin/master' into quickhelp-xml
Conflicts:
	test/SourceKit/DocSupport/doc_clang_module.swift.response
2017-04-20 09:17:48 -07:00
practicalswift
a596961187 [gardening] Make parameter name comments match actual parameter names 2017-04-20 13:47:10 +02:00
practicalswift
431e5a1440 [gardening] Use consistent end of namespace comments 2017-04-20 13:47:10 +02:00
Slava Pestov
f4b91cd118 AST: Remove unused 'resolver' argument from TypeBase::getSuperclass() 2017-04-20 00:37:38 -07:00
Joe Groff
595e0e4ede Merge branch 'master' into keypaths 2017-04-19 18:38:24 -07:00
Graydon Hoare
6a94c9fb9e Merge pull request #8735 from graydon/rdar-30959593-operators-defeat-incrementality
Attribute @_implements & deriving enum equality not-named ==
2017-04-19 11:18:55 -07:00
Graydon Hoare
3955f5ee66 Don't code-complete any ValueDecl that's not user accessible. 2017-04-18 23:21:43 -07:00
practicalswift
50ae5d1541 [gardening] Use consistent end-of-namespace comments 2017-04-18 19:21:26 +02:00
practicalswift
7eb7d5b109 [gardening] Fix 100 typos. 2017-04-18 17:01:42 +02:00
Maxwell Swadling
452e535ba4 Updated quick help XML to separate the comment data from the metadata 2017-04-17 14:53:57 -07:00
Xi Ge
ba33fd6236 swift-api-digester: Add a data structure APIDiffItemStore. (#8794)
This structure serves multiple purposes:
	a. Allow migrator to speak in the same language with swift-api-digester in terms of API changes.
	b. Serialize/Deserialize detected API change items in JSON format.
	c. Manage memory after deserializing API change items.
	d. Facilitate look up by USRs of APIs under migration.
The structure is tested by round-trip serialization and deserialization.
2017-04-17 13:04:02 -07:00
practicalswift
40cf4d183d [gardening] Use consistent spacing after if, for and while 2017-04-14 17:35:36 +02:00
practicalswift
6828ed9e1e [gardening] Use isa<T>(o) instead of dyn_cast<T>(o) when result is unused 2017-04-14 17:33:24 +02:00
practicalswift
d8d1693814 [gardening] Remove unused variables 2017-04-14 17:33:24 +02:00
Slava Pestov
d58f049608 AST: Introduce ASTContext::getAnyObjectType()
This replaces a number of usages of KnownProtocolKind::AnyObject,
which is soon going away.
2017-04-13 21:17:05 -07:00
Slava Pestov
d49f8fb6d9 AST: Introduce primitive AnyObject type
Add a 'hasExplicitAnyObject()' bit to ProtocolCompositionType
to represent canonical composition types containing '& AnyObject'.

Serialize this bit and take it into account when building
ExistentialLayouts.

Rename ProtocolCompositionType::getProtocols() to getMembers()
since it can contain classes now, and update a few usages that
need further attention with FIXMEs or asserts.

For now, nothing actually constructs these types, and they will
trigger arounds asserts. Upcoming patches will introduce support
for this.
2017-04-13 21:17:05 -07:00
Xi Ge
dbb71698e9 swift-api-digester: Extract/Expose API change descriptors to libIDE to allow visibility from libMigrator. NFC (#8766) 2017-04-13 18:31:41 -07:00
Xi Ge
00b4d518bf IDE: Rename Edit*Consumer to SourceEdit*Consumer. NFC (#8732) 2017-04-12 16:56:39 -07:00
swift-ci
5dbbeabf72 Merge pull request #8726 from nkcsgexi/edit-consumer 2017-04-12 14:35:33 -07:00
Xi Ge
cc29886987 IDE/Utils: Move edit consumers to IDE utilities to allow broader audience. NFC 2017-04-12 13:05:57 -07:00
Argyrios Kyrtzidis
2edefb2e40 [IDE/CodeCompletion] Replace some global variables with static functions, NFC 2017-04-12 12:54:10 -07:00
practicalswift
5e255e07d7 [gardening] Remove redundant logic 2017-04-11 23:04:55 +02:00
Joe Groff
85ad6b355e Merge branch 'master' into keypaths 2017-04-06 18:02:07 -07:00
Doug Gregor
5c89eb84f0 [AST] Drop substitutions from type witnesses.
Nobody is using the actual substitutions, but we sure did a lot of
work to cope with them.
2017-04-05 11:21:38 -07:00
Joe Groff
eb5d006e40 Rename ObjCKeyPathExpr -> KeyPathExpr.
We can use the same general shape of expression for native key paths.
2017-04-04 11:31:15 -07:00
Xi Ge
08c2aabc24 [cmake] swiftIDE should depend on swiftIndex. 2017-03-30 15:40:38 -07:00
Xi Ge
1a402c1c43 Index: compare interface types of potential witnesses to make sure we handle overloads properly. (#8434) 2017-03-30 11:49:54 -07:00
Xi Ge
0ccbfdb933 Index: Record override-of relationship between a decl in protocol extension and the protocol requirements it can provide default implementations for. (#8418) 2017-03-29 19:39:39 -07:00
Erik Eckstein
e427ded6c9 Mangling: refactoring: clean up tuple nodes
Replace VariadicTuple and NonVariadicTuple with a single Tuple node.
The variadic property is now part of the tuple element and not of the whole tuple.
2017-03-25 19:07:52 -07:00
Xi Ge
1827fb1436 RangeInfo: Report RValue type if a decl reference is of read-only LValue type. (#8300) 2017-03-23 15:52:54 -07:00