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