Sonny Falk
c350114862
[IDE] Fix a typo that caused a crash. <rdar://problem/15580756> Crash in ModelASTWalker::walkToDeclPre() when opening a document in Xcode
...
Swift SVN r10775
2013-12-04 02:45:33 +00:00
Dmitri Hrybenko
e974992039
Code completion: when completing a call to a function that comes from a generic
...
nominal, substitute known generic parameters if possible
This should improve code completion experience for generic containers a lot:
(swift) var a = Array<Float>()
// a : Array<Float> = []
(swift) a.
...
Decl[InstanceMethod]/CurrNominal: append({#val: Float#})[#Void#]
...
Decl[InstanceMethod]/CurrNominal: each({#f: (Float) -> Void#})[#Void#]
...
Decl[InstanceMethod]/CurrNominal: enumerate()[#Array<Float>#]
...
Decl[InstanceMethod]/CurrNominal: next()[#Float?#]
...
Decl[InstanceMethod]/CurrNominal: sort({#pred: (Float, Float) -> Bool#})[#Void#]
...
Only implemented for functions. Constructors and subscripts coming soon.
Swift SVN r10774
2013-12-04 02:33:16 +00:00
Dmitri Hrybenko
12c525a4d1
Code completion: add parentheses in all cases when completing enum elements
...
with payloads
Swift SVN r10773
2013-12-04 02:02:28 +00:00
Sonny Falk
69a4cfb866
[IDE] Add InheritedTypeRanges to SyntaxStructureNode.
...
Add tests to cover name source range and inherited types to the structure tests.
Swift SVN r10767
2013-12-04 00:00:23 +00:00
Dmitri Hrybenko
4d827aa7d5
Replace an unnamed namespace with a static specifier on the function
...
Swift SVN r10766
2013-12-03 23:39:30 +00:00
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