diff options
| author | Christoph Schlosser <2466365+cschlosser@users.noreply.github.com> | 2020-10-03 16:50:43 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-03 16:50:43 +0200 |
| commit | 2af50bd62c2e26975a46b499c1c687be42be80a1 (patch) | |
| tree | 184584c3294335e3b1039a76e1b25eaa6b05603b /src | |
| parent | 7240272e98e615c5424856d00f4ab8a70e4cc821 (diff) | |
| download | doxdocgen-2af50bd62c2e26975a46b499c1c687be42be80a1.tar.gz | |
Fix default value in tparams (#172)
Diffstat (limited to 'src')
| -rw-r--r-- | src/Lang/Cpp/CppParser.ts | 3 | ||||
| -rw-r--r-- | src/test/CppTests/Templates.test.ts | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/Lang/Cpp/CppParser.ts b/src/Lang/Cpp/CppParser.ts index 0fef5dc..8ed4bc8 100644 --- a/src/Lang/Cpp/CppParser.ts +++ b/src/Lang/Cpp/CppParser.ts @@ -808,6 +808,9 @@ export default class CppParser implements ICodeParser { // Remove <> and add a comma to the end to remove edge case. template = template.slice(template.indexOf("<") + 1, template.lastIndexOf(">")).replace(/^\s+|\s+$/g, "") + ","; + // Remove = and everything to the right until a , comes up + template = template.replace(/(\W*=\W*\S*\,)/gm, ","); + const nestedCounts: { [key: string]: number; } = { "(": 0, "<": 0, diff --git a/src/test/CppTests/Templates.test.ts b/src/test/CppTests/Templates.test.ts index 07a2144..0c4e1b6 100644 --- a/src/test/CppTests/Templates.test.ts +++ b/src/test/CppTests/Templates.test.ts @@ -48,4 +48,11 @@ suite("C++ - Template tests", () => { assert.equal("/**\n * @brief \n * \n * @tparam T \n * @tparam Args \n *" + " @param first \n * @param args \n * @return T \n */", result); }); + + test("Default template param value", () => { + const result = testSetup.SetLine("template <bool is_foo=false, bool is_bar =true, bool is_nothrow = true>" + + "\nstruct Foo;").GetResult(); + assert.equal("/**\n * @brief \n * \n * @tparam is_foo \n * @tparam is_bar \n *" + + " @tparam is_nothrow \n */", result); + }); }); |