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