136 Commits

Author SHA1 Message Date
Rene Gollent
9e1a62419e Style fixes and automatic whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-14 22:28:35 +00:00
Stephan Aßmus
095a1f5b8b Use the usual function keys as shortcuts for stepping. (From memory, hope I got
it right...)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-14 11:47:50 +00:00
Rene Gollent
ab49b58c80 Copy to clipboard now works.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-14 04:03:12 +00:00
Rene Gollent
8bf1b2d603 * Fix several visual glitches in the selection highlight and selection behavior.
* Highlight the source view to indicate focus.
* Add rudimentary menu bar with quit and copy options (copy not yet working)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-14 00:41:59 +00:00
Ingo Weinhold
ab3c00eef3 The beginnings of a DWARF expression evaluator.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-13 23:54:32 +00:00
Ingo Weinhold
e355492924 Missing include.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-13 23:53:55 +00:00
Ingo Weinhold
106c4d4020 * Got rid of dwarf_{addr,off,size}_t. Consequently use 64 bit types instead.
* Made the DWARF code fully 64 bit aware (hopefully).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-13 23:03:36 +00:00
Ingo Weinhold
fd1f509330 Skeleton for source language abstraction. There's SourceLanguage with several
subclasses, though they don't do much yet. SourceCode is now associated with a
SourceLanguage.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-13 20:45:15 +00:00
Ingo Weinhold
5bf75a6f2b Last minute change that, of course, broke the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-13 20:05:17 +00:00
Ingo Weinhold
f7526300d9 * DWARF: Implemented parsing the DWARF frame info and evaluating it (save for
DWARF expressions). Several related new classes: CfaRule[Set], CfaContext,
  DwarfTargetInterface (for accessing target registers and memory).
* Implemented DwarfImageDebugInfo::CreateFrame(), so the DWARF frame info is
  used for unwinding the stack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-13 18:54:11 +00:00
Ingo Weinhold
614e1dc42f * Register:
- Added a type constant describing the format of the register value.
  - Added flag "is callee-preserved" indicating whether the ABI requires the
    register to be preserved by a called function.
* CpuState: Added SetRegisterValue(), made GetRegisterValue() const.
* Added RegisterMap interface for mapping register indices between different
  models.
* Architecture:
  - Added CreateCpuState() version to create a clean CpuState.
  - Added GetDwarfRegisterMaps(), which returns to RegisterMaps, converting
    from and to DWARF register indices.
  - Added ReadValueFromMemory() reading a value from the target team's memory.
    The value type is specified by a type constant and the value return via a
    BVariant.
  - CreateStackTrace: No longer decide whether to adjust the instruction pointer
    of the previous CPU state depending on who created the CPU state. Instead
    compare it with the return address of the next frame. If they are equal it
    obviously has to be adjusted.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-13 18:45:49 +00:00
Rene Gollent
000dfcbcf3 Draw the selection highlight. Still has some issues when shrinking the selection region, but will deal with that after work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-13 13:05:10 +00:00
Rene Gollent
366f83ad41 Add partially functional mouse selection support. Doesn't yet draw the selection highlight or handle scrolling.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-13 00:19:26 +00:00
Rene Gollent
c4ee57cfe2 Make source view navigable and scrollable via the usual keyboard shortcuts. Still lots to do including drawing a focus highlight and text selection/copying via keyboard and/or mouse.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-12 20:29:18 +00:00
Ingo Weinhold
37e2eea0d8 Remove duplicates in the function list view.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-11 00:15:39 +00:00
Ingo Weinhold
18ca318a3d * Since disassembled code is actually function instance specific,
FunctionInstance does now also have a (DisassembledCode) source code
  attribute. Function keeps its attribute, but it explicitly is a
  FileSourceCode now.
* SourceCode:
  - Removed GetStatementAtLocation(). Instead DisassembledCode has a
    StatementAtLocation() now. As well as a StatementAtAddress() and
    StatementAddressRange(). Rather cast to the subclass (in two instances)
    instead of having those methods in the base class. In most cases we already
    have the subclasses now, anyway.
  - Added Lock()/Unlock(), which are implemented in FileSourceCode. The
    statement ranges are no longer immutable, so we have to lock.
* TeamDebugModel:
  - Revived GetBreakpointsInAddressRange().
  - GetBreakpointsForSourceCode(): Optimized for DisassembledCode and fixed
    in the FileSourceCode case. We need to compare with the functions' source
    file instead of their source code, since they might not have the source
    code set yet. Fixed two instances of the same problem in SourceView. Setting
    breakpoints in functions that have no associated source code yet, works now.
* Team:
  - GetStatementAtAddress(): Optimized by using the DisassembledCode, if
    available.
  - GetStatementAtSourceLocation(): If the supplied source code is
    DisassembledCode, we have to get the statement from it directly, since
    we can't get that information from the image debug info.
* TeamDebugInfo: Added LoadSourceCode() and DisassembleFunction(), the new way
  to get FileSourceCode respectively DisassembledCode. SpecificTeamDebugInfo
  has lost LoadSourceCode() and gained service methods AddSourceCodeInfo() and
  ReadCode(). This avoids unnecessary code duplication in the subclasses.
  Moreover it allows for joining source location info source files from
  different images (and compilation units) -- interesting for inline functions
  in headers.
* Adjusted LoadSourceCodeJob and TeamDebugger::FunctionSourceCodeRequested()
  accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-11 00:05:26 +00:00
Rene Gollent
b644566e31 Don't append the demangled function name twice. This fixes symbols incorrectly being shown doubled when DWARF info was unavailable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-10 03:27:19 +00:00
Ingo Weinhold
a4b0c19209 * Finished the transformation of the SourceCode interface:
- Replaced StatementAtLine() by GetStatementLocationRange(), which doesn't
    return a statement (i.e. also target addresses), but just a range in the
    source code. This can also be implemented by FileSourceCode, which can
    therefore be used for more than one instance of a function.
  - Added GetStatementAtLocation() which kind of is also a replacement for
    StatementAtLine(), but is optional and only provided by
    DisassembledSourceCode.
  - Added GetSourceFile(), which has to be provided when
    GetStatementAtLocation() is not implemented.
  - Kicked the statement stuff out of FileSourceCode. It only knows source
    ranges, now.
* Team: Added GetStatementAtSourceLocation(), which is the real replacement for
  SourceCode::StatementAtLine() in cases where a statement is actually
  needed. It uses SourceCode::GetStatementAtLocation(), if available and
  otherwise finds a function at the source location, and gets a statement for
  one of its instances.
* TeamDebugInfo: Does now manage a source file -> functions map allowing to
  look up functions at source file locations.
* DwarfImageDebugInfo:
  - Switched the path in the source code hash table key for a LocatableFile,
    which is cheaper to hash and to compare.
  - Fixed bugs where the relocation delta was ignored.
  - Replace a -1 in the SourceLocation column component by 0 to avoid
    mismatches.
* SourceLocation: Changed component types from uint32 to int32. Otherwise -1 is
  not representable.

Things mostly work as before starting the refactoring to support function
instances. All is not well yet, though. E.g. we don't merge the source code
information for common source files (like headers) provided by different
compilation units (or even images) yet. We need to do that, since the debug
info for a compilation unit only contains line number information for inline
functions (in headers) that are actually used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-10 00:08:45 +00:00
Ingo Weinhold
7d095b893a Incorrect check -- user-defined breakpoints would be ignored.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-09 23:34:34 +00:00
Ingo Weinhold
c5056cd86d * DebugInfoEntry: Allow access to the individual declaration location
attributes returning for each whether it was set on the entry.
* DwarfUtils::GetDeclarationLocation(): Entries can just override individual
  declaration location attributes. E.g. for a specification entry file, line,
  and column can be given, while the entry for the implementation could just
  override the line, if it is implemented in the same file (like inline methods
  in a header).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-09 23:33:32 +00:00
Ingo Weinhold
2e064580d6 Fixed broken Insert().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-09 23:27:21 +00:00
Ingo Weinhold
4d12369dce Use unsafe character access to avoid a gcc 4 warning. We check the range
ourselves anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-08 21:55:12 +00:00
Ingo Weinhold
f66bd6256a Very much work in progress, not in a particularly working state. Haiku munged
a good part of the source tree, so I rather get those changes into the
repository before continuing.
The general aim of the work is to deal with multiple instances of the same
function, e.g. inlined or non-inlined inline functions or those weird duplicates
gcc (4 at least) seems to be generating for no apparent reason.
* Added classes FunctionInstance (wrapping FunctionDebugInfo) and Function.
  FunctionInstance represents a physical instance of a function (e.g. inlined
  function at a particular address). A Function collects all FunctionInstances
  referring to the same source code location.
* Moved the SourceCode property from FunctionDebugInfo to Function accordingly.
* Since SourceCode is no longer associated with a concrete function instance,
  several methods dealing with statements have been removed and the
  functionality has been provided through other means (e.g. TeamDebugModel or
  SpecificImageDebugModel). This part is not yet completed.
* Introduced UserBreakpoint and UserBreakpointInstance. The user sets a
  breakpoint at a source code location, which is represented by a
  UserBreakpoint. Since that source location can be mapped to one address per
  instance of the respective function, UserBreakpoint has a
  UserBreakpointInstance per such function instance, which in turn refers to a
  Breakpoint (an actual breakpoint at an address).
* Adjusted Breakpoint, BreakpointManager, and TeamDebugger accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-07 20:47:39 +00:00
Oliver Tappe
16d5c24e53 * merged 32bit-wchar_t branches of buildtools and haiku back into
the respective trunk

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-07 10:30:09 +00:00
Ingo Weinhold
cc13762f11 Don't skip subprogram entries that have an abstract origin. Only do so, when
the function is actually inlined, which we already checked for anyway. Now the
source location info should be retrieved correctly for all functions, even if
if we get potential duplicates for non-inlined functions. This has to be
dealt with differently, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 21:09:29 +00:00
Ingo Weinhold
bc01feab3d * Get*DIEName(): Also follow abstract origins to get the name.
* GetDeclarationLocation():
  - Don't fail already when the entry itself doesn't support a declaration
    location, since that fails for inlined functions.
  - Follow abstract origin and specification, even if they don't have a have
    a declaration location. The latter doesn't matter in this case, but we
    failed erroneously, if the abstract origin had a specification which in
    turn had the declaration location info.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 21:04:46 +00:00
Ingo Weinhold
15857c22d5 DIEClassBaseType: Also handle inner types.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 20:58:02 +00:00
Ingo Weinhold
a61e0d36a0 Apparently the file names in the .debug_line section can be relative paths, not
only file names. Changed the FileManager::Get*File() method versions taking
directory path and file name to also accept relative file paths. They just join
the paths and use the single-argument versions, which now does all the work.
Fixes finding source files for which a relative path is given in .debug_line.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 14:46:10 +00:00
Ingo Weinhold
d9b10dea3b * Extended ImageInfo and Image so they know the image type.
* Added DebuggerInterface::GetSymbolInfo().
* Implementing stopping the thread in main() when the debugger started the
  debugged program.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 14:23:19 +00:00
Ingo Weinhold
e59fc195db * ThreadListView:
- Got rid of superfluous SetTeam().
  - Aded SetThread() to select a thread.
* TeamWindow: When a thread hits a debug event and no thread is selected or
  the selected thread is running, select the stopped thread and switch to the
  "Threads" tab view.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 12:25:09 +00:00
Ingo Weinhold
8a07918f6d Work-around for gcc 2 output. It can produce DW_AT_sibling attributes
pointing to the end of the list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 10:03:27 +00:00
Ingo Weinhold
c93db3c16a Don't require the .debug_str section. It's only needed for DW_FORM_strp
attributes, but apparently those aren't generated by gcc 2.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 09:41:37 +00:00
Ingo Weinhold
b619e1873c Changed the line and column parameter of DwarfUtils::GetDeclarationLocation()
to int32&. The DWARF indices are one-based with 0 as invalid/no value, but we
subtract one to get real indices and -1 as special value.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 09:39:42 +00:00
Axel Dörfler
3dc97aa3fb * Fixed GCC2 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 08:56:59 +00:00
Ingo Weinhold
593fa6776a * DWARF:
- DwarfUtils::GetDeclarationLocation(): Line/column numbers are one-based.
  - Added line number program interpretation (LineNumberProgram).
* FunctionDebugInfo: Return the source file (LocatableFile) instead of the
  file name.
* FileManager/LocatableEntry: Fixed handling when a LocatableEntry is
  unreferenced. There was a race condition before, since an unreferenced entry
  could be referenced and unreferenced again before removing it from the hash
  table, which could lead to double deletion. Now we never reuse an unreferenced
  entry and just remove it from the hash table when encountering one.
* FileManager/SourceFile: Added class SourceFile which loads a source file from
  disk and slices it into lines. Managed by FileManager.
* Added class FileSourceCode, a SourceCode implementation using a SourceFile as
  line provider. The statement management works pretty much exactly as in
  DissassembledCode.
* DwarfImageDebugInfo: Implemented LoadSourceCode for real. It creates a
  FileSourceCode and uses the DWARF line number information for the statement
  information. This basically gets the source level view going, though there
  are still several problems -- stepping doesn't work perfectly yet, the source
  isn't found for all functions, there's no handling of duplicate functions (no
  idea why gcc generates them in the first place), etc.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 00:56:39 +00:00
Ingo Weinhold
92194962f6 Display tabs correctly (hardcoded as 4 spaces ATM).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 00:34:48 +00:00
Ingo Weinhold
64af5c7164 Scroll to the active function, when selected manually.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 00:33:36 +00:00
Ingo Weinhold
3c5dbb462d * Moved Array.h to new directory "types".
* Added StringUtils with string hash functions.
* Added Locatable{Entry,File,Directory} and FileManager classes to manage the
  mapping from debug info/target file names to local file names.
* Image does now have a LocatableFile referring to the image's shared object
  file. Added listening to location changes of these files to TeamDebugger. No
  action is taken yet (should trigger reloading the debug info).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 22:09:33 +00:00
Ingo Weinhold
7413cddee6 Add the compilation unit's compilation dir to the directories for the
compilation unit. It can be referenced by the file entries in the line info
header, too (index 0).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 14:35:00 +00:00
Ingo Weinhold
d68a0c6f4f Added DIECompileUnitBase::CompilationDir() getter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 14:33:07 +00:00
Ingo Weinhold
df9cc7340c Retrieve the source file declaration locations for functions and attach them
to the DwarfFunctionDebugInfo objects. The functions do now appear organized
by source file in the function list view. Unfortunately the list view is too
small to look as clear as it should. Got to think of something else I'm afraid.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 12:57:41 +00:00
Ingo Weinhold
91c6759f30 * Added parsing the .debug_line header for each compilation unit and attaching
the include directory and source file names to CompilationUnit.
* Added DwarfUtils::GetDeclarationLocation() which retrieves the respective
  source file name and line/column index for a given DIE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 12:48:46 +00:00
Ingo Weinhold
ebf36c3bec ImageFunctionsView::FunctionsTableModel:
* Fixed typo in SetImageDebugInfo() setting the wrong source file function
  start indices.
* Fixed incorrect return values in _CompareSourceFileNames().
* Fixed several instances of ignoring the source file's function start index.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 12:41:02 +00:00
Ingo Weinhold
5b60969c5c * Renamed ArchitectureTypes.h to Types.h.
* Created "types" subdirectory for basic types and moved Types.h,
  SourceLocation, TargetAddressRange there.
* Added TargetAddressRangeList, representing a list of address ranges.
* Array: Added copy constructor and assignment operator.
* Added DwarfFunctionDebugInfo.
* ElfFile: Also read the program headers and provide access to the segment
  information.
* DWARF:
  - Some work on DIECompileUnitBase and DIESubprogram to handle attributes we
    need.
  - Added DwarfUtils class which provides static utility methods. Currently some
    to get DIE names. Only provisionally implemented yet.
  - Read range list attribute values from the .debug_ranges section. Extended
    AttributeValue to handle them correctly (ref-counting).
* DwarfImageDebugInfo:
  - Implemented GetFunctions() for real, i.e. we return functions for all
    subprogram debug info entries we find (those that refer to actual
    functions, that is).
  - Implemented the fallback part of LoadSourceCode() (reading the code from the
    file and disassembling it).

Things should hopefully work as before, just a bit slower and with less accurate
function names, if DWARF debug info is available. Promising, eh? ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-29 22:38:15 +00:00
Rene Gollent
55e74cf261 Fix typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 02:10:43 +00:00
Ingo Weinhold
b5713f228a Added DwarfTeamDebugInfo and DwarfImageDebugInfo, the classes to interface with
the DWARF code. Not doing much yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 23:40:32 +00:00
Ingo Weinhold
bf4603576b Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 23:38:48 +00:00
Ingo Weinhold
7c3612f47d * Manage CompilationUnits in a BObjectList instead of a DoublyLinkedList for
nicer access.
* A CompilationUnit does now know its debug info entry.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 23:38:17 +00:00
Ingo Weinhold
096f057d08 LoadFile() returns the loaded file, now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 23:36:50 +00:00
Ingo Weinhold
e39f300039 Added some accessors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 23:35:37 +00:00