Commit c673925
Remove permission-based monotonicity enforcement from ClassGraph in HHBBC
Summary:
The previous implementation attempted to enforce monotonicity
through a permission model that could cause operations to fail when
trying to access information. This proved to be overly restrictive -
with the retained info infrastructure, dependency tracking alone is
sufficient to ensure correctness without blocking access to
information.
This diff removes the permission checking system while preserving dependency
tracking. The core changes are:
- Changed ensure() methods to return void instead of bool (no longer fail)
- Removed allowed() permission checks throughout ClassGraph operations
- Changed DepTracker::add() to return void (dependencies tracked but no restrictions)
- Removed the restrict() mechanism that blocked access based on permissions
- Removed "Raw" method variants that bypassed permission checks (no longer needed)
Most of the diff is mechanical changes resulting from these API changes - call
sites that previously had to check ensure()'s return value now simply call it,
and operations that gated on allowed() no longer need that check. The dependency
tracking infrastructure remains intact to support incremental analysis.
Reviewed By: sinancepel
Differential Revision: D89633187
fbshipit-source-id: 0416b8d0f05063b7540ce075e2685d1abdc239d71 parent 2067b58 commit c673925
1 file changed
Lines changed: 421 additions & 633 deletions
0 commit comments