diff options
| author | Neil <nyamatongwe@gmail.com> | 2016-01-31 14:38:11 +1100 | 
|---|---|---|
| committer | Neil <nyamatongwe@gmail.com> | 2016-01-31 14:38:11 +1100 | 
| commit | d94214b41cc24a20d69076a4f6dbd43a48d137e2 (patch) | |
| tree | 6f829cecd7a2f4e4d54e9508c4d7f3d5b9c19256 | |
| parent | dc4cef62cd7114c9a96f40005aeb983a7ea0c701 (diff) | |
| download | scintilla-mirror-d94214b41cc24a20d69076a4f6dbd43a48d137e2.tar.gz | |
Replace expressions to find level number of a fold level with function call.
Simplifies code by removing any precedence issues and is shorter.
| -rw-r--r-- | src/Document.cxx | 36 | ||||
| -rw-r--r-- | src/EditView.cxx | 2 | ||||
| -rw-r--r-- | src/Editor.cxx | 6 | ||||
| -rw-r--r-- | src/MarginView.cxx | 10 | 
4 files changed, 27 insertions, 27 deletions
| diff --git a/src/Document.cxx b/src/Document.cxx index b0744a21c..0c6866409 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -436,12 +436,12 @@ static bool IsSubordinate(int levelStart, int levelTry) {  	if (levelTry & SC_FOLDLEVELWHITEFLAG)  		return true;  	else -		return (levelStart & SC_FOLDLEVELNUMBERMASK) < (levelTry & SC_FOLDLEVELNUMBERMASK); +		return LevelNumber(levelStart) < LevelNumber(levelTry);  }  int Document::GetLastChild(int lineParent, int level, int lastLine) {  	if (level == -1) -		level = GetLevel(lineParent) & SC_FOLDLEVELNUMBERMASK; +		level = LevelNumber(GetLevel(lineParent));  	int maxLine = LinesTotal();  	int lookLastLine = (lastLine != -1) ? Platform::Minimum(LinesTotal() - 1, lastLine) : -1;  	int lineMaxSubord = lineParent; @@ -454,7 +454,7 @@ int Document::GetLastChild(int lineParent, int level, int lastLine) {  		lineMaxSubord++;  	}  	if (lineMaxSubord > lineParent) { -		if (level > (GetLevel(lineMaxSubord + 1) & SC_FOLDLEVELNUMBERMASK)) { +		if (level > LevelNumber(GetLevel(lineMaxSubord + 1))) {  			// Have chewed up some whitespace that belongs to a parent so seek back  			if (GetLevel(lineMaxSubord) & SC_FOLDLEVELWHITEFLAG) {  				lineMaxSubord--; @@ -465,16 +465,16 @@ int Document::GetLastChild(int lineParent, int level, int lastLine) {  }  int Document::GetFoldParent(int line) const { -	int level = GetLevel(line) & SC_FOLDLEVELNUMBERMASK; +	int level = LevelNumber(GetLevel(line));  	int lineLook = line - 1;  	while ((lineLook > 0) && (  	            (!(GetLevel(lineLook) & SC_FOLDLEVELHEADERFLAG)) || -	            ((GetLevel(lineLook) & SC_FOLDLEVELNUMBERMASK) >= level)) +	            (LevelNumber(GetLevel(lineLook)) >= level))  	      ) {  		lineLook--;  	}  	if ((GetLevel(lineLook) & SC_FOLDLEVELHEADERFLAG) && -	        ((GetLevel(lineLook) & SC_FOLDLEVELNUMBERMASK) < level)) { +	        (LevelNumber(GetLevel(lineLook)) < level)) {  		return lineLook;  	} else {  		return -1; @@ -487,11 +487,11 @@ void Document::GetHighlightDelimiters(HighlightDelimiter &highlightDelimiter, in  	int lookLine = line;  	int lookLineLevel = level; -	int lookLineLevelNum = lookLineLevel & SC_FOLDLEVELNUMBERMASK; +	int lookLineLevelNum = LevelNumber(lookLineLevel);  	while ((lookLine > 0) && ((lookLineLevel & SC_FOLDLEVELWHITEFLAG) || -		((lookLineLevel & SC_FOLDLEVELHEADERFLAG) && (lookLineLevelNum >= (GetLevel(lookLine + 1) & SC_FOLDLEVELNUMBERMASK))))) { +		((lookLineLevel & SC_FOLDLEVELHEADERFLAG) && (lookLineLevelNum >= LevelNumber(GetLevel(lookLine + 1)))))) {  		lookLineLevel = GetLevel(--lookLine); -		lookLineLevelNum = lookLineLevel & SC_FOLDLEVELNUMBERMASK; +		lookLineLevelNum = LevelNumber(lookLineLevel);  	}  	int beginFoldBlock = (lookLineLevel & SC_FOLDLEVELHEADERFLAG) ? lookLine : GetFoldParent(lookLine); @@ -505,7 +505,7 @@ void Document::GetHighlightDelimiters(HighlightDelimiter &highlightDelimiter, in  	if (endFoldBlock < line) {  		lookLine = beginFoldBlock - 1;  		lookLineLevel = GetLevel(lookLine); -		lookLineLevelNum = lookLineLevel & SC_FOLDLEVELNUMBERMASK; +		lookLineLevelNum = LevelNumber(lookLineLevel);  		while ((lookLine >= 0) && (lookLineLevelNum >= SC_FOLDLEVELBASE)) {  			if (lookLineLevel & SC_FOLDLEVELHEADERFLAG) {  				if (GetLastChild(lookLine, -1, lookLastLine) == line) { @@ -514,17 +514,17 @@ void Document::GetHighlightDelimiters(HighlightDelimiter &highlightDelimiter, in  					firstChangeableLineBefore = line - 1;  				}  			} -			if ((lookLine > 0) && (lookLineLevelNum == SC_FOLDLEVELBASE) && ((GetLevel(lookLine - 1) & SC_FOLDLEVELNUMBERMASK) > lookLineLevelNum)) +			if ((lookLine > 0) && (lookLineLevelNum == SC_FOLDLEVELBASE) && (LevelNumber(GetLevel(lookLine - 1)) > lookLineLevelNum))  				break;  			lookLineLevel = GetLevel(--lookLine); -			lookLineLevelNum = lookLineLevel & SC_FOLDLEVELNUMBERMASK; +			lookLineLevelNum = LevelNumber(lookLineLevel);  		}  	}  	if (firstChangeableLineBefore == -1) { -		for (lookLine = line - 1, lookLineLevel = GetLevel(lookLine), lookLineLevelNum = lookLineLevel & SC_FOLDLEVELNUMBERMASK; +		for (lookLine = line - 1, lookLineLevel = GetLevel(lookLine), lookLineLevelNum = LevelNumber(lookLineLevel);  			lookLine >= beginFoldBlock; -			lookLineLevel = GetLevel(--lookLine), lookLineLevelNum = lookLineLevel & SC_FOLDLEVELNUMBERMASK) { -			if ((lookLineLevel & SC_FOLDLEVELWHITEFLAG) || (lookLineLevelNum > (level & SC_FOLDLEVELNUMBERMASK))) { +			lookLineLevel = GetLevel(--lookLine), lookLineLevelNum = LevelNumber(lookLineLevel)) { +			if ((lookLineLevel & SC_FOLDLEVELWHITEFLAG) || (lookLineLevelNum > LevelNumber(level))) {  				firstChangeableLineBefore = lookLine;  				break;  			} @@ -534,10 +534,10 @@ void Document::GetHighlightDelimiters(HighlightDelimiter &highlightDelimiter, in  		firstChangeableLineBefore = beginFoldBlock - 1;  	int firstChangeableLineAfter = -1; -	for (lookLine = line + 1, lookLineLevel = GetLevel(lookLine), lookLineLevelNum = lookLineLevel & SC_FOLDLEVELNUMBERMASK; +	for (lookLine = line + 1, lookLineLevel = GetLevel(lookLine), lookLineLevelNum = LevelNumber(lookLineLevel);  		lookLine <= endFoldBlock; -		lookLineLevel = GetLevel(++lookLine), lookLineLevelNum = lookLineLevel & SC_FOLDLEVELNUMBERMASK) { -		if ((lookLineLevel & SC_FOLDLEVELHEADERFLAG) && (lookLineLevelNum < (GetLevel(lookLine + 1) & SC_FOLDLEVELNUMBERMASK))) { +		lookLineLevel = GetLevel(++lookLine), lookLineLevelNum = LevelNumber(lookLineLevel)) { +		if ((lookLineLevel & SC_FOLDLEVELHEADERFLAG) && (lookLineLevelNum < LevelNumber(GetLevel(lookLine + 1)))) {  			firstChangeableLineAfter = lookLine;  			break;  		} diff --git a/src/EditView.cxx b/src/EditView.cxx index fc98c3d6d..805971a88 100644 --- a/src/EditView.cxx +++ b/src/EditView.cxx @@ -1744,7 +1744,7 @@ static void DrawFoldLines(Surface *surface, const EditModel &model, const ViewSt  	const int level = model.pdoc->GetLevel(line);  	const int levelNext = model.pdoc->GetLevel(line + 1);  	if ((level & SC_FOLDLEVELHEADERFLAG) && -		((level & SC_FOLDLEVELNUMBERMASK) < (levelNext & SC_FOLDLEVELNUMBERMASK))) { +		(LevelNumber(level) < LevelNumber(levelNext))) {  		// Paint the line above the fold  		if ((expanded && (model.foldFlags & SC_FOLDFLAG_LINEBEFORE_EXPANDED))  			|| diff --git a/src/Editor.cxx b/src/Editor.cxx index d9bc37694..b480287c3 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -5292,7 +5292,7 @@ void Editor::FoldExpand(int line, int action, int level) {  	if (expanding && (cs.HiddenLines() == 0))  		// Nothing to do  		return; -	int lineMaxSubord = pdoc->GetLastChild(line, level & SC_FOLDLEVELNUMBERMASK); +	int lineMaxSubord = pdoc->GetLastChild(line, LevelNumber(level));  	line++;  	cs.SetVisible(line, lineMaxSubord, expanding);  	while (line <= lineMaxSubord) { @@ -5399,7 +5399,7 @@ void Editor::FoldAll(int action) {  		for (int line = 0; line < maxLine; line++) {  			int level = pdoc->GetLevel(line);  			if ((level & SC_FOLDLEVELHEADERFLAG) && -					(SC_FOLDLEVELBASE == (level & SC_FOLDLEVELNUMBERMASK))) { +					(SC_FOLDLEVELBASE == LevelNumber(level))) {  				SetFoldExpanded(line, false);  				int lineMaxSubord = pdoc->GetLastChild(line, -1);  				if (lineMaxSubord > line) { @@ -5440,7 +5440,7 @@ void Editor::FoldChanged(int line, int levelNow, int levelPrev) {  		}  	}  	if (!(levelNow & SC_FOLDLEVELWHITEFLAG) && -	        ((levelPrev & SC_FOLDLEVELNUMBERMASK) > (levelNow & SC_FOLDLEVELNUMBERMASK))) { +	        (LevelNumber(levelPrev) > LevelNumber(levelNow))) {  		if (cs.HiddenLines()) {  			// See if should still be hidden  			int parentLine = pdoc->GetFoldParent(line); diff --git a/src/MarginView.cxx b/src/MarginView.cxx index f164a7cb1..52a2cb2dd 100644 --- a/src/MarginView.cxx +++ b/src/MarginView.cxx @@ -243,7 +243,7 @@ void MarginView::PaintMargin(Surface *surface, int topLine, PRectangle rc, PRect  						levelPrev = model.pdoc->GetLevel(lineBack);  					}  					if (!(levelPrev & SC_FOLDLEVELHEADERFLAG)) { -						if ((level & SC_FOLDLEVELNUMBERMASK) < (levelPrev & SC_FOLDLEVELNUMBERMASK)) +						if (LevelNumber(level) < LevelNumber(levelPrev))  							needWhiteClosure = true;  					}  				} @@ -279,8 +279,8 @@ void MarginView::PaintMargin(Surface *surface, int topLine, PRectangle rc, PRect  					// Decide which fold indicator should be displayed  					const int level = model.pdoc->GetLevel(lineDoc);  					const int levelNext = model.pdoc->GetLevel(lineDoc + 1); -					const int levelNum = level & SC_FOLDLEVELNUMBERMASK; -					const int levelNextNum = levelNext & SC_FOLDLEVELNUMBERMASK; +					const int levelNum = LevelNumber(level); +					const int levelNextNum = LevelNumber(levelNext);  					if (level & SC_FOLDLEVELHEADERFLAG) {  						if (firstSubLine) {  							if (levelNum < levelNextNum) { @@ -312,7 +312,7 @@ void MarginView::PaintMargin(Surface *surface, int topLine, PRectangle rc, PRect  						needWhiteClosure = false;  						const int firstFollowupLine = model.cs.DocFromDisplay(model.cs.DisplayFromDoc(lineDoc + 1));  						const int firstFollowupLineLevel = model.pdoc->GetLevel(firstFollowupLine); -						const int secondFollowupLineLevelNum = model.pdoc->GetLevel(firstFollowupLine + 1) & SC_FOLDLEVELNUMBERMASK; +						const int secondFollowupLineLevelNum = LevelNumber(model.pdoc->GetLevel(firstFollowupLine + 1));  						if (!model.cs.GetExpanded(lineDoc)) {  							if ((firstFollowupLineLevel & SC_FOLDLEVELWHITEFLAG) &&  								(levelNum > secondFollowupLineLevelNum)) @@ -380,7 +380,7 @@ void MarginView::PaintMargin(Surface *surface, int topLine, PRectangle rc, PRect  								sprintf(number, "%c%c %03X %03X",  									(lev & SC_FOLDLEVELHEADERFLAG) ? 'H' : '_',  									(lev & SC_FOLDLEVELWHITEFLAG) ? 'W' : '_', -									lev & SC_FOLDLEVELNUMBERMASK, +									LevelNumber(lev),  									lev >> 16  									);  							} else { | 
