Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2009-11-18 23:20:06 +0000
committereutarass2009-11-18 23:20:06 +0000
commitc672248dccfaaa5a8fa3eea74303c11d47e97eac (patch)
tree132063962309810a88600bd3fbba58adc17f0f1d /services/symbols.c
parent2c84b1032c495d147201da056dc13dfc855deef2 (diff)
downloadorg.eclipse.tcf.agent-c672248dccfaaa5a8fa3eea74303c11d47e97eac.tar.gz
org.eclipse.tcf.agent-c672248dccfaaa5a8fa3eea74303c11d47e97eac.tar.xz
org.eclipse.tcf.agent-c672248dccfaaa5a8fa3eea74303c11d47e97eac.zip
Symbols service: add two new symbol properties: LowerBound and UpperBound
Diffstat (limited to 'services/symbols.c')
-rw-r--r--services/symbols.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/services/symbols.c b/services/symbols.c
index ceb2a73b..86211801 100644
--- a/services/symbols.c
+++ b/services/symbols.c
@@ -50,7 +50,8 @@ static void command_get_context(char * token, Channel * c) {
unsigned long length = 0;
unsigned long offset = 0;
ContextAddress address = 0;
- int frame = STACK_NO_FRAME; /* TODO: symbol frame */
+ /* Symbols service only provides static data - without stack frame */
+ int frame = STACK_NO_FRAME;
write_stream(&c->out, '{');
@@ -112,6 +113,18 @@ static void command_get_context(char * token, Channel * c) {
write_stream(&c->out, ':');
json_write_long(&c->out, length);
write_stream(&c->out, ',');
+
+ if (get_symbol_lower_bound(&sym, frame, &offset) == 0) {
+ json_write_string(&c->out, "LowerBound");
+ write_stream(&c->out, ':');
+ json_write_long(&c->out, offset);
+ write_stream(&c->out, ',');
+
+ json_write_string(&c->out, "UpperBound");
+ write_stream(&c->out, ':');
+ json_write_long(&c->out, offset + length - 1);
+ write_stream(&c->out, ',');
+ }
}
if (sym.sym_class == SYM_CLASS_REFERENCE) {

Back to the top