summaryrefslogtreecommitdiffstats
path: root/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/parsing_frame.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/parsing_frame.cpp')
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/parsing_frame.cpp256
1 files changed, 0 insertions, 256 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/parsing_frame.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/parsing_frame.cpp
deleted file mode 100644
index f91ecbf4..00000000
--- a/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/parsing_frame.cpp
+++ /dev/null
@@ -1,256 +0,0 @@
-/**
- * @file parsing_frame.cpp
- *
- * Holds data needed for indenting and brace parsing
- *
- * @author Daniel Chumak
- * @license GPL v2+
- */
-
-#include "parsing_frame.h"
-
-#include "chunk.h"
-#include "options.h"
-#include "uncrustify.h"
-
-#include <stdexcept> // to get std::logic_error
-
-
-using std::string;
-using std::to_string;
-using std::invalid_argument;
-
-
-ParenStackEntry::ParenStackEntry()
-{
- m_openToken = CT_EOF;
- m_openChunk = Chunk::NullChunkPtr;
- m_openLevel = 0;
- m_openLine = 0;
- m_openCol = 0;
- m_braceIndent = 0;
- m_indent = 1;
- m_indentTmp = 1;
- m_indentTab = 1;
- m_nsCount = 0;
- m_indentContinue = false;
- m_inPreproc = false;
- m_nonVardef = false;
- m_parent = CT_NONE;
- m_stage = E_BraceStage::NONE;
- m_indentationData = { Chunk::NullChunkPtr, 0 };
- m_popChunk = Chunk::NullChunkPtr;
-}
-
-
-ParsingFrame::ParsingFrame()
-{
- //! amount of elements for which memory is going to be pre-initialized
- static constexpr int CONTAINER_INIT_SIZE = 16;
-
- m_parenStack = std::vector<ParenStackEntry>();
- m_parenStack.reserve(CONTAINER_INIT_SIZE);
- m_parenStack.push_back(ParenStackEntry());
-
- m_lastPopped = ParenStackEntry();
- m_refNumber = 0;
- m_parenLevel = 0;
- m_braceLevel = 0;
- m_ppLevel = 0;
- m_sParenCount = 0;
- m_parenCount = 0;
- m_ifdefType = E_Token::CT_NONE;
- m_stmtCount = 0;
- m_exprCount = 0;
-}
-
-
-ParenStackEntry &ParsingFrame::prev(size_t idx)
-{
- LOG_FUNC_ENTRY();
-
- if (idx == 0)
- {
- throw invalid_argument(string(__FILE__) + ":" + to_string(__LINE__)
- + " idx can't be zero");
- }
-
- if (idx >= m_parenStack.size())
- {
- LOG_FMT(LINDPSE, "%s(%d): idx is %zu, size is %zu\n",
- __func__, __LINE__, idx, m_parenStack.size());
- throw invalid_argument(string(__FILE__) + ":" + to_string(__LINE__)
- + " idx can't be >= size()");
- }
- return(*std::prev(std::end(m_parenStack), idx + 1));
-}
-
-
-const ParenStackEntry &ParsingFrame::prev(size_t idx) const
-{
- LOG_FUNC_ENTRY();
- // Reuse the code from non-const method
- return((const_cast<ParsingFrame *>(this))->prev(idx));
-}
-
-
-ParenStackEntry &ParsingFrame::top()
-{
- // always at least one (dummy) element inside m_parenStack guaranteed
- return(*std::prev(std::end(m_parenStack)));
-}
-
-
-const ParenStackEntry &ParsingFrame::top() const
-{
- // always at least one (dummy) element inside m_parenStack guaranteed
- return(*std::prev(std::end(m_parenStack)));
-}
-
-
-void ParsingFrame::push(Chunk *pc, const char *func, int line, E_BraceStage stage)
-{
- LOG_FUNC_ENTRY();
-
- ParenStackEntry new_entry;
-
- if (pc->IsNotNullChunk())
- {
- new_entry.SetOpenToken(pc->GetType());
- new_entry.SetOpenLevel(pc->GetLevel());
- new_entry.SetOpenLine(pc->GetOrigLine());
- new_entry.SetOpenCol(pc->GetOrigCol());
- new_entry.SetOpenChunk(pc);
-
- new_entry.SetIndentTab(top().GetIndentTab());
- new_entry.SetIndentContinue(top().GetIndentContinue());
- new_entry.SetStage(stage);
-
- new_entry.SetInPreproc(pc->TestFlags(PCF_IN_PREPROC));
- new_entry.SetNonVardef(false);
- new_entry.IndentData() = top().GetIndentData();
- new_entry.SetPopChunk(Chunk::NullChunkPtr);
- }
- m_parenStack.push_back(new_entry);
-
-// uncomment the line below to get the address of the m_parenStack
-// #define DEBUG_PUSH_POP
-#ifdef DEBUG_PUSH_POP
- LOG_FMT(LINDPSE, "ParsingFrame::push(%s:%d) Add is %4zu: orig line is %4zu, orig col is %4zu, type is %12s, "
- "brace level is %2zu, level is %2zu, pse_tos: %2zu -> %2zu\n",
- func, line, (size_t)this, pc->GetOrigLine(), pc->GetOrigCol(),
- get_token_name(pc->GetType()), pc->GetBraceLevel(), pc->GetLevel(),
- (m_parenStack.size() - 2), (m_parenStack.size() - 1));
-#else /* DEBUG_PUSH_POP */
- LOG_FMT(LINDPSE, "ParsingFrame::push(%s:%d): orig line is %4zu, orig col is %4zu, type is %12s, "
- "brace level is %2zu, level is %2zu, pse_tos: %2zu -> %2zu\n",
- func, line, pc->GetOrigLine(), pc->GetOrigCol(),
- get_token_name(pc->GetType()), pc->GetBraceLevel(), pc->GetLevel(),
- (m_parenStack.size() - 2), (m_parenStack.size() - 1));
-#endif /* DEBUG_PUSH_POP */
-}
-
-
-void ParsingFrame::pop(const char *func, int line, Chunk *pc)
-{
- LOG_FUNC_ENTRY();
-
- if ( pc->GetType() == CT_ACCESS
- || pc->GetType() == CT_ANGLE_CLOSE
- || pc->GetType() == CT_ANGLE_OPEN
- || pc->GetType() == CT_ARITH // Issue #3965
- || pc->GetType() == CT_ASSIGN
- || pc->GetType() == CT_ASSIGN_FUNC_PROTO // Issue #4026
- || pc->GetType() == CT_BRACE_CLOSE
- || pc->GetType() == CT_BRACE_OPEN
- || pc->GetType() == CT_BOOL
- || pc->GetType() == CT_CASE
- || pc->GetType() == CT_CLASS_COLON
- || pc->GetType() == CT_COMMA
- || pc->GetType() == CT_COMMENT
- || pc->GetType() == CT_COMMENT_CPP
- || pc->GetType() == CT_COMMENT_MULTI
- || pc->GetType() == CT_COMPARE // Issue #3915
- || pc->GetType() == CT_COND_COLON
- || pc->GetType() == CT_DC_MEMBER // Issue #4026
- || pc->GetType() == CT_FPAREN_CLOSE
- || pc->GetType() == CT_FPAREN_OPEN
- || pc->GetType() == CT_FUNC_CTOR_VAR // Issue #4026
- || pc->GetType() == CT_INCDEC_AFTER // Issue #4026
- || pc->GetType() == CT_LPAREN_CLOSE
- || pc->GetType() == CT_LPAREN_OPEN
- || pc->GetType() == CT_MACRO_CLOSE
- || pc->GetType() == CT_MACRO_FUNC_CALL // Issue #4026
- || pc->GetType() == CT_MACRO_OPEN
- || pc->GetType() == CT_MEMBER // Issue #3996
- || pc->GetType() == CT_NEWLINE
- || pc->GetType() == CT_NONE
- || pc->GetType() == CT_OC_END
- || pc->GetType() == CT_OC_MSG_NAME
- || pc->GetType() == CT_OC_PROPERTY
- || pc->GetType() == CT_OC_SCOPE
- || pc->GetType() == CT_OPERATOR // Issue #4026
- || pc->GetType() == CT_PARAMETER_PACK // Issue #4075
- || pc->GetType() == CT_PAREN_CLOSE
- || pc->GetType() == CT_PAREN_OPEN
- || pc->GetType() == CT_PREPROC
- || pc->GetType() == CT_QUESTION // Issue #4023
- || pc->GetType() == CT_RPAREN_CLOSE // Issue #3914
- || pc->GetType() == CT_RPAREN_OPEN
- || pc->GetType() == CT_SBOOL // Issue #3965
- || pc->GetType() == CT_SEMICOLON
- || pc->GetType() == CT_SHIFT // Issue #3983
- || pc->GetType() == CT_SPAREN_CLOSE
- || pc->GetType() == CT_SPAREN_OPEN
- || pc->GetType() == CT_SQL_END
- || pc->GetType() == CT_SQUARE_CLOSE
- || pc->GetType() == CT_SQUARE_OPEN
- || pc->GetType() == CT_TPAREN_CLOSE
- || pc->GetType() == CT_TPAREN_OPEN
- || pc->GetType() == CT_TYPEDEF
- || pc->GetType() == CT_VBRACE_CLOSE
- || pc->GetType() == CT_VBRACE_OPEN
- || pc->GetType() == CT_VSEMICOLON
- || pc->GetType() == CT_WORD)
- {
- LOG_FMT(LINDPSE, "ParsingFrame::pop (%s:%d): orig line is %4zu, orig col is %4zu, type is %12s\n",
- func, line, pc->GetOrigLine(), pc->GetOrigCol(), get_token_name(pc->GetType()));
- }
- else
- {
- fprintf(stderr, "ParsingFrame::pop (%s:%d): orig line is %4zu, orig col is %4zu, type is %12s,\n",
- func, line, pc->GetOrigLine(), pc->GetOrigCol(), get_token_name(pc->GetType()));
- fprintf(stderr, "ParsingFrame::pop (%s:%d): the type is %s, is not coded. Please make a call.\n",
- func, line, get_token_name(pc->GetType()));
- log_flush(true);
-
- if (uncrustify::options::debug_use_the_exit_function_pop()) // Issue #4075
- {
- exit(EX_SOFTWARE);
- }
- }
-#ifdef DEBUG_PUSH_POP
- LOG_FMT(LINDPSE, "ParsingFrame::pop (%s:%d) Add is %4zu: open_line is %4zu, clos_col is %4zu, type is %12s, "
- "cpd.level is %2d, level is %2zu, pse_tos: %2zu -> %2zu\n",
- func, line, (size_t)this, m_parenStack.back().open_line, m_parenStack.back().open_colu,
- get_token_name(m_parenStack.back().type), cpd.pp_level, m_parenStack.back().level,
- (m_parenStack.size() - 1), (m_parenStack.size() - 2));
-#else /* DEBUG_PUSH_POP */
- LOG_FMT(LINDPSE, "ParsingFrame::pop (%s:%d): open_line is %4zu, clos_col is %4zu, type is %12s, "
- "cpd.level is %2d, level is %2zu, pse_tos: %2zu -> %2zu\n",
- func, line, m_parenStack.back().GetOpenLine(), m_parenStack.back().GetOpenCol(),
- get_token_name(m_parenStack.back().GetOpenToken()), cpd.pp_level, m_parenStack.back().GetOpenLevel(),
- (m_parenStack.size() - 1), (m_parenStack.size() - 2));
-#endif /* DEBUG_PUSH_POP */
-
- m_lastPopped = *std::prev(std::end(m_parenStack));
-
- if (m_parenStack.size() == 1)
- {
- *std::begin(m_parenStack) = ParenStackEntry();
- }
- else
- {
- m_parenStack.pop_back();
- }
-} // ParsingFrame::pop