From 07b6f8998d3daa3ce3e4d56376f0b69cd6e382ec Mon Sep 17 00:00:00 2001 From: Daan Huinink Date: Wed, 27 May 2020 11:27:30 +0200 Subject: Fixed a bug where the argument type would be placed as the param instead of the argument name. (#154) --- src/Lang/Cpp/CppParser.ts | 2 +- src/test/CppTests/Parameters.test.ts | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Lang/Cpp/CppParser.ts b/src/Lang/Cpp/CppParser.ts index dcdfcba..d51f853 100644 --- a/src/Lang/Cpp/CppParser.ts +++ b/src/Lang/Cpp/CppParser.ts @@ -686,7 +686,7 @@ export default class CppParser implements ICodeParser { if (node.type === CppTokenType.Symbol && this.keywords.find((k) => k === node.value) === undefined ) { - if (symbolCount === 1 && argument.name === null) { + if (symbolCount === 1) { argument.name = node.value; continue; } else if (symbolCount > 1) { diff --git a/src/test/CppTests/Parameters.test.ts b/src/test/CppTests/Parameters.test.ts index cfcebe8..d55bdd5 100644 --- a/src/test/CppTests/Parameters.test.ts +++ b/src/test/CppTests/Parameters.test.ts @@ -42,6 +42,21 @@ suite("C++ - Parameters Tests", () => { assert.equal("/**\n * @brief \n * \n * @param a \n */", result); }); + test("Reference parameter with unsigned interger qualifier", () => { + const result = testSetup.SetLine("void foo(unsigned int& a);").GetResult(); + assert.equal("/**\n * @brief \n * \n * @param a \n */", result); + }); + + test("Reference parameter with const qualifier", () => { + const result = testSetup.SetLine("void foo(const int& a);").GetResult(); + assert.equal("/**\n * @brief \n * \n * @param a \n */", result); + }); + + test("Reference parameter with const and interger qualifier", () => { + const result = testSetup.SetLine("void foo(const unsigned int& a);").GetResult(); + assert.equal("/**\n * @brief \n * \n * @param a \n */", result); + }); + test("Pointer parameter", () => { const result = testSetup.SetLine("void foo(int* a);").GetResult(); assert.equal("/**\n * @brief \n * \n * @param a \n */", result); -- cgit v1.2.3