MCPcopy Create free account
hub / github.com/JHUAPL/CodeCut / NewSymbolFilter

Class NewSymbolFilter

codecut-gui/src/main/java/codecutguiv2/NewSymbolFilter.java:42–1060  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40import ghidra.util.Msg;
41
42public class NewSymbolFilter implements SymbolFilter {
43
44 private static final String XML_NAME = "SYMBOL_TABLE_FILTER";
45
46 private Filter userDefinedFilter;
47 private Filter analysisFilter;
48 private Filter defaultFunctionFilter;
49 private Filter defaultLabelFilter;
50 private Filter importedFilter;
51
52 private Filter[] labelFilters;
53 private Filter[] nonLabelFilters;
54 private Filter[] advancedFilters;
55
56 private Filter[] activeOriginFilters = new Filter[0];
57 private Filter[] activeTypeFilters = new Filter[0];
58 private AdvancedFilter[] activeAdvancedFilters = new AdvancedFilter[0];
59
60 private Map<String, Filter> filterMap = new HashMap<>();
61
62 private boolean acceptsAll;
63 private boolean acceptsAllTypes;
64 private boolean acceptsAllSources;
65
66 public NewSymbolFilter() {
67 this(null);
68 }
69
70 public NewSymbolFilter(SymbolFilter oldFilter) {
71 createFilters();
72
73 for (Filter labelFilter : labelFilters) {
74 filterMap.put(labelFilter.getName(), labelFilter);
75 }
76 for (Filter nonLabelFilter : nonLabelFilters) {
77 filterMap.put(nonLabelFilter.getName(), nonLabelFilter);
78 }
79 for (Filter advancedFilter : advancedFilters) {
80 filterMap.put(advancedFilter.getName(), advancedFilter);
81 }
82 filterMap.put(userDefinedFilter.getName(), userDefinedFilter);
83 filterMap.put(importedFilter.getName(), importedFilter);
84 filterMap.put(analysisFilter.getName(), analysisFilter);
85 filterMap.put(defaultLabelFilter.getName(), defaultLabelFilter);
86 filterMap.put(defaultFunctionFilter.getName(), defaultFunctionFilter);
87
88 if (oldFilter instanceof NewSymbolFilter) {
89 NewSymbolFilter filter = (NewSymbolFilter) oldFilter;
90 userDefinedFilter.setActive(filter.userDefinedFilter.isActive());
91 importedFilter.setActive(filter.importedFilter.isActive());
92 analysisFilter.setActive(filter.analysisFilter.isActive());
93 defaultLabelFilter.setActive(filter.defaultLabelFilter.isActive());
94 defaultFunctionFilter.setActive(filter.defaultFunctionFilter.isActive());
95
96 for (int i = 0; i < labelFilters.length; i++) {
97 labelFilters[i].setActive(filter.labelFilters[i].isActive());
98 }
99 for (int i = 0; i < nonLabelFilters.length; i++) {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected