diff options
author | eutarass | 2009-11-18 23:20:06 +0000 |
---|---|---|
committer | eutarass | 2009-11-18 23:20:06 +0000 |
commit | c672248dccfaaa5a8fa3eea74303c11d47e97eac (patch) | |
tree | 132063962309810a88600bd3fbba58adc17f0f1d /services/symbols.c | |
parent | 2c84b1032c495d147201da056dc13dfc855deef2 (diff) | |
download | org.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.c | 15 |
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) { |