summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Lang/Cpp/CppParser.ts2
-rw-r--r--src/test/CppTests/Parameters.test.ts15
2 files changed, 16 insertions, 1 deletions
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);