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 14 class BString; 15 class LocatableFile; 16 class SpecificImageDebugInfo; 17 18 19 class FunctionDebugInfo : public BReferenceable { 20 public: 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