xref: /haiku/headers/private/debugger/debug_info/FunctionDebugInfo.h (revision fce4895d1884da5ae6fb299d23c735c598e690b1)
1*fce4895dSRene Gollent /*
2*fce4895dSRene Gollent  * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3*fce4895dSRene Gollent  * Distributed under the terms of the MIT License.
4*fce4895dSRene Gollent  */
5*fce4895dSRene Gollent #ifndef FUNCTION_DEBUG_INFO_H
6*fce4895dSRene Gollent #define FUNCTION_DEBUG_INFO_H
7*fce4895dSRene Gollent 
8*fce4895dSRene Gollent #include <Referenceable.h>
9*fce4895dSRene Gollent 
10*fce4895dSRene Gollent #include "SourceLocation.h"
11*fce4895dSRene Gollent #include "Types.h"
12*fce4895dSRene Gollent 
13*fce4895dSRene Gollent 
14*fce4895dSRene Gollent class BString;
15*fce4895dSRene Gollent class LocatableFile;
16*fce4895dSRene Gollent class SpecificImageDebugInfo;
17*fce4895dSRene Gollent 
18*fce4895dSRene Gollent 
19*fce4895dSRene Gollent class FunctionDebugInfo : public BReferenceable {
20*fce4895dSRene Gollent public:
21*fce4895dSRene Gollent 								FunctionDebugInfo();
22*fce4895dSRene Gollent 	virtual						~FunctionDebugInfo();
23*fce4895dSRene Gollent 
24*fce4895dSRene Gollent 	virtual	SpecificImageDebugInfo*	GetSpecificImageDebugInfo() const = 0;
25*fce4895dSRene Gollent 	virtual	target_addr_t		Address() const = 0;
26*fce4895dSRene Gollent 	virtual	target_size_t		Size() const = 0;
27*fce4895dSRene Gollent 	virtual	const BString&		Name() const = 0;
28*fce4895dSRene Gollent 	virtual	const BString&		PrettyName() const = 0;
29*fce4895dSRene Gollent 
30*fce4895dSRene Gollent 	virtual	bool				IsMain() const = 0;
31*fce4895dSRene Gollent 
32*fce4895dSRene Gollent 	virtual	LocatableFile*		SourceFile() const = 0;
33*fce4895dSRene Gollent 	virtual	SourceLocation		SourceStartLocation() const = 0;
34*fce4895dSRene Gollent 	virtual	SourceLocation		SourceEndLocation() const = 0;
35*fce4895dSRene Gollent };
36*fce4895dSRene Gollent 
37*fce4895dSRene Gollent 
38*fce4895dSRene Gollent #endif	// FUNCTION_DEBUG_INFO_H
39