Commit Graph

1043 Commits

Author SHA1 Message Date
Ben Langmuir
d36708838b [SourceKit] Allow cursorinfo to take a USR instead of an offset
This eventually calls the code from ReconstructType to try to find the
Decl for a USR. For now, only works in a file, not a generated
interface.

rdar://problem/25017817
2016-03-16 09:42:02 -07:00
Xi Ge
a9727dbace ModuleGroup: Add several subgroups. 2016-03-15 17:00:00 -07:00
Ben Langmuir
8030d44826 [SyntaxMap] Fold unary minus into numeric literals
Unlike other prefix operators, unary minus is folded into the
NumberLiteralExpr in the parser. This commit recreates this effect in
the lexer-based syntax map so that token ranges will include the leading
minus.

rdar://problem/20205885
2016-03-15 10:40:52 -07:00
Ben Langmuir
11c8f07cc9 [SourceKit] Annotate dynamic Self type in protocol *extensions*
D'oh, forgot to resolve a FIXME in my protocol commit. Now working there
too except that it's giving USRs on the original protocol instead of the
extension.  It's not clear how to get back to the extension from the
archetype though.

rdar://problem/25128561
2016-03-14 21:34:08 -07:00
Ben Langmuir
d948ed68ac Remove dead FIXMEs from cursor_info test NFC 2016-03-14 19:57:24 -07:00
Ben Langmuir
1b08d83b6f [SourceKit] Annotate class method dynamic Self return types
Pass through the original Type in addition to the TypeDecl so that we
can distinguish DynamicSelfType with underlying ClassType from just any
old ClassType.

rdar://problem/25158493
2016-03-14 19:43:54 -07:00
Ben Langmuir
ca198b0320 [SourceKit] Annotate dynamic Self type in protocols
Treat it like the static Self type, which is good enough for producing
USRs in CursorInfo. This doesn't handle class dynamic self, which needs
some kind of API change to printTypeRef to make it work.

rdar://problem/25128561
2016-03-14 18:17:55 -07:00
Ben Langmuir
0bdf4a9824 Merge pull request #1634 from compnerd/test-fixes-2
fix tests for FileCheck behaviour (DAG edition)
2016-03-14 09:37:42 -07:00
Ben Langmuir
f899413f1d [SourceKit] Annotate default argument keywords #file/#line/...
rdar://problem/25128866
2016-03-13 12:26:10 -07:00
Ben Langmuir
0e8978aaf0 [SourceKit] Annotate parameter noescape/autoclosure attributes
rdar://problem/25128165
2016-03-13 12:26:09 -07:00
Saleem Abdulrasool
4984c96caa fix tests for FileCheck behaviour (DAG edition)
FileCheck does not support the combination negation.  These tests were incorrect
and silently passing rather than checking what they intended.
2016-03-12 20:12:23 -08:00
Ted Kremenek
aec582b6db Merge pull request #1647 from johnno1962a/master
New test for common SourceKit crash
2016-03-12 08:15:53 -08:00
John Holdsworth
b92f09fc12 Add of comment affected line offsets of test 2016-03-12 00:20:08 +00:00
Daniel Duan
7cabf3555b [Parser] update test for SE-0040 changes 2016-03-11 16:01:37 -08:00
John Holdsworth
474f043c93 Make test self-contained using CHECK: 2016-03-11 23:47:42 +00:00
John Holdsworth
3a8a8e080e New test for common SourceKit crash 2016-03-11 23:24:11 +00:00
Xi Ge
5168083bf3 ModulePrinting: Print new lines between members of a decl. 2016-03-11 12:26:04 -08:00
Ben Langmuir
819b5e7d3f Merge pull request #1601 from compnerd/test-fixes
Fix tests for FileCheck behaviour
2016-03-10 15:36:19 -08:00
Saleem Abdulrasool
0b0ea6f984 fix tests for FileCheck behaviour
FileCheck does not support the combination negation.  These tests were incorrect
and silently passing rather than checking what they intended.
2016-03-09 16:44:33 -08:00
Max Moiseev
02006f20bc Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-03-09 16:05:03 -08:00
Ben Langmuir
6581eba8e6 [CodeCompletion] Improve ordering of prefix matches vs popular names
In the experimental code-completion path.

rdar://problem/24843463
2016-03-09 11:23:06 -08:00
Chris Lattner
ae919bd447 implement mangling support for typealias archetypes, allowing them to get basic USRs. 2016-03-08 21:18:39 -08:00
Xi Ge
ce12c6dc95 ModulePrinting: Add an option to synthesize unconditional extensions; true by default. 2016-03-08 18:34:38 -08:00
Ben Langmuir
bac7521af7 [SourceKit] Fix crash with cursor info on generic typealias
For now, just skip mangling the name since we know the decl context will
crash the mangler.
2016-03-08 18:03:42 -08:00
Max Moiseev
1fae0d1325 Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-03-08 12:48:48 -08:00
Ben Langmuir
393550ee58 [SourceKit] Add a couple of missing tests for cursor info 2016-03-07 13:22:42 -08:00
Ben Langmuir
e752de0d20 [SourceKit] Print and annotate the raw value expression of enum elements
For now, only do this in SourceKit (printQuickHelpDeclaration), but
there are probably other printing modes that should do this.

rdar://problem/24292226
2016-03-07 12:36:47 -08:00
Max Moiseev
7fe6916bf6 Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-03-07 12:10:47 -08:00
Ben Langmuir
bd2f100868 [SourceKit] Add keyword tags to a couple of places I missed in TypeRepr printing 2016-03-07 10:37:03 -08:00
Ben Langmuir
d08bf6829e [SourceKit] Add some tuple tests missed in previous commit NFC 2016-03-07 10:24:16 -08:00
Ben Langmuir
3d424b5e96 [SourceKit] Annotate tuple types and nested function types
Move the type callbacks into the respective type/typerepr printers so
taht we get these callbacks even when we print the type directly, or in
a nested fashion.  Also make the returntype more explicit than just
"inside a function type", since visiting the function type currently
visits the input argument tuple (which is different than e.g. the
function *decl* printing, which walks the parameter list explicitly).

rdar://problem/24292226
2016-03-07 10:13:01 -08:00
Ben Langmuir
1ea2d46a04 [SourceKit] Add builtin attribute tags
As promised, tag the whole attribute include all of its 'parameters'.

rdar://problem/24292226
2016-03-03 21:20:14 -08:00
Ben Langmuir
9e3fc1ce74 Remove dead FIXME in cursor info test 2016-03-03 18:40:23 -08:00
Ben Langmuir
ba702b846f [SourceKit] Add tags for attribute names
As a first foray into annotating attribute, add tags around attribute
names. For now, treat any decl-modifiers as keywords. We will also want
to wrap the whole attribute (including any parameters) into tags as
well, but that will require more work in the callback hanlding.

Also factor the attribute printing to handle any special cases early,
which will simplify wrapping attributes in tags, since we can then just
put the whole switch intside the pre/post callbacks.

rdar://problem/24292226
2016-03-03 18:39:21 -08:00
Ben Langmuir
65f0e7eb94 [SourceKit] Add annotation tags for generic type requirements
Each requirement gets tagged. We could also tag the whole where clause
if we need to, but so far it hasn't been interesting.

rdar://problem/24292226
2016-03-03 16:11:07 -08:00
Ben Langmuir
ceb1069199 Prefer original spelling of 'static' vs. 'class'
Try to match the original spelling of static/class in diagnostics and
when printing the AST. Also fixes cases with
PrintOptions.PrintImplicitAttrs = false, where we would just print
'class', which was not valid code.
2016-03-03 13:48:30 -08:00
Ben Langmuir
c934315315 [SourceKit] Update terminology in generic parameter tag names
And add a test that does cursor info on the generic parameter itself,
not just on the parent decl context.

rdar://problem/24292226
2016-03-03 13:34:16 -08:00
Max Moiseev
cf4bafe9e3 Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-03-03 13:22:03 -08:00
Ben Langmuir
1182e41e01 [SourceKit] Add tags for generic parameters to annotated decl
Like typerefs, we want to show the USR in the tag.

rdar://problem/24292226
2016-03-03 12:47:09 -08:00
Ben Langmuir
8f9299cc97 [CodeCompletion] Add assignment to experimental operator completion
When the LHS is an lvalue/assignable tuple and there is no leading
sequence of binary expressions.

It's a bit hacky right now since we don't have a good way to
differentiate general pattern completions from builtin operators.

rdar://problem/23209683
2016-03-02 18:21:37 -08:00
Ben Langmuir
d88d5052aa [SourceKit] Use keyword name context to add syntaxtype.keyword tags
We can now markup most keyword uses.  Still missing access control
keywords.

rdar://problem/24292226
2016-03-02 18:20:59 -08:00
Xi Ge
65a3aade7e [SourceKit] Cursor info: for extension decls, the cursor info query always returns the extended nominal's group name. 2016-03-02 17:30:11 -08:00
Xi Ge
8f1c239d01 [SourceKit] Cursor info: remove type interface since no clients are using it. rdar://24920331 2016-03-02 12:28:02 -08:00
Ben Langmuir
ba2710e493 [CodeCompletion] Fix the mysteriously missing operators
In the experimental operator completion, we were mysteriously missing
some operators like ||.  It turns out it was all operators
alphabetically after '.', because the filtering code was very broken.

rdar://problem/23539465
2016-03-01 18:23:00 -08:00
Ben Langmuir
8955cdc644 [SourceKit] Add decl.var.type tags in property declarations
These Type::print can just reuse the printTypeLoc logic even if they
don't have a TypeRepr.

rdar://problem/24292226
2016-03-01 16:49:33 -08:00
Ben Langmuir
b4469d88dc [SourceKit] Replace decl.name with syntaxtype.keyword as appropriate
We aren't ready to start marking up all keywords yet, but start by
replacing the cases where we currently have decl.name.

rdar://problem/24292226
2016-03-01 15:35:26 -08:00
Ben Langmuir
10c8250352 [SourceKit] Rename local/external to name/argument_label in annotation
rdar://problem/24292226
2016-03-01 15:16:40 -08:00
Max Moiseev
71384c7322 Removing unnecessary test command 2016-02-29 12:13:56 -08:00
Max Moiseev
a49dab6bf8 Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-02-29 12:08:52 -08:00
Xi Ge
f195adba80 Module group: suggested by @gribozavr, move ExistentialCollection.swift to collection/type-erased group. 2016-02-27 21:14:38 -08:00