Commit Graph

30 Commits

Author SHA1 Message Date
David Ungar
cf5d81c889 Merge pull request #23735 from davidungar/tracking-primary
[Batch mode] Cope with bugs that cause error  suppression.
2019-04-05 17:45:20 -07:00
David Ungar
44daa88ebd Format 2019-04-03 12:53:31 -07:00
David Ungar
9cc3a4a9d8 Rename defaultDiagnosticLoc to bufferIndirectlyCausingDiagnostic. 2019-04-03 12:52:49 -07:00
David Ungar
c139c5909a Pass defaultDiagnosticLoc to handleDiagnostic, not currentPrimaryInput. 2019-04-02 22:27:55 -07:00
David Ungar
c90d9e69b6 Format 2019-04-02 00:43:59 -07:00
David Ungar
7a0e0ffc8a Store current primary in diagnostic engine, pass it down via handleDiagnostic. Unformmated. 2019-04-02 00:43:28 -07:00
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
70118d4db0 swift-module-digester: output ABI/API diagnostics to a path instead of stdout.
This is handy for scripts.
2018-10-15 19:12:34 -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
78271f19a0 swift-module-digester: diagnose self access kind changes for function decls. 2018-10-04 15:57:56 -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
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
4e3f8f4784 swift-module-digester: added protocol requirements can be source-breaking. 2018-09-23 08:48:08 -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
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
47228bc17b swift-module-digester: remove unnecessary node annotations. NFC (#18975) 2018-08-24 21:44:40 -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