From b53374b371b1f0970edcbcfcb9ba9cd14d3f6aa8 Mon Sep 17 00:00:00 2001 From: Jerome LAFORGE Date: Thu, 22 Mar 2012 18:12:44 +0100 Subject: Use SparseState instead of std::vector. Cleaning dead code. Feature #3510158. --- lexers/LexSQL.cxx | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'lexers/LexSQL.cxx') diff --git a/lexers/LexSQL.cxx b/lexers/LexSQL.cxx index dc4e164b4..77f96b016 100644 --- a/lexers/LexSQL.cxx +++ b/lexers/LexSQL.cxx @@ -30,6 +30,7 @@ #include "CharacterSet.h" #include "LexerModule.h" #include "OptionSet.h" +#include "SparseState.h" #ifdef SCI_NAMESPACE using namespace Scintilla; @@ -65,10 +66,7 @@ static inline bool IsANumberChar(int ch) { class SQLStates { public : void Set(int lineNumber, unsigned short int sqlStatesLine) { - if (!sqlStatement.size() == 0 || !sqlStatesLine == 0) { - sqlStatement.resize(lineNumber + 1, 0); - sqlStatement[lineNumber] = sqlStatesLine; - } + sqlStatement.Set(lineNumber, sqlStatesLine); } unsigned short int IgnoreWhen (unsigned short int sqlStatesLine, bool enable) { @@ -181,17 +179,13 @@ public : } unsigned short int ForLine(int lineNumber) { - if ((lineNumber > 0) && (sqlStatement.size() > static_cast(lineNumber))) { - return sqlStatement[lineNumber]; - } else { - return 0; - } + return sqlStatement.ValueAt(lineNumber); } SQLStates() {} private : - std::vector sqlStatement; + SparseState sqlStatement; enum { MASK_NESTED_CASES = 0x01FF, MASK_INTO_SELECT_STATEMENT = 0x0200, @@ -610,7 +604,6 @@ void SCI_METHOD LexerSQL::Fold(unsigned int startPos, int length, int initStyle, if (!sqlStates.IsCaseMergeWithoutWhenFound(sqlStatesCurrentLine)) levelNext--; sqlStatesCurrentLine = sqlStates.IntoMergeStatement(sqlStatesCurrentLine, false); - //sqlStatesCurrentLine = sqlStates.WhenThenFound(sqlStatesCurrentLine, false); levelNext--; } if (sqlStates.IsIntoSelectStatement(sqlStatesCurrentLine)) @@ -722,7 +715,6 @@ void SCI_METHOD LexerSQL::Fold(unsigned int startPos, int length, int initStyle, sqlStatesCurrentLine = sqlStates.EndCaseBlock(sqlStatesCurrentLine); if (!sqlStates.IsCaseMergeWithoutWhenFound(sqlStatesCurrentLine)) levelNext--; //again for the "end case;" and block when - //sqlStatesCurrentLine = sqlStates.WhenThenFound(sqlStatesCurrentLine, false); } } else if (!options.foldOnlyBegin) { if (strcmp(s, "case") == 0) -- cgit v1.2.3