angr / angr-management

The official angr GUI.
BSD 2-Clause "Simplified" License
859 stars 108 forks source link

Refactor view base class hierarchy #1213

Closed twizmwazin closed 3 months ago

twizmwazin commented 3 months ago

With this change, the hierarchy now looks like:

BaseView
InstanceView(BaseView)
FunctionView(InstanceView)
SychronizedView(BaseView) Do not derive from this directly! Maybe it should be _SychrnoizedView?
SychronizedInstanceView(InstanceView, SychrnoizedView)
SychrnoizedFunctionView(FunctionView, SychronizedView)

The view state publisher mixin has been rolled into the InstanceView base. Among other things, this will make it easier to identify which views are associated with specific instances, and allow views inheriting directly from BaseView to not be associated with a particular instance.