diff options
author | Jerome LAFORGE <jerome.laforge@gmail.com> | 2012-03-22 18:12:44 +0100 |
---|---|---|
committer | Jerome LAFORGE <jerome.laforge@gmail.com> | 2012-03-22 18:12:44 +0100 |
commit | b53374b371b1f0970edcbcfcb9ba9cd14d3f6aa8 (patch) | |
tree | 535dd0dd48d27c40867f7dd3e4c24b325d75269d | |
parent | 0964c7f25cac5f45a39ef4cfc408e64ae57abd6b (diff) | |
download | scintilla-mirror-b53374b371b1f0970edcbcfcb9ba9cd14d3f6aa8.tar.gz |
Use SparseState instead of std::vector.
Cleaning dead code.
Feature #3510158.
-rw-r--r-- | lexers/LexSQL.cxx | 16 |
1 files changed, 4 insertions, 12 deletions
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<size_t>(lineNumber))) { - return sqlStatement[lineNumber]; - } else { - return 0; - } + return sqlStatement.ValueAt(lineNumber); } SQLStates() {} private : - std::vector <unsigned short int> sqlStatement; + SparseState <unsigned short int> 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) |