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 booleanadded(Program program, AddressSetView set, TaskMonitor monitor, MessageLog log)protected booleananalyzeConstructor(ClassTypeInfo type)protected booleananalyzeVftable(ClassTypeInfo type)protected voidanalyzeVftables()static voidbuildClassTypeInfoDatabase(Program program, TaskMonitor monitor)Locates known Run Time Type Information and adds them to the program'sProgramClassTypeInfoManager.booleancanAnalyze(Program program)static List<ClassTypeInfo>getClassTypeInfoList(Program program, TaskMonitor monitor)Deprecated.protected booleanhasVtt()protected voidinit()protected booleanisDestructor(Function function)Methods inherited from class cppclassanalyzer.analysis.AbstractCppClassAnalyzer
analysisEnded, analyzeConstructors, getDecompilerAPI, getTimeout, optionsChanged, registerOptions, shouldAnalyzeConstructors, shouldUseArchivedDataMethods 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:
canAnalyzein interfaceAnalyzer- Overrides:
canAnalyzein classAbstractCppClassAnalyzer
-
added
public boolean added(Program program, AddressSetView set, TaskMonitor monitor, MessageLog log) throws CancelledException- Specified by:
addedin interfaceAnalyzer- Overrides:
addedin classAbstractCppClassAnalyzer- Throws:
CancelledException
-
hasVtt
protected boolean hasVtt()- Specified by:
hasVttin 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:
analyzeVftablesin classAbstractCppClassAnalyzer- Throws:
Exception
-
analyzeVftable
- Specified by:
analyzeVftablein classAbstractCppClassAnalyzer
-
analyzeConstructor
- Specified by:
analyzeConstructorin classAbstractCppClassAnalyzer
-
init
protected void init()- Specified by:
initin classAbstractCppClassAnalyzer
-
isDestructor
- Specified by:
isDestructorin classAbstractCppClassAnalyzer
-
ProgramClassTypeInfoManager.getTypes()after invokingbuildClassTypeInfoDatabase(Program, TaskMonitor)or having run the WindowsCppClassAnalyzer.