History log of /haiku-fatelf/src/apps/debugger/value/ValueLoader.h
Revision Date Author Comments
# e4663602 01-Jul-2011 Rene Gollent <anevilyak@gmail.com>

Add copy constructor to ValueLoader.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42361 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 698ad097 30-Jun-2011 Rene Gollent <anevilyak@gmail.com>

* Add interface TeamTypeInformation and implement in TeamDebugInfo. Pass along
to various classes that need a reference to it in order to allow value nodes
to look up type information from the target team.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42354 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 04584c0d 21-Jun-2011 Rene Gollent <anevilyak@gmail.com>

Add the beginnings of a BMessage type/value handler. Not yet registered with
the type handler roster since it's quite far from being complete.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42279 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f9d5a5a 09-Dec-2010 Rene Gollent <anevilyak@gmail.com>

Extend ValueLoader::LoadStringValue() to accept a max length
parameter. When a CStringValue is representing an array, use
the array's length to limit how many bytes we read.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39795 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6a316074 08-Nov-2010 Rene Gollent <anevilyak@gmail.com>

Remove unnecessary parameter.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39368 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 716f06ce 08-Nov-2010 Rene Gollent <anevilyak@gmail.com>

Added type/value handlers for C strings. This allow's the debugger's
variable view to actually render their contents rather than simply giving
the string's address.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39367 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 59ea286f 05-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* EnumerationValue -> EnumeratorValue
* Since some types don't have names (e.g. pointer types or anonymous structs or
unions), each type does now also have a unique ID. The global type cache
registers types by ID and by name (if they have one). This fixes clashes of
types with empty names.
* Completely refactored the code dealing with variable values. Formerly we had
Variable and TypeComponentPath to navigate to a component, mapped to a
BVariant representing the value. Now we have:
* Interface Value with various subclasses (BoolValue, IntegerValue, etc.) to
represent a value, with the flexibility for more esoteric values.
* A tree of ValueNode+ValueNodeChild objects to represent the components of a
variable. On top of each ValueNodeChild sits a ValueNode representing the
value of the component, potentially having ValueNodeChild children. This
should allow casting a component value, simply by replacing its ValueNode.
* Interface ValueHandler and various implementations for the different value
types. It is basically a factory for classes allowing to format/display a
value.
* ValueHandlerRoster -- a registry for ValueHandlers, finding the best one
for a given value.
* Interface TypeHandler and various implementions for the different type
kinds (primitive, compound, address, etc.). It is basically a factory for
ValueNodes for that type.
* TypeHandlerRoster -- a registry for TypeHandlers, finding the best one
for a given type.

That's still a bit work in progress. It introduces at least one regression:
The VariablesView doesn't save/restore its state anymore. Will take a while
until that is added back.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33907 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e466360263225e676bf981831ee3b8f9978936b2 01-Jul-2011 Rene Gollent <anevilyak@gmail.com>

Add copy constructor to ValueLoader.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42361 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 698ad09748bc7e6c117d2028e324d633f2935c55 30-Jun-2011 Rene Gollent <anevilyak@gmail.com>

* Add interface TeamTypeInformation and implement in TeamDebugInfo. Pass along
to various classes that need a reference to it in order to allow value nodes
to look up type information from the target team.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42354 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 04584c0d6f9eb1cc69fe36df2a761a13ede381da 21-Jun-2011 Rene Gollent <anevilyak@gmail.com>

Add the beginnings of a BMessage type/value handler. Not yet registered with
the type handler roster since it's quite far from being complete.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42279 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f9d5a5aa6f176ed7b9b8be18334a2741be14dbe 09-Dec-2010 Rene Gollent <anevilyak@gmail.com>

Extend ValueLoader::LoadStringValue() to accept a max length
parameter. When a CStringValue is representing an array, use
the array's length to limit how many bytes we read.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39795 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6a3160743ee94a31ba826614cab7935c4e5e0794 08-Nov-2010 Rene Gollent <anevilyak@gmail.com>

Remove unnecessary parameter.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39368 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 716f06ce58901e2a0c6cd128e26e42d22fc6e600 08-Nov-2010 Rene Gollent <anevilyak@gmail.com>

Added type/value handlers for C strings. This allow's the debugger's
variable view to actually render their contents rather than simply giving
the string's address.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39367 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 59ea286fac914a808edc6989becc77dadff10383 05-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* EnumerationValue -> EnumeratorValue
* Since some types don't have names (e.g. pointer types or anonymous structs or
unions), each type does now also have a unique ID. The global type cache
registers types by ID and by name (if they have one). This fixes clashes of
types with empty names.
* Completely refactored the code dealing with variable values. Formerly we had
Variable and TypeComponentPath to navigate to a component, mapped to a
BVariant representing the value. Now we have:
* Interface Value with various subclasses (BoolValue, IntegerValue, etc.) to
represent a value, with the flexibility for more esoteric values.
* A tree of ValueNode+ValueNodeChild objects to represent the components of a
variable. On top of each ValueNodeChild sits a ValueNode representing the
value of the component, potentially having ValueNodeChild children. This
should allow casting a component value, simply by replacing its ValueNode.
* Interface ValueHandler and various implementations for the different value
types. It is basically a factory for classes allowing to format/display a
value.
* ValueHandlerRoster -- a registry for ValueHandlers, finding the best one
for a given value.
* Interface TypeHandler and various implementions for the different type
kinds (primitive, compound, address, etc.). It is basically a factory for
ValueNodes for that type.
* TypeHandlerRoster -- a registry for TypeHandlers, finding the best one
for a given type.

That's still a bit work in progress. It introduces at least one regression:
The VariablesView doesn't save/restore its state anymore. Will take a while
until that is added back.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33907 a95241bf-73f2-0310-859d-f6bbb57e9c96