Commit Graph

1230 Commits

Author SHA1 Message Date
Karoy Lorentey
1aaf56d6a3 [test] FooRuncingOptions.init<S>(_:) has grown an __owned modifier 2018-09-24 16:29:42 +01:00
Nathan Hawes
8be6b49563 Merge pull request #19439 from nathawes/fix-line-col-conversion
[sourcekit] Fix line+column -> offset conversion when on the last line of a file with no terminating newline
2018-09-21 15:48:59 -07:00
Ben Cohen
ae6f5dd604 [stdlib] Add consuming/owned annotations to Collection implementations (#19360)
* Add consuming/owned annotations to Collection implementations

* Update SILOptimizer tests

* Fix access_marker_verify test

* XFAIL reconstruct_type_from_mangled_name
2018-09-21 12:06:56 -07:00
Nathan Hawes
44f4df49df [sourcekit] Fix line+column -> offset conversion when on the last line of a file with no terminating newline
This was causing local refactorings (which are line+column-based) to fail due to
the provided location being considered invalid, even though the available
refactorings request (which uses offset directly) reported them as available.
2018-09-20 18:25:45 -07:00
Erik Eckstein
39bb14b094 change mangling prefix from $S to $s
This is the final ABI mangling prefix

rdar://problem/38471478
2018-09-19 13:55:11 -07:00
Davide Italiano
ef46ec08fc [AST] Update tests now that we preserve sugar. 2018-09-18 09:23:02 -07:00
Harlan
665db876ea [InterfaceGen] Print bodies of inlinable functions in textual interfaces (#19224)
* Introduce stored inlinable function bodies

* Remove serialization changes

* [InterfaceGen] Print inlinable function bodies

* Clean up a little bit and add test

* Undo changes to InlinableText

* Add serialization and deserialization for inlinable body text

* Allow parser to parse accessor bodies in interfaces

* Fix some tests

* Fix remaining tests

* Add tests for usableFromInline decls

* Add comments

* Clean up function body printing throughout

* Add tests for subscripts

* Remove comment about subscript inlinable text

* Address some comments

* Handle lack of @objc on Linux
2018-09-14 10:23:15 -07:00
Slava Pestov
c51f884879 SourceKit: Just always call getFormalAccess() 2018-09-05 16:51:20 -07:00
Jordan Rose
63cd1258ea Stop using SourceManager::getBufferIdentifierForLoc to find buffer IDs
The right way is findBufferContainingLoc. getBufferIdentifierForLoc is
both slower and wrong in the presence of #sourceLocation.

I couldn't come up with a test for the change in IDE/Utils.cpp because
refactoring still seems to be broken around #sourceLocation. I'll file
bugs for that.
2018-08-29 11:46:41 -07:00
Jordan Rose
9a794531c7 [SourceKit] Honor #sourceLocation in reporting diagnostics 2018-08-29 11:46:41 -07:00
Jordan Rose
6b0e173c36 Merge pull request #18779 from jrose-apple/overconstrained
[AST] Fix printing of extensions' generic signatures
2018-08-23 10:01:27 -07:00
Rintaro Ishizaki
b31bd99313 Merge pull request #18754 from rintaro/ide-rdar41593893
[IDE] Fix a crasher in SynthesizedExtensionAnalyzer
2018-08-18 15:19:14 +09:00
Jordan Rose
859b31f9c6 [AST] Fix printing of *un*constrained generic extensions
We were redundantly printing constraints that were implied by the base
type (the type being extended). Rather than special-casing constraints
on a protocol's 'Self' type, omit any requirements that are already
satisfied by the extended type instead.

https://bugs.swift.org/browse/SR-7413
2018-08-17 19:26:47 -07:00
Jordan Rose
b9e0d7f5b8 [AST] Fix printing of constrained protocol extensions
We wanted to omit the 'Self: TheProtocolBeingExtension' part of the
generic signature, but the logic that was there accidentally omitted
/all/ constraints on Self.
2018-08-17 19:26:47 -07:00
Jordan Rose
fa8ac95fd0 Don't print 'convenience' on protocol extension initializers (#18777)
We model them that way in the compiler, but that's not part of the
user-level language.

rdar://problem/32067077
2018-08-17 19:25:40 -07:00
Jordan Rose
5a8cbe4503 [AST] Never print access levels on protocol requirements
We might allow this at some point in the future, but for now we should
stick to the syntax that people write in source.

rdar://problem/26746605
2018-08-16 16:00:49 -07:00
Rintaro Ishizaki
baa690306d [IDE] Fix a crasher in SynthesizedExtensionAnalyzer
Count inheritance by 'getInheritedForPrinting()' (align with ASTPrinter).

rdar://problem/41593893
2018-08-16 20:09:44 +09:00
Rintaro Ishizaki
c68157a27d [CodeCompletion] Remove unresolved type in prepareForRetypechecking()
Unresolved type attached to expressions may fail re-typechecking.
Also, disallow unresolved type in typeCheckCompletionSequence(). It doesn't
provide useful completions to developers.

rdar://problem/41224316
2018-08-15 20:39:12 +09:00
Doug Gregor
e21673df9e [SourceKit] Test case fix-up because we’re not validating quite as eagerly. 2018-08-14 01:05:43 -07:00
Jordan Rose
0e10f89964 Preserve default argument text through serialization (#18579)
This allows us to dump it in the generated interface, though it's
still not syntax-highlighted. This is necessary for textual module
interfaces, but it's also just a longstanding request for Xcode's
"Generated Interface" / "Jump to Definition" feature.

rdar://problem/18675831
2018-08-09 11:06:22 -07:00
swift-ci
71f0248b0a Merge remote-tracking branch 'origin/master' into master-next 2018-08-06 11:07:55 -07:00
Doug Gregor
3018becde7 [Type checker] Eliminate type checking from early extension binding.
Use ExtensionDecl::getExtendedNominal() to wire up extensions to their
nominal types early in type checking (the bindExtensions()) operation,
rather than going through type validation to do so.
2018-08-03 11:26:49 -07:00
swift-ci
b60e24a162 Merge remote-tracking branch 'origin/master' into master-next 2018-08-01 18:29:04 -07:00
Rintaro Ishizaki
399fece7f5 [SourceKit] Dedicated error message for 'offset' + 'length' out of range 2018-08-02 09:29:28 +09:00
Rintaro Ishizaki
930d4342cd [SourceKit] Defensive guard for invalid offset and length in edit request
Otherwise, hits assertion, or crashes in no-assertion build.

Added 'EditableTextBuffer::getSize()' for getting size after previous updates
without actually applying them.

rdar://problem/34206143
2018-08-01 20:02:15 +09:00
swift-ci
5830e237ff Merge remote-tracking branch 'origin/master' into master-next 2018-07-31 13:29:50 -07:00
Jordan Rose
2dfa303975 [Serialization] Preserve source order in serialization (#18361)
We previously shied away from this in order to not /accidentally/
depend on it, but it becomes interesting again with textual
interfaces, which can certainly be read by humans. The cross-file
order is the order of input files, which is at least controllable by
users.
2018-07-31 13:15:07 -07:00
swift-ci
287ce7bbbd Merge remote-tracking branch 'origin/master' into master-next 2018-07-30 15:10:04 -07:00
Alex Hoppen
3deee08f70 Merge pull request #18314 from ahoppen/remove-syntax-classifier
[libSyntax] Remove the C++ SyntaxClassifier
2018-07-30 14:52:15 -07:00
swift-ci
be19f650fd Merge remote-tracking branch 'origin/master' into master-next 2018-07-30 10:08:59 -07:00
Xi Ge
4b379db1bf Merge pull request #18231 from keith/ks/indent-closing-square
IDE: Fix formatting of closing square brackets
2018-07-30 09:51:32 -07:00
Alex Hoppen
749a13a6fe [libSyntax] Remove the C++ SyntaxClassifier
The recommended way forward is to use the SyntaxClassifier on the Swift
side.

By removing the C++ SyntaxClassifier, we can also eliminate the
-force-libsyntax-based-processing option that was used to bootstrap
incremental parsing and would generate the syntax map from a syntax
tree.
2018-07-30 09:26:18 -07:00
Keith Smiley
2d91af2077 IDE: Fix formatting of closing square brackets
Previously closing square brackets would be caught in the logic for
elements in collections, indenting them to the same level. Now they are
indented with the normal non-sibling logic, which indents them
correctly.
2018-07-25 20:27:32 -07:00
swift-ci
879a10aa57 Merge remote-tracking branch 'origin/master' into master-next 2018-07-25 15:29:05 -07:00
Bob Wilson
6786eda69c [master-next] Update more tests for LLVM r336847
LLVM r336847 changed FileCheck's CHECK-DAG feature to stop supporting
overlapping matches. I already fixed one test by invoking FileCheck with the
-allow-deprecated-dag-overlap option, but it turns out there are a bunch
more of them. This change applies the same workaround to all of them.
2018-07-24 23:29:20 -07:00
Rintaro Ishizaki
7ca7e4459d [IDE] Fix asstion failure when querying cursor info in defer statement body
If walking into body of defer statement returns nullptr, it indicates
*cutting-off* walking. Previously there was wrong assertion where it
must be unmodified, non-nullptr return.

rdar://problem/41100570
2018-07-25 08:33:46 +09:00
swift-ci
9b12d01fc2 Merge remote-tracking branch 'origin/master' into master-next 2018-07-17 09:09:17 -07:00
Alex Hoppen
3bf94abbfc Merge pull request #17621 from ahoppen/002-sytnax-tree-based-coloring
[libSyntax] Syntax colouring based on the syntax tree
2018-07-17 08:54:51 -07:00
swift-ci
ad8ce7e56f Merge remote-tracking branch 'origin/master' into master-next 2018-07-14 16:29:03 -07:00
Alex Hoppen
6bc1b5a389 [libSyntax] Add test variants for building the syntax map via libSyntax 2018-07-13 17:57:00 -07:00
Mark Lacey
8ee52763f0 Remove the '++' and '--' operators.
We still had unavailable versions of these for floating-point types
only. We shouldn't need to keep these around, and can instead just
emit a helpful diagnostic for anyone that attempts to use them.

Unfortunately I don't see any way for the diagnostic to produce an
actual fix-it, so it just suggests '+= 1' or '-= 1' without actually
producing a fix.
2018-07-12 15:46:57 -07:00
swift-ci
7e6c2198d1 Merge remote-tracking branch 'origin/master' into master-next 2018-07-10 22:49:20 -07:00
Rintaro Ishizaki
18ec4adb2e Merge pull request #17753 from rintaro/sourcekit-rdar40646921-2
[SourceKit] Use "-" as fallback complier argument
2018-07-11 14:30:02 +09:00
swift-ci
73dea94f21 Merge remote-tracking branch 'origin/master' into master-next 2018-07-07 08:49:45 -07:00
Ben Cohen
a6952decab [stdlib] Remove inlineable annotation from transparent functions (#17800)
* Remove inlineable annotation from transparent functions
2018-07-07 08:47:02 -07:00
swift-ci
38bf662945 Merge remote-tracking branch 'origin/master' into master-next 2018-07-05 06:49:46 -07:00
Rintaro Ishizaki
423af2a287 [SourceKit] Add test case for empty and problematic 'request.name' 2018-07-05 16:40:41 +09:00
Rintaro Ishizaki
2b0728bc95 [SourceKit] Use "-" as fallback complier argument
Since compiler arguments are processed by Driver, arbitrary filename
passed as 'request.name' (e.g. "", "-1", etc.) may cause problems.
Using '-' guarantees successful initialization of 'CompilerInvocation'.

rdar://problem/40646921
rdar://problem/40955808
2018-07-05 16:11:51 +09:00
Doug Gregor
a3e03fae1b [Type checker] Make sure 'dynamic' gets set consistently.
'dynamic' is inherited and only applies to '@objc' entities.

The SourceKit test change is because we've changed our behavior
slightly: we won't infer @objc from an override unless the override is
correctly marked with 'override'. This is part of breaking up
dependencies, and should have little effect outside of tests.
2018-07-03 21:47:59 -07:00
swift-ci
d4c4829131 Merge remote-tracking branch 'origin/master' into master-next 2018-06-27 16:29:20 -07:00