Commit Graph

1043 Commits

Author SHA1 Message Date
swift-ci
7d14b19bf4 Merge remote-tracking branch 'origin/master' into master-next 2017-05-14 06:49:04 -07:00
Ben Cohen
ea2f64cad2 [stdlib] Add Sequence.Element, change ExpressibleByArrayLiteral.Element to ArrayLiteralElement (#8990)
* Give Sequence a top-level Element, constrain Iterator to match

* Remove many instances of Iterator.

* Fixed various hard-coded tests

* XFAIL a few tests that need further investigation

* Change assoc type for arrayLiteralConvertible

* Mop up remaining "better expressed as a where clause" warnings

* Fix UnicodeDecoders prototype test

* Fix UIntBuffer

* Fix hard-coded Element identifier in CSDiag

* Fix up more tests

* Account for flatMap changes
2017-05-14 06:33:25 -07:00
swift-ci
65b3fe942c Merge remote-tracking branch 'origin/master' into master-next 2017-05-13 18:28:31 -07:00
Xi Ge
df64cd7686 Formatting: Avoid formatting multi-line string literals since it may change behavior. rdar://32135036 (#9582) 2017-05-13 18:21:18 -07:00
swift-ci
014c1dcaa2 Merge remote-tracking branch 'origin/master' into master-next 2017-05-08 13:48:52 -07:00
Ben Langmuir
773434416f Merge pull request #9395 from benlangmuir/no-cancel-cursor
[cursor-info] Add a way to opt out of automatic request cancellation
2017-05-08 13:28:55 -07:00
Ben Langmuir
d13b1c719f [cursor-info] Add a way to opt out of automatic request cancellation
The OncePerASTToken machinery lets us automatically cancel "stale"
requests after a new one comes in.  This avoid wasting time processing
requests that have been superceded, which is common for cursor-info, but
sometimes you really want to get results even later, so this commit adds
a way to opt out of the cancellation.

Incidentally, disable cancellation of name translation, which doesn't
really make sense and no one should be relying on that.

rdar://problem/31905379
2017-05-08 12:01:33 -07:00
swift-ci
051ff1b455 Merge remote-tracking branch 'origin/master' into master-next 2017-05-05 17:28:35 -07:00
Xi Ge
a14953809a [SourceKit] When cursor points to an external argument name in a function-like decl, we should return the information about the function-like decl instead of being empty. rdar://32018814 (#9356) 2017-05-05 17:12:34 -07:00
swift-ci
5c79c724dd Merge remote-tracking branch 'origin/master' into master-next 2017-05-05 13:08:33 -07:00
Ben Langmuir
651bb4c506 [cursor-info] Tweak check to not report parent_loc on locals in body
We were checking only for the specific loc of the declaration of the
param, but that didn't handle references to a local parameter inside the
body.

rdar://problem/32019195
2017-05-05 10:51:30 -07:00
swift-ci
05d0c5afeb Merge remote-tracking branch 'origin/master' into master-next 2017-05-04 21:48:33 -07:00
Argyrios Kyrtzidis
5bb4f6ef46 [test] Simplify 'test/SourceKit/InterfaceGen/gen_header.swift' to check for the swift 4 change without duplicating the test file 2017-05-04 16:58:22 -07:00
Argyrios Kyrtzidis
896c4645df [SourceKit] Accept swift_version in requests and use to set the swift version for interface generation of an ObjC header
rdar://31432960
2017-05-04 16:53:00 -07:00
swift-ci
d62f14e627 Merge remote-tracking branch 'origin/master' into master-next 2017-05-04 13:08:33 -07:00
Xi Ge
e9f014a446 [SourceKit] Avoid reporting parent locations for internal only parameter names. rdar://30702790 2017-05-04 12:57:14 -07:00
swift-ci
b972db641c Merge remote-tracking branch 'origin/master' into master-next 2017-05-03 16:28:57 -07:00
Jordan Rose
c8d3506e55 Revert "[Mangling] Uniformly use "So" for imported decls." (#9233)
This reverts commit 25985cb764. For now,
we're trying to avoid spurious non-structural changes to the mangling,
so that the /old/ mangling doesn't appear to change. That doesn't mean
no changes at all, but we can save this one for later.
2017-05-03 16:13:29 -07:00
swift-ci
2776eff8f4 Merge remote-tracking branch 'origin/master' into master-next 2017-05-02 22:08:33 -07:00
Slava Pestov
b5721e8d8e AST: Remove AnyObject protocol 2017-05-02 19:45:00 -07:00
swift-ci
70278b1483 Merge remote-tracking branch 'origin/master' into master-next 2017-04-29 21:29:27 -07:00
Argyrios Kyrtzidis
b48377bb14 [test] Update linux test: test/SourceKit/Indexing/index_is_test_candidate 2017-04-29 20:16:01 -07:00
Argyrios Kyrtzidis
40c89048ba [index] Make sure that we index implicit constructors
These can be explicitely referenced so we should index their definitions as well
2017-04-29 19:14:03 -07:00
swift-ci
f15cad3609 Merge remote-tracking branch 'origin/master' into master-next 2017-04-28 20:08:31 -07:00
Doug Gregor
447dce6c1f Merge pull request #9004 from itaiferber/swift-archival-serialization
Swift Archival & Serialization API
2017-04-28 20:02:33 -07:00
swift-ci
9ee70173bc Merge remote-tracking branch 'origin/master' into master-next 2017-04-28 18:48:32 -07:00
Itai Ferber
433c192bf1 Temporarily fix failing SourceKit test 2017-04-28 13:37:10 -07:00
Robert Widmann
39494b2ba2 Rearrange test code for exhaustiveness 2017-04-28 02:06:39 -04:00
swift-ci
cdde06ac25 Merge remote-tracking branch 'origin/master' into master-next 2017-04-27 15:56:02 -07:00
Norio Nomura
459c18dd35 Disable sourcekit’s tests on ubuntu-14.04
https://github.com/apple/swift/pull/8485#issuecomment-296862707
2017-04-27 08:44:13 +09:00
Norio Nomura
3da7926a5e Revert "Revert "Enable SourceKit tests if building SourceKit""
This reverts commit a383adf9df.
2017-04-26 21:16:36 +09:00
Ben Langmuir
7e5dd1fa01 [sourcekitd] Allow mising name pieces preferred names
With the interpretation that they mean to retain whatever the name
piece was in the original name.
2017-04-25 15:25:53 -07:00
Argyrios Kyrtzidis
9b9c84a708 Merge pull request #8972 from akyrtzi/index-external-symbol-namespacing
[index] Use a #pragma to apply module namespacing for exported ObjC header and match Swift namespaced USRs with the clang side
2017-04-24 21:13:12 -07:00
Arnold Schwaighofer
a383adf9df Revert "Enable SourceKit tests if building SourceKit" 2017-04-24 17:59:03 -07:00
Argyrios Kyrtzidis
28b15852d8 Fix tests due to clang namespacing USR changes 2017-04-24 17:42:36 -07:00
Nathan Hawes
6b58cd7d00 [test] Add regression test for cursor-info crasher in rdar://problem/31758709 2017-04-24 17:03:34 -07:00
Argyrios Kyrtzidis
be12528bcc Merge pull request #8746 from felix91gr/master
Added -help option to sourcekitd-test
2017-04-24 16:06:47 -07:00
Argyrios Kyrtzidis
792d7c06a5 [test/SourceKit/DocSupport] Fix test for @objc USR change 2017-04-24 14:13:37 -07:00
swift-ci
771cdb8a82 Merge remote-tracking branch 'origin/master' into master-next 2017-04-24 11:08:52 -07:00
Jordan Rose
e575d2d5ba [ClangImporter] Error structs from enums are not imported decls.
Enums with the ns_error_domain attribute represent codes for NSError,
which means Swift developers will expect to interact with them in
terms of Error. SE-0112 improved bridging for these enums to generate
a struct with the following form:

    struct MyError: Error {
      @objc enum Code: RawRepresentable {
        case outOfMemory
        case fileNotFound
      }
      var userInfo: [NSObject: AnyObject] { get }
      static var outOfMemory: Code { get }
      static var fileNotFound: Code { get }
    }

where MyError.Code corresponds to the original MyError enum defined in
Objective-C. Until recently, both the enum and the synthesized struct
were marked as having the original enum as their "Clang node", but
that leads to problems: the struct isn't really ObjC-compatible, and
the two decls have the same USR. (The latter had already been worked
around.)

This commit changes the struct to be merely considered a synthesized
"external definition", with no associated Clang node. This meant
auditing everywhere that's looking for a Clang node and seeing which
ones applied to external definitions in general.

There is one regression in quality here: the generated struct is no
longer printed as part of the Swift interface for a header file, since
it's not actually a decl with a corresponding Clang node. The previous
change to AST printing mitigates this a little by at least indicating
that the enum has become a nested "Code" type.
2017-04-24 09:57:41 -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
swift-ci
95e7aff734 Merge remote-tracking branch 'origin/master' into master-next 2017-04-24 09:48:41 -07:00
Alex Blewitt
71987b90b2 Merge pull request #8485 from norio-nomura/enable-sourcekit-test
Enable SourceKit tests if building SourceKit
2017-04-24 17:37:30 +01:00
Félix
042fccb510 Added -help option so sourcekitd-test
Added "-help" option to Options.td
Added also:
* Added "OPT_HELP" case in the main TestOptions.cpp switch. It uses the llvm options help functionality to provide up-to-date help
* Additional "Use -help for assistance" at the end of the error message that appears when calling an unknown option
Added their following tests, respectively::
* usage.swift, and
* wrong_arguments.swift

Extra: FIXME: in TestOptions::printHelp, suggesting a possible expansion for the printHelp option (details in file)
2017-04-22 15:06:48 -03:00
swift-ci
6abdee2a39 Merge remote-tracking branch 'origin/master' into master-next 2017-04-21 22:08:31 -07:00
Norio Nomura
07803b1d33 [SourceKit] Apply changes made at https://github.com/apple/swift/pull/8862 also to Linux 2017-04-22 14:04:11 +09:00
Slava Pestov
2aba021c6e IDE: Don't use Objective-C USRs for AnyObject
It's not a real @objc protocol.
2017-04-21 20:36:32 -07:00
swift-ci
680f67d1d4 Merge remote-tracking branch 'origin/master' into master-next 2017-04-21 16:48:33 -07:00
Ben Langmuir
9d745fa18f [test] Fix SourceKit test harder against unnecessary USRs
This time make sure I actually got *all* the associated_usrs, d'oh.
2017-04-21 15:25:28 -07:00