273 Commits

Author SHA1 Message Date
Slava Pestov
f6e692198c AST: Remove FuncDecl::getResultType() 2016-11-29 03:05:23 -07:00
Graydon Hoare
7c1dc18b64 Revert "Give all declarations an explicit interface type" 2016-11-24 09:55:27 -08:00
Slava Pestov
5b8524a9d1 AST: Remove FuncDecl::getResultType() 2016-11-24 02:35:35 -05:00
practicalswift
797b80765f [gardening] Use the correct base URL (https://swift.org) in references to the Swift website
Remove all references to the old non-TLS enabled base URL (http://swift.org)
2016-11-20 17:36:03 +01:00
Bob Wilson
f10ae47b9f Merge remote-tracking branch 'origin/master' into master-next 2016-11-15 17:32:28 -08:00
Ben Langmuir
780b857a7f [index] Fix assertion failure when indexing func import
We were implicitly assuming that a function reference could only happen
in an expression, ignoring the case of
        import func Module.fooFunc

For now, this doesn't actually add the reference to the index because
initCallRefIndexSymbol doesn't allow references without a parent
expression.  We can look at adding the reference, or maybe doing
something special to the import itself separately.

rdar://problem/26496135
2016-11-15 10:56:22 -08:00
Xi Ge
d58d097004 [SourceKit] While indexing, give accessors distinguishable names. rdar://28395479 (#5502) 2016-10-28 12:18:18 -07:00
Bob Wilson
5c4f517824 Checkpoint fixes for llvm r284966 (TimeValue) 2016-10-28 12:09:57 -07:00
Brian Croom
29af9f889a Fix ObjC-interop logic in the isTestCandidate indexing method
A compile-time conditional had previously been introduced to prevent
`private` test methods from being considered test candidates. This
conditional was not working as intended, however, because the header
providing the required preprocessor flag was not being included.

Several number of issues with the non-Objc-interop test case have also
been fixed.
2016-06-20 10:40:09 -04:00
Ben Langmuir
5525319d5c [index] Add finish() hook to the index consumer API
Since the memory underlying returned USRs is guaranteed to last until
the indexing action completes, add a finish() hook so that clients can
trigger an action at the end of indexing but before the memory goes
away.
2016-06-09 09:43:41 -07:00
Brian Gesiak
22fb093525 [SR-710][Index] isTestCandidate access for Linux
The goal for https://bugs.swift.org/browse/SR-710 is to automatically
generate a list of tests to run for XCTest on Linux. The prevailing
approach is to generate this list using SourceKit, which is to be
ported to Linux.

SourceKit uses libIndex's concept of `isTestCandidate` to determine
what constitutes a test. `isTestCandidate` is tested via
`test/SourceKit/Indexing/index.swift`.

On Linux, however, the list of tests to be run will be generated by
some tool and placed in a file that is separate from the source file
that defines the test method. Therefore, the test method must not be
"private", since it needs to be accessed from a separate file.

This commit adds two test files: one that verifies the behavior on
Linux, and one that verifies the behavior on platforms with Objective-C
interop. It also (1) simplifies the `isTestCandidate` function, and (2)
adds the interop-specific logic.

This commit does not remove the existing `isTestCandidate` tests in
`test/SourceKit/Indexing/index.swift`; that is left for a future commit.
2016-05-13 18:30:34 -04:00
Argyrios Kyrtzidis
281b9cafc6 [IDE/index] We only need to get the group name for declarations, not references. 2016-05-08 16:31:38 -07:00
Argyrios Kyrtzidis
ec042460fe [SourceKit] Report attributes of decls for the indexing request. 2016-05-05 16:44:34 -07:00
Ben Langmuir
ad34f89d5b [index] Add UnitTest SymbolSubKind and collapse the IndexSymbol inheritance
Fold UnitTest into the subkind, now that it's a bitself, and then remove
the unnecessary inheritance for IndexSymbol and its SourceKit indexing
equivalent.
2016-04-29 19:04:27 -07:00
Ben Langmuir
6096b8b93c [index] Make IndexSymbol's subkind into a bitset
This follows a similar change to clang indexing, and will allow us to
add overlapping sub kinds such as "UnitTest", etc.
2016-04-29 19:04:26 -07:00
Ben Langmuir
ef4e84b8d6 [index] Subsume CallRefIndexSymbol into IndexSymbol
Eventually we should just have one IndexSymbol, with all the
information. Once we kill FuncDeclIndexSymbol and can get rid of the
enum,  we will regain most of the bytes we lost by inlining receiverUSR.
2016-04-29 19:04:26 -07:00
Ben Langmuir
50eeeb7430 [index] Add 'call' and 'isDynamic' roles 2016-04-29 19:04:25 -07:00
Ben Langmuir
1b1320b9f1 [index] Thread through SymbolRoleSet as a generalization of "bool isRef"
As a first step toward having more detailed "role" information, thread
through a SymbolRole bitset.  For now it just contains the existing ref
vs. definition status.
2016-04-29 19:04:24 -07:00
Ben Langmuir
5523266715 [index] Remove unreachable materializeForSet case in indexer
We already had it marked unreachable in SourceKit, so lift that up into
the libIndex and remove the unnecessary enum case.
2016-04-28 16:51:03 -07:00
Ben Langmuir
e977d4bd54 [index] Remove import.sourcefile kind from indexing
We don't support importing source files in source code, and they only
showed up in the index under failure conditions.
2016-04-28 16:51:01 -07:00
Ben Langmuir
8f17b13f61 [index] Cache USR and name for decls
We were calculating these for every decl-occurrence, but we really only
need them once per decl.
2016-04-25 13:29:27 -07:00
Ben Langmuir
8dad7f7803 [index] Split the indexModule entry point for indexSourceFile NFC
Having a single interface for source files and modules and having to
pass in a buffer id was a crappy API. This splits the interface to take
either a Module or a SourceFile and handles the buffer id stuff
internally.
2016-04-15 16:27:30 -07:00
Ben Langmuir
ad269b0e1f [index] Move core indexing code out of SourceKit
Leaving only the SourceKit-specific code (e.g. UID generation) behind in
SourceKit.

rdar://problem/22348041
2016-04-14 13:13:54 -07:00