From 22198107157b32447cc73607f031f4ca1e34da89 Mon Sep 17 00:00:00 2001 From: Marcel Ball Date: Wed, 24 Jan 2018 15:47:23 -0400 Subject: [PATCH] Fix GDB expansion of structures/arrays containing floating point values. --- src/backend/gdb_expansion.ts | 2 +- test/gdb_expansion.test.ts | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/backend/gdb_expansion.ts b/src/backend/gdb_expansion.ts index efb5949..8528dff 100644 --- a/src/backend/gdb_expansion.ts +++ b/src/backend/gdb_expansion.ts @@ -7,7 +7,7 @@ const referenceStringRegex = /^(0x[0-9a-fA-F]+\s*)"/; const referenceRegex = /^0x[0-9a-fA-F]+/; const nullpointerRegex = /^0x0+\b/; const charRegex = /^(\d+) ['"]/; -const numberRegex = /^\d+/; +const numberRegex = /^\d+(\.\d+)?/; const pointerCombineChar = "."; export function isExpandable(value: string): number { diff --git a/test/gdb_expansion.test.ts b/test/gdb_expansion.test.ts index 60acddf..8d7e3b7 100644 --- a/test/gdb_expansion.test.ts +++ b/test/gdb_expansion.test.ts @@ -292,4 +292,15 @@ suite("GDB Value Expansion", () => { } ]); }); + test("float values", () => { + let node = `{ intval1 = 123, floatval1 = 123.456, intval2 = 3, floatval2 = 234.45 }`; + let variables = expandValue(variableCreate, node); + + assert.deepEqual(variables, [ + { name: "intval1", value: "123", variablesReference: 0 }, + { name: "floatval1", value: "123.456", variablesReference: 0 }, + { name: "intval2", value: "3", variablesReference: 0 }, + { name: "floatval2", value: "234.45", variablesReference: 0 } + ]); + }); }); \ No newline at end of file