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
6a198b151a
swift-module-digester: keep track of whether a decl is internal.
2018-09-30 18:53:35 -07:00
Xi Ge
226811007b
swift-module-digester: refactor diagnostics logic. NFC
2018-09-29 20:18:29 -07:00
Xi Ge
d15f611acd
Merge pull request #19620 from nkcsgexi/include-operator
...
swift-module-digester: include operator overloads in the module dump.
2018-09-28 20:35:57 -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
b9c1cdefed
swift-module-digester: keep track of whether a property or subscript has storage.
2018-09-28 11:36:36 -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
3dfe615d27
swift-module-digester: keep track of whether a class member is open.
2018-09-27 13:18:11 -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
de05cbc350
swift-module-digester: more refactoring to exclude empty values in the dump.
2018-09-27 11:34:56 -07:00
Xi Ge
52e05e1495
swift-module-digester: always canonicalize super class types.
2018-09-27 11:16:15 -07:00
Xi Ge
637017de90
Merge branch 'apple-master' into simplify-module-digester
2018-09-26 15:21:51 -07:00
Xi Ge
aaffbd1ca5
swift-module-digester: some refactoring on node serialization. NFC
2018-09-26 15:17:25 -07:00
Xi Ge
67c7d377a5
swift-module-digester: exclude TypeAliasDecl entirely when checking ABI stability.
2018-09-26 11:15:52 -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
c0556cc4dd
swift-module-digester: keep track of whether a decl overrides in the dump.
2018-09-25 11:04:55 -07:00
Xi Ge
0d9f92b1a7
swift-module-digester: include the entire class inheritance chain in module dump.
2018-09-24 16:56:10 -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
6e3529050d
swift-module-digester: changing super classes is API breaking.
2018-09-24 13:33:26 -07:00
Xi Ge
9db65f8527
swift-module-digester: removing super classes is API breaking.
2018-09-24 12:51:20 -07:00
Xi Ge
2909c222dc
swift-module-digester: keep track of super class names in the module dump
2018-09-24 12:33:33 -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
15377ecac7
swift-module-digester: don't include private setters.
2018-09-21 17:23:44 -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
0658dca6bb
swift-module-digester: use non-resilient type consistently across diagnostics.
2018-09-19 13:17:08 -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
0eb756f2f4
swift-module-digester: serialize whether a declaration is implicit.
2018-09-18 12:59:16 -07:00
Xi Ge
e4388af6be
swift-module-digester: refactor the ABI/API diagnostics to use DiagnosticEngine. NFC ( #18957 )
...
Before this patch, we used to define tooling-specific diagnostics. With adding more
checking logics, we found this mechanism hard to extend. This patch
eliminates the home-made diagnostics model to use the one from compiler, which provides
several benefits: less boiler-templates, better integration with DiagnosticConsumer,
and easy ordering of detected issues.
2018-08-24 13:11:32 -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
45f9e4437d
swift-api-digester: add a new flag to indicate whether the tool is checking ABI stability. ( #18707 )
...
When this flag turns on, all type nodes and generic signatures are canonicalized.
2018-08-14 14:10:59 -07:00
Xi Ge
5ea6eae2a3
swift-api-digester: include generic signature printing in the module dump. ( #18686 )
2018-08-14 08:01:23 -07:00