Commit Graph

3980 Commits

Author SHA1 Message Date
Sonny Falk
ebddf906cd [IDE] Update the character source ranges for structure nodes so they properly span the entire end token.
Swift SVN r10729
2013-12-02 19:31:07 +00:00
Sonny Falk
1ec5094eee [IDE] Add a structure test for property in the syntax model. Adjust the range to include the type.
Swift SVN r10728
2013-12-02 19:31:07 +00:00
Sonny Falk
e686707bde [IDE] Don't pass token nodes during popStructureNode() as it's not necessary.
Swift SVN r10727
2013-12-02 19:31:04 +00:00
Dmitri Hrybenko
81dc5deee8 Change 'def' keyword back to 'func'
Swift SVN r10522
2013-11-17 07:45:28 +00:00
Dmitri Hrybenko
47951efcb9 Implement code completion support for static variables
Swift SVN r10487
2013-11-15 01:32:20 +00:00
Sonny Falk
2ba1d6cec9 [IDE] Remove IBAction / IBOutlet specific SyntaxStructureKind values, and pass through the DeclAttributes instead.
Swift SVN r10028
2013-11-07 19:35:30 +00:00
Argyrios Kyrtzidis
44d46de7c9 Use swift::SourceManager's addNewSourceBuffer() instead of llvm::SourceMgr's AddNewSourceBuffer().
Also remove the SourceLoc parameter from addNewSourceBuffer(). In llvm::SourceMgr
it is used to indicate textual inclusion, which we don't have in swift.

Swift SVN r10014
2013-11-07 00:51:56 +00:00
Sonny Falk
7594f89ac6 [IDE] Annotate IBAction/IBOutlet with their own SyntaxStructureKind.
Swift SVN r10009
2013-11-06 23:30:23 +00:00
John McCall
00dad2e89f Thread an isSILType bit through the validateType APIs.
Has no effect... yet.

Swift SVN r9983
2013-11-06 01:56:40 +00:00
Sonny Falk
a5e6abd693 [IDE] Annotate init & destructor in document substructure.
Swift SVN r9979
2013-11-06 00:13:19 +00:00
Chris Lattner
68af974227 Remove 'axle' related code and build machinery. It turns out that we
will not be pursuing this project in the immediate future.



Swift SVN r9901
2013-11-03 16:04:27 +00:00
Dmitri Hrybenko
91ce21666d Change 'func' keyword to 'def'
I tried hard find all references to 'func' in documentation, comments and
diagnostics, but I am sure that I missed a few.  If you find something, please
let me know.

rdar://15346654


Swift SVN r9886
2013-11-02 01:00:42 +00:00
Sonny Falk
473cd24818 [IDE] Clean up and simplify syntaxStructureKindFromNominalTypeDecl().
Swift SVN r9883
2013-11-01 22:09:26 +00:00
Sonny Falk
f265135790 [IDE] Add Enum SyntaxStructure kind. Rename to spell out enum values in full form. Refactored to remove duplication.
Swift SVN r9824
2013-10-30 23:21:55 +00:00
Sonny Falk
7b8cd1c0e0 [IDE] Add support for a few more SyntaxStructure kinds, and add name range.
Swift SVN r9810
2013-10-30 21:01:35 +00:00
Dmitri Hrybenko
fb08372e10 Code completion tests: check declaration kind, it is computed with non-trivial logic now
These tests revealed this bug: rdar://15353073


Swift SVN r9800
2013-10-30 18:05:55 +00:00
Argyrios Kyrtzidis
e31c93add3 [AST] The ASTContext parameter in FuncDecl::getResultType() is not really needed.
Swift SVN r9798
2013-10-30 17:09:56 +00:00
Argyrios Kyrtzidis
4d168bb839 [IDE] SourceEntityWalker: Visit the base of a member ref expression in source order.
Swift SVN r9762
2013-10-29 17:30:12 +00:00
Argyrios Kyrtzidis
a1618e9a33 [IDE] Have SourceEntityWalker report a subscript decl reference.
Swift SVN r9761
2013-10-29 17:15:11 +00:00
Argyrios Kyrtzidis
76faca0269 [IDE] Enhance SourceEntityWalker to report walking of expressions.
Swift SVN r9760
2013-10-29 17:06:38 +00:00
Argyrios Kyrtzidis
0f9744430c [IDE] Have SourceEntityWalker invoke the callbacks for getter/setters.
Swift SVN r9759
2013-10-29 17:06:36 +00:00
Doug Gregor
112c6123eb Terminate SpecializeExpr with extreme prejudice.
There are numerous other cleanups that could be performed now that
this is gone; I'll follow up with some of them.


Swift SVN r9717
2013-10-28 18:50:29 +00:00
Dmitri Hrybenko
a2da6e5f1a Code completion: use imports only from the current SourceFile
Prevents duplicating results and displaying results from modules that are not
imported in this SourceFile.


Swift SVN r9713
2013-10-28 18:31:05 +00:00
Jordan Rose
ec4234bdbc Perform unqualified lookup using the current SourceFile as context.
And, properly treat imports as per-file: when looking up decls through the
TU module, don't pick up every other source file's imports.

This implements our resolution rules:
1. Check the current source file.
2. Check the current module.
3. Check imported modules.

Currently, "import Foo" is treated as a file-private import and
"@reexported import Foo" is treated as a public /and/ module-wide import.
This further suggests that access control is the right tool for re-export
control:

(private) import Foo // current file only
package import Foo   // whole module
public import Foo    // whole world

Swift SVN r9682
2013-10-25 22:21:12 +00:00
Jordan Rose
32130d3cc3 Teach delayed parsing to get its SourceFile from the saved DeclContext.
This makes it possible to delay decls in more than one source file.

Swift SVN r9672
2013-10-25 17:30:43 +00:00
Dmitri Hrybenko
a927afa412 Remove unused #includes
Swift SVN r9662
2013-10-24 22:54:34 +00:00
Dmitri Hrybenko
341c4e07a9 Code completion result caching: update result set cost in libcache after we
have created the result set


Swift SVN r9660
2013-10-24 22:20:58 +00:00
Dmitri Hrybenko
0cafcee4c0 Code completion: add more assertions
Swift SVN r9659
2013-10-24 22:20:05 +00:00
Dmitri Hrybenko
045c0b99e3 Code completion result cache: implement cache invalidation
Swift SVN r9656
2013-10-24 21:46:11 +00:00
Dmitri Hrybenko
b7d3a23518 Code completion result cache: use libcache
Swift SVN r9653
2013-10-24 20:59:28 +00:00
Jordan Rose
2aeba96d53 Use SourceFile in a few more places.
- Local name lookup
- AST verification
- Delayed parsing
- Type checker, for the file kind
- Context of synthesized REPL decls

Swift SVN r9648
2013-10-24 18:59:26 +00:00
Argyrios Kyrtzidis
d64313d169 [IDE] Use a switch to convert to CodeCompletionDeclKind, to make sure we cover every decl kind.
Also add the GenericTypeParam for kind.

Swift SVN r9640
2013-10-24 17:47:26 +00:00
Dmitri Hrybenko
7b5e0db0f1 Simplify code and fix a bug: we can have computed properties in an extension
Swift SVN r9637
2013-10-24 04:47:35 +00:00
Argyrios Kyrtzidis
881e646632 [IDE] Introduce CodeCompletionDeclKind enum to encapsulate a bit more info than the DeclKind (e.g. whether the function is an instance/static method).
Swift SVN r9635
2013-10-24 04:33:51 +00:00
Dmitri Hrybenko
8d8b60f973 Code completion: implement result caching per-imported module across muptiple
ASTContexts

This introduces swift::ide::CodeCompletionCache, which is a persistent code
completion result cache.

Right now REPL happens to use it (try importing Cocoa and doing code
completion), and the difference is noticeable.  But completion in REPL is
still slow, because Cocoa goes through the AST Verifier on every completion
(for unknown reasons).

This commit does not implement cache invalidation yet, and it does not use
libcache to evict cache entries under memory pressure.

This commit also introduces two regressions:
- We get fewer Cocoa results that expected.  Module::isModuleVisible in Clang
does not incorrectly reports that that ObjectiveC.NSObject submodule is not
visible from Cocoa.

- We are not implementing the decl hiding rules correctly.  We used to rely on
visible decl lookup to do it for us, but now we have a different data structure
we have real decls from the current module and we have a text-only cache, so we
are forced to reimplement this part of name lookup in code completion.


Swift SVN r9633
2013-10-24 02:13:34 +00:00
Sonny Falk
ff0a037ae6 [IDE] Add initial document structure annotation support.
Swift SVN r9597
2013-10-22 20:54:46 +00:00
Sonny Falk
fdb71c03d0 [IDE] Rename SyntaxColoring since it's about to handle more than coloring.
Swift SVN r9595
2013-10-22 19:49:29 +00:00
Dmitri Hrybenko
c495dafeb0 Code completion: assign "OtherModule" semantic context to Axle results
From user's point of view, these completions refer to types from the standard
library.


Swift SVN r9582
2013-10-22 08:08:18 +00:00
Dmitri Hrybenko
238d898a0d Code completion for enums: model completion in switch case as a separate kind
of completion.  This approach (rather than SourceLoc tricks) better reflects
the intent and allows us to fix the rest of testcases.


Swift SVN r9557
2013-10-21 20:58:23 +00:00
Dmitri Hrybenko
63c264446d Code completion for enums: complete "switch e { case .#^A^#"
Swift SVN r9551
2013-10-21 18:53:31 +00:00
Dmitri Hrybenko
0bf1e89fb1 Code completion: remove debug output, it is not useful
Swift SVN r9522
2013-10-20 06:18:24 +00:00
Dmitri Hrybenko
55d7744c76 Code completion: don't copy static strings to a separate allocator
Swift SVN r9486
2013-10-18 18:16:14 +00:00
Dmitri Hrybenko
4ce90a83a9 Code completion: move result builder to a private header
Swift SVN r9485
2013-10-18 18:13:23 +00:00
Dmitri Hrybenko
4e29c56cdd Code completion: don't copy static strings into a separate allocator
Swift SVN r9484
2013-10-18 18:04:41 +00:00
Dmitri Hrybenko
ae03a13d54 Code completion: complete tuple memebrs
Swift SVN r9483
2013-10-18 17:49:34 +00:00
Dmitri Hrybenko
a3bf2b477f Code completion: basic completion for qualified references to enum elements
Swift SVN r9453
2013-10-17 18:35:40 +00:00
Dmitri Hrybenko
de6a0a0f8c Code completion: complete references to enum elements in switch statements when
we have enough type context to find the correct enum


Swift SVN r9439
2013-10-17 02:09:49 +00:00
Dmitri Hrybenko
2415cd9028 Code completion: rename a variable for consistency with AST node name
Swift SVN r9425
2013-10-16 22:28:26 +00:00
Dmitri Hrybenko
278cbad8a4 Code completion: don't produce any results in enum case. Only integer literals
are allowed in that context.


Swift SVN r9383
2013-10-15 22:45:54 +00:00
Dmitri Hrybenko
0f93a9277d Code completion: complete '!' and '?' on Optional<T>
rdar://14848266


Swift SVN r9377
2013-10-15 21:36:42 +00:00