Xi Ge
f7406e6c3c
swift-api-digester: diagnose changing of the necessity of new witness table entry as ABI breakage
...
Protocol requirements may not necessarily add new entries to the witness table if
it's inherited from super protocol. This patch teaches the json dump to
include a flag indicating whether a protocol requirement requires new
witness table entry and diagnoses the change of such flag as ABI
breakages.
rdar://47657204
2019-04-01 20:29:44 -07:00
Xi Ge
49c16922dd
swift-module-digester: diagnose type witness type changes when checking ABI stability.
2018-10-25 16:40:23 -07:00
Xi Ge
382e27f4ab
swift-module-digester: diagnose adding/removing final as ABI/API breakages.
2018-10-08 13:19:54 -07:00
Xi Ge
bfadd46d57
swift-module-digester: diagnose non-final function changes in non-resilient classes.
2018-10-08 12:15:55 -07:00
Xi Ge
a1e66a0515
swift-module-digester: diagnose value ownership changes for parameters.
2018-10-04 18:02:45 -07:00
Xi Ge
58b3c2173f
swift-module-digester: use getEffectiveAccess() to get accessibility when checking ABI stability.
...
This allows us to include internal decls with @usableFromInline attribute, whose stored property
changes can effect ABI.
2018-10-03 14:06:53 -07:00
Xi Ge
c2c04875d0
swift-module-digester: diagnose operator *fix notation changes.
2018-10-02 15:04:23 -07:00
Xi Ge
8e81b59f4e
swift-module-digester: diagnose fixed-order property changes to computed property and vice versa as ABI breakage.
2018-10-01 15:54:14 -07:00
Xi Ge
7b45ae9135
swift-module-digester: diagnose adding/removing @escaping as ABI breakage.
2018-09-27 17:43:02 -07:00
Xi Ge
6665b56e9d
swift-module-digester: changing open class members to public can be source-breaking.
2018-09-27 14:38:59 -07:00
Xi Ge
0afafd1ca4
swift-module-digester: diagnose let to var changes and vice versa as ABI breaking.
2018-09-27 14:25:46 -07:00
Xi Ge
c5444a8e99
swift-module-digester: diagnose optional protocol requirement changes.
2018-09-27 13:45:23 -07:00
Xi Ge
cf03b247d6
swift-module-digester: use super class types instead of super class decls to incorporate generic argument changes.
2018-09-25 11:48:47 -07:00
Xi Ge
e1f4eecadb
swift-module-digester: don't diagnose new protocol requirements if they're inherited.
2018-09-25 11:12:55 -07:00
Xi Ge
2182f5301e
swift-module-digester: fix a false positive when diagnosing super class changes.
2018-09-24 17:31:13 -07:00
Xi Ge
d0cd97e3e5
swift-module-digester: diagnose any decl kind changes for nominal types.
2018-09-24 14:47:19 -07:00
Xi Ge
9db65f8527
swift-module-digester: removing super classes is API breaking.
2018-09-24 12:51:20 -07:00
Xi Ge
4e3f8f4784
swift-module-digester: added protocol requirements can be source-breaking.
2018-09-23 08:48:08 -07:00
Xi Ge
5fbecfaee6
swift-module-digester: removing setter from a subscript decl is API breaking.
2018-09-21 18:40:02 -07:00
Xi Ge
f72620c3b7
swift-module-digester: removing setter from a property is API breaking.
2018-09-21 18:25:12 -07:00
Xi Ge
565fd91a76
swift-module-digester: changing default associated type is API breaking.
2018-09-21 14:38:12 -07:00
Xi Ge
e8c604ff99
swift-module-digester: diagnose removing default associated type as API breakage.
2018-09-21 14:14:39 -07:00
Xi Ge
08c8cf14e5
swift-module-digester: diagnose adding/removing protocol conformances as API breakages.
2018-09-20 15:24:19 -07:00
Xi Ge
f1b43ab66e
swift-module-digester: diagnose removing default argument as API breakage.
2018-09-19 17:40:00 -07:00
Xi Ge
b2a159dbf9
swift-module-digester: diagnose adding variables with fixed binary order.
...
Removing these variables should be detected as API breakages already.
2018-09-19 13:17:08 -07:00
Xi Ge
05e15927a3
swift-module-digester: diagnose reordering of members in a fixed layout type under ABI mode.
2018-09-19 09:36:09 -07:00
Xi Ge
bc79f3011a
swift-api-digester: diagnose removal/addition of dynamic attribute under abi mode.
2018-08-16 16:50:10 -07:00
Xi Ge
07e002ce5e
swift-api-digester: diagnose generic signature change for any declarations.
2018-08-16 11:32:43 -07:00
Xi Ge
17b9a4edf9
swift-api-digester: diagnose the addition and removal of @objc, @_fixed_layout and @_frozen under ABI mode.
2018-08-15 17:49:01 -07:00
Xi Ge
2b05e30756
swift-api-digester: don't assume super classes are always present in the module dump.
...
When we compare the APIs of entire SDKs, we can assume super classes
are always present in the API dump. However, this assumption is invalid
for framework-level API diff checking, where super classes can come from
other modules whose contents are not serialized.
rdar://33110442
2017-07-06 11:49:44 -07:00
Xi Ge
f6e6484437
swift-api-digester: Eliminate false positives introduced by moving a member declaration to super classes.
...
We shouldn't report these moved declarations as source breaking changes.
rdar://32778228
2017-06-21 19:47:07 -07:00
Xi Ge
a644ab33a0
swift-api-digester: fix recently found false positives. ( #8899 )
...
* swift-api-digester: ensure constructors are detected as removed if not moved. rdar://31694119
* swift-api-digester: types with the same printed name are considered behavior-preserving. rdar://31694085
* [test] Using tmp directory from build.
2017-04-20 18:34:52 -07:00
Xi Ge
b089bab40e
swift-api-digester: avoid reporting moved constructors. rdar://31694119 ( #8885 )
...
They don't make more sense than renamed decls.
2017-04-20 12:48:17 -07: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
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
725aef7ed3
swift-api-digester: reference ownership changes considered source-breaking.
2016-10-31 13:33:07 -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
ad3a9f276b
[swift-api-digester] Detect static decls become non-static and also the other way around.
2016-10-24 17:13:34 -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