Skip to content

Commit 49e2b2b

Browse files
iahsmeta-codesync[bot]
authored andcommitted
Suggest using structured equivalents to cpp.declare_hash/equal_to
Summary: Add annotations from D87489151 to validator and codemod Reviewed By: Mizuchi Differential Revision: D90138700 fbshipit-source-id: 75ea072b939eb4dcef29c59547af8aea110dc3c6
1 parent 69cb9d3 commit 49e2b2b

2 files changed

Lines changed: 17 additions & 0 deletions

File tree

third-party/thrift/src/thrift/compiler/codemod/structure_annotations.cc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,19 @@ class structure_annotations {
259259
to_add.insert("@cpp.ProcessInEbThreadUnsafe");
260260
fm_.add_include("thrift/annotation/cpp.thrift");
261261
}
262+
} else if (name == "cpp.declare_hash" || name == "cpp2.declare_hash") {
263+
to_remove.emplace_back(name, data);
264+
if (!node.has_structured_annotation(kCppDeclareHashSpecialization)) {
265+
to_add.insert("@cpp.DeclareHashSpecialization");
266+
fm_.add_include("thrift/annotation/cpp.thrift");
267+
}
268+
} else if (
269+
name == "cpp.declare_equal_to" || name == "cpp2.declare_equal_to") {
270+
to_remove.emplace_back(name, data);
271+
if (!node.has_structured_annotation(kCppDeclareEqualToSpecialization)) {
272+
to_add.insert("@cpp.DeclareEqualToSpecialization");
273+
fm_.add_include("thrift/annotation/cpp.thrift");
274+
}
262275
}
263276

264277
// hack

third-party/thrift/src/thrift/compiler/sema/standard_validator.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1738,6 +1738,10 @@ void deprecate_annotations(sema_context& ctx, const t_named& node) {
17381738
{"cpp2.declare_bitwise_ops", kBitmaskEnumUri},
17391739
{"thread", kCppProcessInEbThreadUri},
17401740
{"process_in_event_base", kCppProcessInEbThreadUri},
1741+
{"cpp.declare_hash", kCppDeclareHashSpecialization},
1742+
{"cpp2.declare_hash", kCppDeclareHashSpecialization},
1743+
{"cpp.declare_equal_to", kCppDeclareEqualToSpecialization},
1744+
{"cpp2.declare_equal_to", kCppDeclareEqualToSpecialization},
17411745
{"hack.name", kHackNameUri},
17421746
{"thrift.uri", kUriUri},
17431747
{"serial", kSerialUri},

0 commit comments

Comments
 (0)