diff options
author | XhmikosR <xhmikosr@users.sourceforge.net> | 2012-03-26 14:28:11 +0000 |
---|---|---|
committer | XhmikosR <xhmikosr@users.sourceforge.net> | 2012-03-26 14:28:11 +0000 |
commit | bb12505c01e845be4cc630d7c32560661d65b8bb (patch) | |
tree | 8ccbfb04eab1bc32f5ea2d805661341d5f5452a2 /scintilla/lexers/LexSQL.cxx | |
parent | 157c9709dc3967f385540f56090a8bebbc738143 (diff) | |
download | notepad2-mod-bb12505c01e845be4cc630d7c32560661d65b8bb.zip notepad2-mod-bb12505c01e845be4cc630d7c32560661d65b8bb.tar.gz notepad2-mod-bb12505c01e845be4cc630d7c32560661d65b8bb.tar.bz2 |
update scintilla
git-svn-id: https://notepad2-mod.googlecode.com/svn/trunk@723 28bd50df-7adb-d945-0439-6e466c6a13cc
Diffstat (limited to 'scintilla/lexers/LexSQL.cxx')
-rw-r--r-- | scintilla/lexers/LexSQL.cxx | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/scintilla/lexers/LexSQL.cxx b/scintilla/lexers/LexSQL.cxx index cca16c0..a8f306c 100644 --- a/scintilla/lexers/LexSQL.cxx +++ b/scintilla/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)
|