Xi Ge
c5550ce2f8
test: regenerate abi stability baseline after recent fixes.
2018-10-05 14:48:56 -07:00
Xi Ge
8a769a0460
swift-module-digester: include non-resilient class decls when checking ABI stability.
2018-10-05 14:48:00 -07:00
Xi Ge
9cfc0dee79
swift-module-digester: keep track of whether a property/subscript has didSet and willSet.
2018-10-05 13:02:31 -07:00
Xi Ge
a1e66a0515
swift-module-digester: diagnose value ownership changes for parameters.
2018-10-04 18:02:45 -07:00
Xi Ge
2d59078a0d
[test] Regenerate ABI/API checker baseline by using stdlib without assertion enabled.
...
If we use a baseline generated from assertion build, the checker will report false-positives
when running in a non-assertion build since some decls only exist in the former.
resolves: rdar://45014723
2018-10-04 15:57:56 -07:00
Xi Ge
b7c9e5798a
[test] regenerated ABI checker baseline to include decls with @usableFromInline.
2018-10-03 14:56:24 -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
4b8507c858
[test] Regenerate abi and source stability baseline and start running tests for them.
2018-10-01 15:14:58 -07:00
Xi Ge
b3614a4b6f
swift-module-digester: include unavailable variables with fixed layout order when checking ABI stability.
2018-10-01 15:02:41 -07:00
Xi Ge
9fcc59bcaf
swift-module-digester: include operator declarations in the module dump.
...
Their changes should have no impact on ABI, but can be source-breaking.
2018-10-01 12:28:54 -07:00
Xi Ge
a6f886c8b7
swift-module-digester: include operator overloads in the module dump.
2018-09-28 17:41:52 -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
aa1ae1607a
swift-module-digester: keep track of whether a VarDecl is let.
2018-09-27 12:52:58 -07:00
Xi Ge
52e05e1495
swift-module-digester: always canonicalize super class types.
2018-09-27 11:16:15 -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
c0556cc4dd
swift-module-digester: keep track of whether a decl overrides in the dump.
2018-09-25 11:04: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
a64ae05454
swift-module-digester: keep track of whether a protocol member is a requirement.
2018-09-23 08:25:07 -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
01afc3395e
swift-module-digester: include SubscriptDecl in the Json dump.
...
We model SubscriptDecl as an abstract function decl with a flag indicating
whether setter is defined.
2018-09-21 17:00:52 -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
6500e321aa
swift-module-digester: include AssociatedTypeDecl in module digests.
2018-09-21 14:04:21 -07:00
Xi Ge
6cc5855bcf
swift-module-digester: when we have multiple extensions to a single external type, we should synthesize only one type decl node.
2018-09-20 16:13:40 -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
971755d5a3
swift-module-digester: under ABI checking mode, include private decls with fixed binary order.
2018-09-19 12:10:00 -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
b78c9eb328
swift-api-digester: ensure the sdk-dump includes extensions from types of other modules. rdar://42266041
2018-07-20 17:26:22 -07:00
Saleem Abdulrasool
bc27395838
Inputs: sprinkle _Null_unspecified to silence nullability-completness
...
When trying to figure out errors from an import failure, the nullability
completeness warnings would clutter the output making it difficult to
identify the errors. Sprinkle the declaarations with
`_Null_unspecified` to maintain the current nullability semantics and
silence the warnings. NFC.
2018-06-11 09:23:22 -07:00
Xi Ge
82ca0a1891
swift-api-digester: detect type alias of raw types change to RawRepresentableStructs.
...
Related to: rdar://40076487
2018-05-23 12:23:47 -07:00
Xi Ge
1556d62bce
swift-api-digester: we should further detect if the declared type of a hoisted variable has been changed. rdar://40076924
2018-05-09 13:42:20 -07:00
Xi Ge
e15c197823
swift-api-digester: detect simple parameter/return type update from String to StringRepresentableStruct.
2018-04-08 13:24:12 -07:00
Xi Ge
3e00fda3e0
swift-api-digester: teach the tool to detect [String] changes to [StringRepresentable].
2018-04-07 10:55:41 -07:00
Xi Ge
cd87f4142d
swift-api-digester: add specific logic to detect optional dictionary's key changes.
...
We've also seen type changes in the frameworks from "[String: Any]?" to
"[StringRepresentable: Any]?". This patch adds specific logic and
attribute for this kind of change on the top of nonnull dictionary
changes.
2018-04-06 16:43:56 -07:00
Xi Ge
9042db57b2
swift-api-digester: ignore synthesized type members from conformed clang protocols.
2018-04-06 12:42:30 -07:00