1/*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef BASIC_FUNCTION_DEBUG_INFO_H
6#define BASIC_FUNCTION_DEBUG_INFO_H
7
8#include <String.h>
9
10#include "FunctionDebugInfo.h"
11
12
13class BasicFunctionDebugInfo : public FunctionDebugInfo {
14public:
15								BasicFunctionDebugInfo(
16									SpecificImageDebugInfo* imageDebugInfo,
17									target_addr_t address,
18									target_size_t size,
19									const BString& name,
20									const BString& prettyName);
21	virtual						~BasicFunctionDebugInfo();
22
23	virtual	SpecificImageDebugInfo* GetSpecificImageDebugInfo() const;
24	virtual	target_addr_t		Address() const;
25	virtual	target_size_t		Size() const;
26	virtual	const BString&		Name() const;
27	virtual	const BString&		PrettyName() const;
28
29	virtual	bool				IsMain() const;
30
31	virtual	LocatableFile*		SourceFile() const;
32	virtual	SourceLocation		SourceStartLocation() const;
33	virtual	SourceLocation		SourceEndLocation() const;
34
35private:
36			SpecificImageDebugInfo* fImageDebugInfo;
37			target_addr_t		fAddress;
38			target_size_t		fSize;
39			const BString		fName;
40			const BString		fPrettyName;
41};
42
43
44#endif	// BASIC_FUNCTION_DEBUG_INFO_H
45