mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-04 18:29:37 +02:00
GP-3512 - Created 'ListenerSet' for improved listener usage
This commit is contained in:
parent
41076f3af0
commit
08a900afad
77 changed files with 1669 additions and 1564 deletions
|
@ -141,14 +141,14 @@ public class DBTrace extends DBCachedDomainObjectAdapter implements Trace, Trace
|
|||
|
||||
protected Set<DBTraceTimeViewport> viewports = new WeakHashCowSet<>();
|
||||
protected ListenerSet<DBTraceDirectChangeListener> directListeners =
|
||||
new ListenerSet<>(DBTraceDirectChangeListener.class);
|
||||
new ListenerSet<>(DBTraceDirectChangeListener.class, true);
|
||||
protected DBTraceVariableSnapProgramView programView;
|
||||
protected Set<DBTraceVariableSnapProgramView> programViews = new WeakHashCowSet<>();
|
||||
protected Set<TraceProgramView> programViewsView = Collections.unmodifiableSet(programViews);
|
||||
protected Map<Long, DBTraceProgramView> fixedProgramViews = new WeakValueHashCowMap<>();
|
||||
// NOTE: Can't pre-construct unmodifiableMap(fixedProgramViews), because values()' id changes
|
||||
protected ListenerSet<TraceProgramViewListener> viewListeners =
|
||||
new ListenerSet<>(TraceProgramViewListener.class);
|
||||
new ListenerSet<>(TraceProgramViewListener.class, true);
|
||||
|
||||
public DBTrace(String name, CompilerSpec baseCompilerSpec, Object consumer)
|
||||
throws IOException, LanguageNotFoundException {
|
||||
|
@ -591,7 +591,7 @@ public class DBTrace extends DBCachedDomainObjectAdapter implements Trace, Trace
|
|||
super.fireEvent(ev);
|
||||
if (directListeners != null) {
|
||||
// Some events fire during construction
|
||||
directListeners.fire.changed(ev);
|
||||
directListeners.invoke().changed(ev);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -613,7 +613,7 @@ public class DBTrace extends DBCachedDomainObjectAdapter implements Trace, Trace
|
|||
return new DBTraceProgramView(this, snap, baseCompilerSpec);
|
||||
});
|
||||
}
|
||||
viewListeners.fire.viewCreated(view);
|
||||
viewListeners.invoke().viewCreated(view);
|
||||
return view;
|
||||
}
|
||||
|
||||
|
@ -625,7 +625,7 @@ public class DBTrace extends DBCachedDomainObjectAdapter implements Trace, Trace
|
|||
view = new DBTraceVariableSnapProgramView(this, snap, baseCompilerSpec);
|
||||
programViews.add(view);
|
||||
}
|
||||
viewListeners.fire.viewCreated(view);
|
||||
viewListeners.invoke().viewCreated(view);
|
||||
return view;
|
||||
}
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ public class DBTraceTimeViewport implements TraceTimeViewport {
|
|||
*/
|
||||
protected final List<Lifespan> ordered = new ArrayList<>();
|
||||
protected final MutableLifeSet spanSet = new DefaultLifeSet();
|
||||
protected final ListenerSet<Runnable> changeListeners = new ListenerSet<>(Runnable.class);
|
||||
protected final ListenerSet<Runnable> changeListeners = new ListenerSet<>(Runnable.class, true);
|
||||
|
||||
protected long snap = 0;
|
||||
|
||||
|
@ -224,7 +224,7 @@ public class DBTraceTimeViewport implements TraceTimeViewport {
|
|||
}
|
||||
}
|
||||
assert !ordered.isEmpty();
|
||||
changeListeners.fire.run();
|
||||
changeListeners.invoke().run();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue