Commit Graph

30 Commits

Author SHA1 Message Date
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
Xi Ge
527482cc16 swift-api-digester: simplify some APIs by centralizing memory management. NFC (#5827) 2016-11-16 17:34:31 -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
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
Xi Ge
87d22acb67 [swift-api-digester] Ensure we exclude decls of low accessibility from the API comparison. (#5382) 2016-10-20 12:02:37 -07:00
Xi Ge
647f65ea21 swift-api-digester: teach the tool to output constructors' parameter type changes. (#5351) 2016-10-18 13:03:21 -07:00
Xi Ge
8212646c10 [swift-api-digester] caching the equality comparison results among SDKNodes. (#5297)
During the lifetime of analysing source-breaking changes, we may compare
the equality of two SDKNodes more than once, which makes the comprison
results amenable for caching. This patch implemented it. NFC
2016-10-14 16:21:19 -07:00
Argyrios Kyrtzidis
54163ee243 [swift-api-digester] Add option to be able to pass a system framework search path. 2016-10-14 15:25:21 -07:00
practicalswift
6a614767f5 Clean up swift-api-digester: Remove dead code. Fix typos. Fix headers. (#5280) 2016-10-14 11:32:25 -07:00
Xi Ge
edea59722e api-digester: teach the tool to detect new mutating/throwing functions (#5284) 2016-10-13 21:04:39 -07:00
Xi Ge
55f194b3ef api-digester: in module dump, record whether a func decl is mutating. 2016-10-13 11:57:42 -07:00
Xi Ge
ab9b035dbc [test] api-digester: add a test to ensure the dumped module content is expected. 2016-10-13 11:53:07 -07:00
Xi Ge
452ebbc6eb [Tools] Add a tool to detect source-breaking API changes introduced from libraries. (#5236)
[Tools] Add a tool to detect source-breaking API changes introduced from libraries.

swift-api-digester is a test utility to detect source-breaking API changes
during the evolution of a swift library. The tool works on two phases:
(1) dumping library contents as a json file, and (2) comparing two json
files textually to report interesting changes.

During phase (1), the api-digester looks up every declarations inside
a module and outputs a singly-rooted tree that encloses interesting
details of the API level.

During phase (2), api-digester applies structure-information comparision
algorithms on two given singly root trees, trying to figure out, as
precise as possible, the branches/leaves in the trees that differ from
each other. Further analysis decides whether the changed leaves/branches
can be reflected as source-breaking changes for API users. If they are,
the output of api-digester will include such changes.

Also, this commit includes a regression test that make sure API changes
from the Swift stdlib are expected.
2016-10-11 19:43:01 -07:00