-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFunction.h
55 lines (44 loc) · 1.21 KB
/
Function.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//Function
class Function
{
public:
Function();
Function(CComPtr<IDiaSymbol> pIDiaSymbol);
Function(const Function& other);
Function& operator= (const Function& other);
bool operator== (const Function& other);
/*
struct Predicate : public std::binary_function <Function, Function, bool>
{
bool operator() (const Function& lhs, const Function& rhs)
{
return lhs.id() < rhs.id();
}
};
*/
public:
std::wstring getName() const;
bool isVirtual() const;
bool isPure() const;
bool isCompilerGenerated() const;
bool isConst() const;
bool isStatic() const;
bool isCtor() const;
bool isDtor() const;
bool reservedName() const;
unsigned int getRVA() const;
std::wstring returnType() const;
std::wstring returnTypeSpecial() const;
std::wstring callingConvention() const;
std::list<std::wstring> getArgs() const;
CV_access_e protection() const;
std::list<std::wstring> getLocalVars() const;
std::list<std::wstring> getArgsSpecial() const;
private:
CComPtr<IDiaSymbol> sym() const;
CComPtr<IDiaSymbol> functionType() const;
CComPtr<IDiaSymbol> objectPointer() const;
std::list<std::wstring> Function::_getArgs() const;
private:
CComPtr<IDiaSymbol> Symbol;
};