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