Package cppclassanalyzer.analysis
Class AbstractCppClassAnalyzer
java.lang.Object
ghidra.app.services.AbstractAnalyzer
cppclassanalyzer.analysis.AbstractCppClassAnalyzer
- All Implemented Interfaces:
Analyzer
,ExtensionPoint
- Direct Known Subclasses:
GccCppClassAnalyzer
,VsCppClassAnalyzer
public abstract class AbstractCppClassAnalyzer extends AbstractAnalyzer
-
Field Summary
Fields Modifier and Type Field Description protected AbstractConstructorAnalysisCmd
constructorAnalyzer
protected MessageLog
log
protected TaskMonitor
monitor
protected Program
program
-
Constructor Summary
Constructors Constructor Description AbstractCppClassAnalyzer(String name)
Constructs an AbstractCppClassAnalyzer. -
Method Summary
Modifier and Type Method Description boolean
added(Program program, AddressSetView set, TaskMonitor monitor, MessageLog log)
void
analysisEnded(Program program)
protected abstract boolean
analyzeConstructor(ClassTypeInfo type)
protected void
analyzeConstructors()
protected abstract boolean
analyzeVftable(ClassTypeInfo type)
protected void
analyzeVftables()
boolean
canAnalyze(Program program)
protected static DecompilerAPI
getDecompilerAPI(Program program)
protected int
getTimeout()
protected abstract boolean
hasVtt()
protected abstract void
init()
protected abstract boolean
isDestructor(Function function)
void
optionsChanged(Options options, Program program)
void
registerOptions(Options options, Program program)
protected boolean
shouldAnalyzeConstructors()
protected boolean
shouldUseArchivedData()
Methods inherited from class ghidra.app.services.AbstractAnalyzer
getAnalysisType, getDefaultEnablement, getDescription, getName, getPriority, isPrototype, removed, setDefaultEnablement, setPriority, setPrototype, setSupportsOneTimeAnalysis, setSupportsOneTimeAnalysis, supportsOneTimeAnalysis
-
Field Details
-
program
-
monitor
-
constructorAnalyzer
-
log
-
-
Constructor Details
-
AbstractCppClassAnalyzer
Constructs an AbstractCppClassAnalyzer.- Parameters:
name
- The name of the analyzer
-
-
Method Details
-
canAnalyze
- Specified by:
canAnalyze
in interfaceAnalyzer
- Overrides:
canAnalyze
in classAbstractAnalyzer
-
hasVtt
protected abstract boolean hasVtt() -
init
protected abstract void init() -
analyzeVftable
-
analyzeConstructor
-
isDestructor
-
added
public boolean added(Program program, AddressSetView set, TaskMonitor monitor, MessageLog log) throws CancelledException- Throws:
CancelledException
-
analysisEnded
- Specified by:
analysisEnded
in interfaceAnalyzer
- Overrides:
analysisEnded
in classAbstractAnalyzer
-
analyzeVftables
- Throws:
Exception
-
shouldAnalyzeConstructors
protected boolean shouldAnalyzeConstructors() -
shouldUseArchivedData
protected boolean shouldUseArchivedData() -
analyzeConstructors
- Throws:
Exception
-
getDecompilerAPI
-
getTimeout
protected int getTimeout() -
registerOptions
- Specified by:
registerOptions
in interfaceAnalyzer
- Overrides:
registerOptions
in classAbstractAnalyzer
-
optionsChanged
- Specified by:
optionsChanged
in interfaceAnalyzer
- Overrides:
optionsChanged
in classAbstractAnalyzer
-