summaryrefslogtreecommitdiffstats
path: root/scintilla/lexers/LexSQL.cxx
diff options
context:
space:
mode:
authorXhmikosR <xhmikosr@users.sourceforge.net>2012-03-26 14:28:11 +0000
committerXhmikosR <xhmikosr@users.sourceforge.net>2012-03-26 14:28:11 +0000
commitbb12505c01e845be4cc630d7c32560661d65b8bb (patch)
tree8ccbfb04eab1bc32f5ea2d805661341d5f5452a2 /scintilla/lexers/LexSQL.cxx
parent157c9709dc3967f385540f56090a8bebbc738143 (diff)
downloadnotepad2-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.cxx16
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)