privacy: reach: Rename ReachLevel enum
This commit is contained in:
parent
8bf037fede
commit
e01a814061
|
@ -28,8 +28,8 @@ namespace Privacy {
|
||||||
*/
|
*/
|
||||||
enum ReachLevel
|
enum ReachLevel
|
||||||
{
|
{
|
||||||
Private,
|
Unreachable,
|
||||||
Public,
|
Reachable,
|
||||||
};
|
};
|
||||||
|
|
||||||
class PrivacyContext
|
class PrivacyContext
|
||||||
|
|
|
@ -56,16 +56,19 @@ ReachabilityVisitor::visit (HIR::TypeAlias &type_alias)
|
||||||
void
|
void
|
||||||
ReachabilityVisitor::visit (HIR::StructStruct &struct_item)
|
ReachabilityVisitor::visit (HIR::StructStruct &struct_item)
|
||||||
{
|
{
|
||||||
auto struct_reach = ReachLevel::Private;
|
auto struct_reach = ReachLevel::Unreachable;
|
||||||
// FIXME: This feels very wrong. Should we check for `has_visibility`
|
// FIXME: This feels very wrong. Should we check for `has_visibility`
|
||||||
// beforehand? Is it just private otherwise? Should the `HIR::Visibility` also
|
// beforehand? Is it just private otherwise? Should the `HIR::Visibility` also
|
||||||
// keep variants for private items?
|
// keep variants for private items?
|
||||||
if (struct_item.get_visibility ().get_vis_type () == HIR::Visibility::NONE)
|
if (struct_item.get_visibility ().get_vis_type () == HIR::Visibility::NONE)
|
||||||
struct_reach = ReachLevel::Public;
|
struct_reach = ReachLevel::Reachable;
|
||||||
|
|
||||||
// FIXME: Here we want to update only if the visibility is higher
|
// FIXME: Here we want to update only if the visibility is higher
|
||||||
ctx.insert_reachability (struct_item.get_mappings (), struct_reach);
|
ctx.insert_reachability (struct_item.get_mappings (), struct_reach);
|
||||||
|
|
||||||
|
// FIXME: We need to also visit the fields as they might have their own set
|
||||||
|
// of reachability levels
|
||||||
|
|
||||||
for (auto &field : struct_item.get_fields ())
|
for (auto &field : struct_item.get_fields ())
|
||||||
ctx.insert_reachability (field.get_mappings (), struct_reach);
|
ctx.insert_reachability (field.get_mappings (), struct_reach);
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ class ReachabilityVisitor : public HIR::HIRVisItemVisitor
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ReachabilityVisitor (PrivacyContext &ctx)
|
ReachabilityVisitor (PrivacyContext &ctx)
|
||||||
: current_level (ReachLevel::Private), ctx (ctx)
|
: current_level (ReachLevel::Unreachable), ctx (ctx)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
virtual void visit (HIR::Module &mod);
|
virtual void visit (HIR::Module &mod);
|
||||||
|
|
Loading…
Reference in New Issue