Commit Graph

211 Commits

Author SHA1 Message Date
Xi Ge
8b26dd000f swift-api-digester: Various improvements for migrator script generation. (#8745)
* swift-api-digester: Add a test for generating migrator script.

* swift-api-digester: Add #ifndef guard before each macro category.

* swift-api-digester: Avoid printing macro categories with empty content.

* swift-api-digester: Add test for multiple type changes in a single decl.

* swift-api-digester: simplify some code. NFC
2017-04-13 15:02:04 -07:00
Xi Ge
7ccef06aa8 Swift-api-digester: check self-parameter explicitly instead of using its context. NFC (#8660) 2017-04-10 13:53:48 -07:00
Xi Ge
6a44e67b8c swift-api-digester: simplify some Twine API calls. NFC (#8604) 2017-04-06 17:00:52 -07:00
Jordan Rose
3456d04925 "-swift-version 3" means Swift 3.1, not 3.0. (#7883)
Put in a general mechanism for mapping user-specified "compatibility
versions" to proper "effective versions" (what #if and @available
checking should respect). This may still be different from the
intrinsic "language version"; right now master is considered a "3.1"
compiler with a "Swift 4 mode", and we plan to ship a "4.0" compiler
with a "Swift 3 mode" that will have a version number of something
like "3.2".

rdar://problem/29884401 / SR-3791
2017-03-03 13:28:01 -08:00
Xi Ge
f4e478e93f swift-api-digester: use 0-based parameter index. rdar://30763215 2017-03-02 16:48:19 -08:00
Argyrios Kyrtzidis
ca906d1e99 Add '-Fsystem' framework search option to indicate path for frameworks that should be treated as 'system'
This has the effect of propagating the search path to the clang importer as '-iframework'.
It doesn't affect whether a swift module is treated as system or not, this can be done as follow-up enhancement.
2017-02-14 16:13:25 -08:00
Hugh Bellamy
f001b7562b Use relatively new LLVM_FALLLTHROUGH instead of our own SWIFT_FALLTHROUGH 2017-02-12 10:47:03 +07:00
Bob Wilson
37e7d1c627 Merge remote-tracking branch 'origin/master' into master-next 2017-01-08 17:07:46 -08:00
Brian Gesiak
663b92ece9 [AST] Completely replace Module with ModuleDecl
The typedef `swift::Module` was a temporary solution that allowed
`swift::Module` to be renamed to `swift::ModuleDecl` without requiring
every single callsite to be modified.

Modify all the callsites, and get rid of the typedef.
2017-01-08 00:36:08 -05:00
practicalswift
6d1ae2a39c [gardening] 2016 → 2017 2017-01-06 16:41:22 +01:00
Bob Wilson
78b28243ff Merge remote-tracking branch 'origin/master' into master-next 2017-01-03 14:22:59 -08:00
practicalswift
9d0b2abfc2 [gardening] Normalize end-of-namespace comments 2016-12-17 22:29:07 +01:00
practicalswift
38be6125e5 [gardening] C++ gardening: Terminate namespaces, fix argument names, ...
Changes:
* Terminate all namespaces with the correct closing comment.
* Make sure argument names in comments match the corresponding parameter name.
* Remove redundant get() calls on smart pointers.
* Prefer using "override" or "final" instead of "virtual". Remove "virtual" where appropriate.
2016-12-17 00:32:42 +01:00
Slava Pestov
2c6b9f71b6 AST: Change TypeAliasDecls to store an interface type as their underlying type
- TypeAliasDecl::getAliasType() is gone. Now, getDeclaredInterfaceType()
  always returns the NameAliasType.

- NameAliasTypes now always desugar to the underlying type as an
  interface type.

- The NameAliasType of a generic type alias no longer desugars to an
  UnboundGenericType; call TypeAliasDecl::getUnboundGenericType() if you
  want that.

- The "lazy mapTypeOutOfContext()" hack for deserialized TypeAliasDecls
  is gone.

- The process of constructing a synthesized TypeAliasDecl is much simpler
  now; instead of calling computeType(), setInterfaceType() and then
  setting the recursive properties in the right order, just call
  setUnderlyingType(), passing it either an interface type or a
  contextual type.

  In particular, many places weren't setting the recursive properties,
  such as the ClangImporter and deserialization. This meant that queries
  such as hasArchetype() or hasTypeParameter() would return incorrect
  results on NameAliasTypes, which caused various subtle problems.

- Finally, add some more tests for generic typealiases, most of which
  fail because they're still pretty broken.
2016-12-15 22:46:15 -08:00
Xi Ge
583da52348 swift-api-digester: re-enable swift-api-digester tests after fixing a release-only failure. rdar://29591753 (#6276) 2016-12-14 17:00:24 -08:00
Bob Wilson
deddf19aae Merge remote-tracking branch 'origin/master' into master-next 2016-12-13 10:23:03 -08:00
Hugh Bellamy
0f1ffc85bb Fix warnings build swift-api-digester with MSVC 2016-12-11 12:09:37 +00:00
Xi Ge
d3b5dfa8d9 Revert "swift-api-digester: initialize vector with a reasonable capacity." (#6184)
This did not resolve the test failure.
2016-12-09 18:39:29 -08:00
Xi Ge
e6dcd443eb swift-api-digester: initialize vector with a reasonable capacity.
In Jenkins bot, we've seen "exception std::length_error: vector" for
api-digester tests. Tentatively, this patch initializes a major vector with a
reasonably large size, which may avoid its wild capacity growth.
2016-12-09 16:45:18 -08:00
Bob Wilson
13da3fa8b1 Merge remote-tracking branch 'origin/master' into master-next 2016-12-04 18:16:09 -08:00
Xi Ge
3b68ca2936 [IDE][Utils] Elevate a decl name viewer utility from swift-api-digester.
This utility parses a given StringRef to a base name and several argument
names and provides a convenient view on them.
2016-12-01 16:29:08 -08:00
Slava Pestov
f6e692198c AST: Remove FuncDecl::getResultType() 2016-11-29 03:05:23 -07:00
Slava Pestov
69e7cca64f AST: Remove ConstructorDecl::getResultType() 2016-11-29 03:05:22 -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
Slava Pestov
6db43138fa AST: Remove ConstructorDecl::getResultType() 2016-11-24 02:35:30 -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
Xi Ge
2db243723a swift-api-digester: fix a crash when an SDKNode matches a null node. rdar://29312301 2016-11-17 11:28:19 -08:00
Bob Wilson
6ca7872ba5 Merge remote-tracking branch 'origin/master' into master-next 2016-11-16 22:12:23 -08:00
Xi Ge
527482cc16 swift-api-digester: simplify some APIs by centralizing memory management. NFC (#5827) 2016-11-16 17:34:31 -08:00
Bob Wilson
f10ae47b9f Merge remote-tracking branch 'origin/master' into master-next 2016-11-15 17:32:28 -08:00
practicalswift
38351faefc [gardening] Fix recently introduced typos 2016-11-11 18:35:01 +01:00
Xi Ge
adf0408cad swift-api-digester: perform deep comparison to ensure type alias are considered equivalent. rdar://29182045 2016-11-10 12:22:06 -08:00
Xi Ge
f3a13e3989 swift-api-digester: when comparing name alias, comparing the underlying types. rdar://29182045 2016-11-09 16:59:49 -08:00
Xi Ge
368247604f swift-api-digester: consider name alias type as a standalone node kind. (#5701)
* swift-api-digester: consider name alias type as a standalone node kind.

* [test] Update the swift-api-digester dump for stdlib to honor new name alias node.
2016-11-09 16:44:27 -08:00
Xi Ge
914abce487 swift-api-digester: refactor to a switch statement. 2016-11-04 15:43:52 -07:00
Xi Ge
327759c148 swift-sdk-digester: simplify change descriptions to allow empty expected output. 2016-11-01 13:54:35 -07:00
swift-ci
136c86b029 Merge pull request #5560 from nkcsgexi/digester-ownership 2016-10-31 14:14:21 -07:00
Xi Ge
725aef7ed3 swift-api-digester: reference ownership changes considered source-breaking. 2016-10-31 13:33:07 -07:00
practicalswift
599d279219 Merge pull request #5514 from practicalswift/gardening-20161028
[gardening] Fix recently introduced typos.
2016-10-29 10:29:13 +02:00
Xi Ge
fd36b92dbd try to build swift-api-digester on linux. 2016-10-28 16:35:34 -06:00
practicalswift
59a2b28239 [gardening] Fix recently introduced typos. 2016-10-28 22:28:55 +02:00
Bob Wilson
b227f45b7e Merge remote-tracking branch 'origin/master' into master-next 2016-10-27 22:28:28 -07:00
Xi Ge
4475b07613 swift-api-digester: teach the tool to keep track of ownership attributes. 2016-10-27 11:55:24 -07:00
Xi Ge
a0678c349c swift-api-digester: allow function types to be matched with other types. 2016-10-25 22:21:42 -07:00
Xi Ge
63c341892e swift-api-digester: Refactor out several global variables. NFC 2016-10-24 22:49:57 -07:00
Xi Ge
ad3a9f276b [swift-api-digester] Detect static decls become non-static and also the other way around. 2016-10-24 17:13:34 -07:00
swift-ci
35f22b3f4d Merge pull request #5401 from nkcsgexi/digester-static 2016-10-21 14:48:28 -07:00
Xi Ge
b8ee47c80b [sdk-api-digester] Record whether a value decl is static.
Changing a static member to a non-static one, or the other way around,
can be source-breaking.
2016-10-21 14:08:39 -07:00
Xi Ge
6bfba48055 Revert "[swift-api-digester] caching the equality comparison results among SDKNodes. (#5297)" (#5391)
Practical measurement suggests the efficiency improvement is
negligible, thus revert it.
2016-10-20 18:43:03 -07:00