diff options
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/semicolons.cpp')
-rw-r--r-- | debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/semicolons.cpp | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/semicolons.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/semicolons.cpp deleted file mode 100644 index 569f5271..00000000 --- a/debian/uncrustify-trinity/uncrustify-trinity-0.78.1/src/semicolons.cpp +++ /dev/null @@ -1,151 +0,0 @@ -/** - * @file semicolons.cpp - * Removes extra semicolons - * - * @author Ben Gardner - * @license GPL v2+ - */ - -#include "semicolons.h" - -#include "prototypes.h" - - -static void remove_semicolon(Chunk *pc); - - -/** - * We are on a semicolon that is after an unidentified brace close. - * Check for what is before the brace open. - * Do not remove if it is a square close, word, type, or paren close. - */ -static void check_unknown_brace_close(Chunk *semi, Chunk *brace_close); - - -static void remove_semicolon(Chunk *pc) -{ - LOG_FUNC_ENTRY(); - LOG_FMT(LDELSEMI, "%s(%d): Removed semicolon: orig line is %zu, orig col is %zu", - __func__, __LINE__, pc->GetOrigLine(), pc->GetOrigCol()); - log_func_stack_inline(LDELSEMI); - // TODO: do we want to shift stuff back a column? - Chunk::Delete(pc); -} - - -void remove_extra_semicolons() -{ - LOG_FUNC_ENTRY(); - - Chunk *pc = Chunk::GetHead(); - - while (pc->IsNotNullChunk()) - { - Chunk *next = pc->GetNextNcNnl(); - Chunk *prev; - - if ( pc->Is(CT_SEMICOLON) - && !pc->TestFlags(PCF_IN_PREPROC) - && (prev = pc->GetPrevNcNnl())->IsNotNullChunk()) - { - LOG_FMT(LSCANSEMI, "%s(%d): Semi orig line is %zu, orig col is %zu, parent is %s, prev = '%s' [%s/%s]\n", - __func__, __LINE__, pc->GetOrigLine(), pc->GetOrigCol(), get_token_name(pc->GetParentType()), - prev->Text(), - get_token_name(prev->GetType()), get_token_name(prev->GetParentType())); - - if (pc->GetParentType() == CT_TYPEDEF) - { - // keep it - } - else if ( prev->Is(CT_BRACE_CLOSE) - && ( prev->GetParentType() == CT_ELSE - || prev->GetParentType() == CT_ELSEIF - || prev->GetParentType() == CT_FOR - || prev->GetParentType() == CT_FUNC_CLASS_DEF - || prev->GetParentType() == CT_FUNC_DEF - || prev->GetParentType() == CT_IF - || prev->GetParentType() == CT_NAMESPACE - || prev->GetParentType() == CT_OC_MSG_DECL - || prev->GetParentType() == CT_SWITCH - || prev->GetParentType() == CT_USING_STMT - || prev->GetParentType() == CT_WHILE)) - { - // looking for code block vs. initialisation - bool code_block_found = true; - Chunk *closing_brace = pc->GetPrevNcNnl(); // Issue #3506 - - if (closing_brace->IsNotNullChunk()) - { - Chunk *opening_brace = closing_brace->GetOpeningParen(); - - if (opening_brace->IsNotNullChunk()) - { - Chunk *equal_sign = opening_brace->GetPrevNcNnl(); - - if ( equal_sign->IsNotNullChunk() - && equal_sign->Is(CT_ASSIGN)) - { - // initialisation found - code_block_found = false; - } - } - } - - if (code_block_found) - { - // code block found - remove_semicolon(pc); - } - } - else if ( prev->Is(CT_BRACE_CLOSE) - && prev->GetParentType() == CT_NONE) - { - check_unknown_brace_close(pc, prev); - } - else if ( prev->Is(CT_SEMICOLON) - && prev->GetParentType() != CT_FOR) - { - remove_semicolon(pc); - } - else if ( language_is_set(LANG_D) - && ( prev->GetParentType() == CT_ENUM - || prev->GetParentType() == CT_STRUCT - || prev->GetParentType() == CT_UNION)) - { - remove_semicolon(pc); - } - else if ( language_is_set(LANG_JAVA) - && prev->GetParentType() == CT_SYNCHRONIZED) - { - remove_semicolon(pc); - } - else if (prev->Is(CT_BRACE_OPEN)) - { - remove_semicolon(pc); - } - } - pc = next; - } -} // remove_extra_semicolons - - -static void check_unknown_brace_close(Chunk *semi, Chunk *brace_close) -{ - LOG_FUNC_ENTRY(); - Chunk *pc = brace_close->GetPrevType(CT_BRACE_OPEN, brace_close->GetLevel()); - - pc = pc->GetPrevNcNnl(); - - if ( pc->IsNotNullChunk() - && pc->IsNot(CT_ANGLE_CLOSE) - && pc->IsNot(CT_COND_COLON) // Issue #3920 - && pc->IsNot(CT_RETURN) - && pc->IsNot(CT_SQUARE_CLOSE) - && pc->IsNot(CT_TSQUARE) - && pc->IsNot(CT_TYPE) - && pc->IsNot(CT_WORD) - && !pc->IsParenClose()) - { - remove_semicolon(semi); - } -} |