summaryrefslogtreecommitdiffstats
path: root/debian/uncrustify-trinity/uncrustify-trinity-0.78.0/src/parent_for_pp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.78.0/src/parent_for_pp.cpp')
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.78.0/src/parent_for_pp.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.78.0/src/parent_for_pp.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.78.0/src/parent_for_pp.cpp
new file mode 100644
index 00000000..f731b9f7
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.78.0/src/parent_for_pp.cpp
@@ -0,0 +1,54 @@
+/**
+ * @file parent_for_pp.cpp
+ *
+ * @author Guy Maurel
+ * @license GPL v2+
+ */
+
+#include "parent_for_pp.h"
+
+#include "chunk.h"
+
+
+void do_parent_for_pp()
+{
+ LOG_FUNC_ENTRY();
+
+ vector<Chunk *> viz;
+
+ Chunk *pc = Chunk::GetHead()->GetNextNcNnl();
+
+ while (pc->IsNotNullChunk())
+ {
+ // CT_PP_IF, // #if, #ifdef, or #ifndef
+ // CT_PP_ELSE, // #else or #elif
+ // CT_PP_ENDIF, // #endif
+ if (pc->Is(CT_PP_IF))
+ {
+ LOG_FMT(LMCB, "%s(%d): IF: orig line %zu, orig col is %zu\n",
+ __func__, __LINE__, pc->GetOrigLine(), pc->GetOrigCol());
+ log_pcf_flags(LMCB, pc->GetFlags());
+ viz.push_back(pc);
+ }
+ else if (pc->Is(CT_PP_ELSE))
+ {
+ LOG_FMT(LMCB, "%s(%d): ELSE: orig line %zu, orig col is %zu\n",
+ __func__, __LINE__, pc->GetOrigLine(), pc->GetOrigCol());
+ log_pcf_flags(LMCB, pc->GetFlags());
+ size_t level = pc->GetPpLevel();
+ Chunk *a = viz.at(level - 1);
+ pc->SetParent(a);
+ }
+ else if (pc->Is(CT_PP_ENDIF))
+ {
+ LOG_FMT(LMCB, "%s(%d): ENDIF: orig line %zu, orig col is %zu\n",
+ __func__, __LINE__, pc->GetOrigLine(), pc->GetOrigCol());
+ log_pcf_flags(LMCB, pc->GetFlags());
+ size_t level = pc->GetPpLevel();
+ Chunk *a = viz.at(level);
+ pc->SetParent(a);
+ viz.pop_back();
+ }
+ pc = pc->GetNextNcNnl();
+ }
+} // do_parent_for_pp