fce4895d18
- Add subfolder src/kits/debugger which contains the debugger's core functionality and lower layers. Correspondingly add headers/private/debugger for shared headers to be used by clients such as the Debugger application and eventual remote_debug_server. Adjust various files to account for differences as a result of the split and moves. - Add libdebugger.so to minimal Jamfile.
42 lines
867 B
C++
42 lines
867 B
C++
/*
|
|
* Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef SOURCE_CODE_H
|
|
#define SOURCE_CODE_H
|
|
|
|
|
|
#include <Referenceable.h>
|
|
|
|
#include "LineDataSource.h"
|
|
#include "TargetAddressRange.h"
|
|
|
|
|
|
class LocatableFile;
|
|
class SourceLanguage;
|
|
class SourceLocation;
|
|
class Statement;
|
|
|
|
|
|
class SourceCode : public LineDataSource {
|
|
public:
|
|
virtual ~SourceCode();
|
|
|
|
// Locking needed for GetStatementLocationRange(), since that might use
|
|
// mutable data.
|
|
virtual bool Lock() = 0;
|
|
virtual void Unlock() = 0;
|
|
|
|
virtual SourceLanguage* GetSourceLanguage() const = 0;
|
|
|
|
virtual bool GetStatementLocationRange(
|
|
const SourceLocation& location,
|
|
SourceLocation& _start,
|
|
SourceLocation& _end) const = 0;
|
|
|
|
virtual LocatableFile* GetSourceFile() const = 0;
|
|
};
|
|
|
|
|
|
#endif // SOURCE_CODE_H
|