summaryrefslogtreecommitdiffstats
path: root/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/parameter_pack_cleanup.cpp
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2023-12-01 12:38:43 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2023-12-01 12:38:43 +0900
commitb67b7f2b784c7105e88a5e639d9d84736ae2cbc1 (patch)
tree0fd16d439c681c07d57d7f0d544c7582e04c3a31 /debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/parameter_pack_cleanup.cpp
parentc0a6f1b84c84749908961579b84513fd9f9d9eac (diff)
downloadextra-dependencies-b67b7f2b784c7105e88a5e639d9d84736ae2cbc1.tar.gz
extra-dependencies-b67b7f2b784c7105e88a5e639d9d84736ae2cbc1.zip
uncrustify-trinity: updated based on upstream version 0.78.1
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/parameter_pack_cleanup.cpp')
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/parameter_pack_cleanup.cpp65
1 files changed, 65 insertions, 0 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/parameter_pack_cleanup.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/parameter_pack_cleanup.cpp
new file mode 100644
index 00000000..12992ff3
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/parameter_pack_cleanup.cpp
@@ -0,0 +1,65 @@
+/**
+ * @file parameter_pack_cleanup.cpp
+ *
+ * @author Guy Maurel
+ * @license GPL v2+
+ */
+
+#include "parameter_pack_cleanup.h"
+
+#include "chunk.h"
+#include "uncrustify.h"
+
+
+void parameter_pack_cleanup()
+{
+ LOG_FUNC_ENTRY();
+
+ Chunk *pc = Chunk::GetHead();
+
+ while (pc->IsNotNullChunk())
+ {
+ LOG_CHUNK(LTOK, pc);
+
+ // look for template
+ if (pc->Is(CT_TEMPLATE)) // Issue #3309
+ {
+ Chunk *template_end = pc->GetNextType(CT_SEMICOLON, pc->GetLevel());
+
+ // look for a parameter pack
+ while (pc->IsNotNullChunk())
+ {
+ LOG_CHUNK(LTOK, pc);
+
+ if (pc->Is(CT_PARAMETER_PACK))
+ {
+ Chunk *parameter_pack = pc;
+
+ // look for a token with the same text
+ while (pc->IsNotNullChunk())
+ {
+ LOG_CHUNK(LTOK, pc);
+
+ if (pc == template_end)
+ {
+ break;
+ }
+
+ if (strcmp(pc->Text(), parameter_pack->Text()) == 0)
+ {
+ pc->SetType(CT_PARAMETER_PACK);
+ }
+ pc = pc->GetNext();
+ }
+ }
+ pc = pc->GetNext();
+
+ if (pc == template_end)
+ {
+ break;
+ }
+ }
+ }
+ pc = pc->GetNext();
+ }
+} // parameter_pack_cleanup