6 Commits

Author SHA1 Message Date
Volodymyr Sapsai
a65d5309d5 [ODRHash] Detect duplicate ObjCProtocolDecl ODR mismatches during parsing.
When during parsing we encountered a duplicate `ObjCProtocolDecl`, we
were always emitting an error. With this change we accept
* when a previous `ObjCProtocolDecl` is in a hidden [sub]module;
* parsed `ObjCProtocolDecl` is the same as the previous one.

And in case of mismatches we provide more detailed error messages.

rdar://93069080

Differential Revision: https://reviews.llvm.org/D130327
2022-11-17 18:31:32 -08:00
Volodymyr Sapsai
dcb71b5e1d [ODRHash] Hash ObjCPropertyDecl and diagnose discovered mismatches.
Differential Revision: https://reviews.llvm.org/D130326
2022-11-17 17:22:03 -08:00
Volodymyr Sapsai
2662009c87 [ODRHash] Hash ObjCMethodDecl and diagnose discovered mismatches.
Differential Revision: https://reviews.llvm.org/D130325
2022-10-17 18:48:24 -07:00
Volodymyr Sapsai
37fdca21f7 [ODRHash] Rename isDeclToBeProcessed to isSubDeclToBeProcessed. NFC intended.
The method is used only for sub-Decls, so reflect that in the name.
2022-10-17 18:24:44 -07:00
Volodymyr Sapsai
9c79eab7fd [ODRHash] Hash ObjCProtocolDecl and diagnose discovered mismatches.
Differential Revision: https://reviews.llvm.org/D130324
2022-10-17 16:29:52 -07:00
Volodymyr Sapsai
3e7350f317 [ODRHash diagnostics] Move ODRDiagsEmitter to libAST in separate files. NFC.
Intend to use `ODRDiagsEmitter` during parsing to diagnose a parsed
definition differing from a definition with the same name from a hidden
[sub]module.

Differential Revision: https://reviews.llvm.org/D128695
2022-09-07 14:40:37 -07:00