mirror of
https://github.com/gcc-mirror/gcc.git
synced 2024-11-21 13:40:47 +00:00
gccrs: proc_macro: Refactor attribute search
Refactor attribute search with early return. Also fix the optional building an object with it's default empty constructor by explicitely using tl::null_opt. gcc/rust/ChangeLog: * checks/errors/privacy/rust-privacy-reporter.cc (find_proc_macro_attribute): Refactor the function to be safer and more efficient. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
This commit is contained in:
parent
1346a7652e
commit
de7e34bdd6
@ -37,8 +37,6 @@ PrivacyReporter::PrivacyReporter (
|
||||
static tl::optional<std::string>
|
||||
find_proc_macro_attribute (const AST::AttrVec &outer_attrs)
|
||||
{
|
||||
tl::optional<std::string> result;
|
||||
|
||||
for (auto &a : outer_attrs)
|
||||
{
|
||||
auto &segments = a.get_path ().get_segments ();
|
||||
@ -47,10 +45,10 @@ find_proc_macro_attribute (const AST::AttrVec &outer_attrs)
|
||||
auto name = segments.at (0).get_segment_name ();
|
||||
if (name == "proc_macro" || name == "proc_macro_attribute"
|
||||
|| name == "proc_macro_derive")
|
||||
result = {name};
|
||||
return name;
|
||||
}
|
||||
|
||||
return result;
|
||||
return tl::nullopt;
|
||||
}
|
||||
|
||||
// Common check on crate items when dealing with 'proc-macro' crate type.
|
||||
|
Loading…
Reference in New Issue
Block a user