Package cppclassanalyzer.analysis.vs
Class VsCppClassAnalyzer
java.lang.Object
ghidra.app.services.AbstractAnalyzer
cppclassanalyzer.analysis.AbstractCppClassAnalyzer
cppclassanalyzer.analysis.vs.VsCppClassAnalyzer
- All Implemented Interfaces:
Analyzer
,ExtensionPoint
public class VsCppClassAnalyzer extends AbstractCppClassAnalyzer
-
Field Summary
Fields inherited from class cppclassanalyzer.analysis.AbstractCppClassAnalyzer
constructorAnalyzer, log, monitor, program
-
Constructor Summary
Constructors Constructor Description VsCppClassAnalyzer()
-
Method Summary
Modifier and Type Method Description boolean
added(Program program, AddressSetView set, TaskMonitor monitor, MessageLog log)
protected boolean
analyzeConstructor(ClassTypeInfo type)
protected boolean
analyzeVftable(ClassTypeInfo type)
protected void
analyzeVftables()
static void
buildClassTypeInfoDatabase(Program program, TaskMonitor monitor)
Locates known Run Time Type Information and adds them to the program'sProgramClassTypeInfoManager
.boolean
canAnalyze(Program program)
static List<ClassTypeInfo>
getClassTypeInfoList(Program program, TaskMonitor monitor)
Deprecated.protected boolean
hasVtt()
protected void
init()
protected boolean
isDestructor(Function function)
Methods inherited from class cppclassanalyzer.analysis.AbstractCppClassAnalyzer
analysisEnded, analyzeConstructors, getDecompilerAPI, getTimeout, optionsChanged, registerOptions, shouldAnalyzeConstructors, shouldUseArchivedData
Methods inherited from class ghidra.app.services.AbstractAnalyzer
getAnalysisType, getDefaultEnablement, getDescription, getName, getPriority, isPrototype, removed, setDefaultEnablement, setPriority, setPrototype, setSupportsOneTimeAnalysis, setSupportsOneTimeAnalysis, supportsOneTimeAnalysis
-
Constructor Details
-
VsCppClassAnalyzer
public VsCppClassAnalyzer()
-
-
Method Details
-
canAnalyze
- Specified by:
canAnalyze
in interfaceAnalyzer
- Overrides:
canAnalyze
in classAbstractCppClassAnalyzer
-
added
public boolean added(Program program, AddressSetView set, TaskMonitor monitor, MessageLog log) throws CancelledException- Specified by:
added
in interfaceAnalyzer
- Overrides:
added
in classAbstractCppClassAnalyzer
- Throws:
CancelledException
-
hasVtt
protected boolean hasVtt()- Specified by:
hasVtt
in classAbstractCppClassAnalyzer
-
getClassTypeInfoList
@Deprecated public static List<ClassTypeInfo> getClassTypeInfoList(Program program, TaskMonitor monitor) throws CancelledExceptionDeprecated.useProgramClassTypeInfoManager.getTypes()
after invokingbuildClassTypeInfoDatabase(Program, TaskMonitor)
or having run the WindowsCppClassAnalyzer.- Parameters:
program
- the programmonitor
- the monitor- Returns:
- the typeinfo list
- Throws:
CancelledException
- if the operation is cancelled
-
buildClassTypeInfoDatabase
public static void buildClassTypeInfoDatabase(Program program, TaskMonitor monitor) throws CancelledExceptionLocates known Run Time Type Information and adds them to the program'sProgramClassTypeInfoManager
.- Parameters:
program
- the programmonitor
- the monitor- Throws:
CancelledException
- if the operation is cancelled
-
analyzeVftables
- Overrides:
analyzeVftables
in classAbstractCppClassAnalyzer
- Throws:
Exception
-
analyzeVftable
- Specified by:
analyzeVftable
in classAbstractCppClassAnalyzer
-
analyzeConstructor
- Specified by:
analyzeConstructor
in classAbstractCppClassAnalyzer
-
init
protected void init()- Specified by:
init
in classAbstractCppClassAnalyzer
-
isDestructor
- Specified by:
isDestructor
in classAbstractCppClassAnalyzer
-
ProgramClassTypeInfoManager.getTypes()
after invokingbuildClassTypeInfoDatabase(Program, TaskMonitor)
or having run the WindowsCppClassAnalyzer.