aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2019-03-03 15:35:54 +1100
committerNeil <nyamatongwe@gmail.com>2019-03-03 15:35:54 +1100
commite55ed4dd7a0caf0b4a6fdb4e6e2b30e159e772d2 (patch)
tree0e16ee5421bb805ee7f330442c761d1332db8fee
parentcb1710ea96ba303fcf62be5911c54137238906ce (diff)
downloadscintilla-mirror-e55ed4dd7a0caf0b4a6fdb4e6e2b30e159e772d2.tar.gz
Use noexcept where reasonable.
-rw-r--r--qt/ScintillaEdit/ScintillaDocument.cpp4
-rw-r--r--src/CaseFolder.cxx2
-rw-r--r--src/CaseFolder.h2
-rw-r--r--src/Document.cxx2
-rw-r--r--src/Document.h10
-rw-r--r--src/EditModel.h2
-rw-r--r--src/EditView.cxx16
-rw-r--r--src/EditView.h14
-rw-r--r--src/Editor.cxx48
-rw-r--r--src/Editor.h74
-rw-r--r--src/MarginView.cxx2
-rw-r--r--src/MarginView.h2
-rw-r--r--src/PositionCache.cxx24
-rw-r--r--src/PositionCache.h28
14 files changed, 115 insertions, 115 deletions
diff --git a/qt/ScintillaEdit/ScintillaDocument.cpp b/qt/ScintillaEdit/ScintillaDocument.cpp
index a260768d8..b21207a5c 100644
--- a/qt/ScintillaEdit/ScintillaDocument.cpp
+++ b/qt/ScintillaEdit/ScintillaDocument.cpp
@@ -44,7 +44,7 @@ public:
void NotifyModifyAttempt(Document *doc, void *userData) override;
void NotifySavePoint(Document *doc, void *userData, bool atSavePoint) override;
void NotifyModified(Document *doc, DocModification mh, void *userData) override;
- void NotifyDeleted(Document *doc, void *userData) override;
+ void NotifyDeleted(Document *doc, void *userData) noexcept override;
void NotifyStyleNeeded(Document *doc, void *userData, Sci::Position endPos);
void NotifyLexerChanged(Document *doc, void *userData) override;
void NotifyErrorOccurred(Document *doc, void *userData, int status) override;
@@ -73,7 +73,7 @@ void WatcherHelper::NotifyModified(Document *, DocModification mh, void *) {
mh.linesAdded, mh.line, mh.foldLevelNow, mh.foldLevelPrev);
}
-void WatcherHelper::NotifyDeleted(Document *, void *) {
+void WatcherHelper::NotifyDeleted(Document *, void *) noexcept {
}
void WatcherHelper::NotifyStyleNeeded(Document *, void *, Sci::Position endPos) {
diff --git a/src/CaseFolder.cxx b/src/CaseFolder.cxx
index 0fd29c7bb..7db4bb679 100644
--- a/src/CaseFolder.cxx
+++ b/src/CaseFolder.cxx
@@ -41,7 +41,7 @@ void CaseFolderTable::SetTranslation(char ch, char chTranslation) {
mapping[static_cast<unsigned char>(ch)] = chTranslation;
}
-void CaseFolderTable::StandardASCII() {
+void CaseFolderTable::StandardASCII() noexcept {
for (size_t iChar=0; iChar<sizeof(mapping); iChar++) {
if (iChar >= 'A' && iChar <= 'Z') {
mapping[iChar] = static_cast<char>(iChar - 'A' + 'a');
diff --git a/src/CaseFolder.h b/src/CaseFolder.h
index 5fa65870e..eb852a491 100644
--- a/src/CaseFolder.h
+++ b/src/CaseFolder.h
@@ -24,7 +24,7 @@ public:
~CaseFolderTable() override;
size_t Fold(char *folded, size_t sizeFolded, const char *mixed, size_t lenMixed) override;
void SetTranslation(char ch, char chTranslation);
- void StandardASCII();
+ void StandardASCII() noexcept;
};
class ICaseConverter;
diff --git a/src/Document.cxx b/src/Document.cxx
index 711f314e4..0f71ba843 100644
--- a/src/Document.cxx
+++ b/src/Document.cxx
@@ -473,7 +473,7 @@ void Document::ClearLevels() {
Levels()->ClearLevels();
}
-static bool IsSubordinate(int levelStart, int levelTry) {
+static bool IsSubordinate(int levelStart, int levelTry) noexcept {
if (levelTry & SC_FOLDLEVELWHITEFLAG)
return true;
else
diff --git a/src/Document.h b/src/Document.h
index d2671d182..3eeeef029 100644
--- a/src/Document.h
+++ b/src/Document.h
@@ -126,11 +126,11 @@ struct StyledText {
class HighlightDelimiter {
public:
- HighlightDelimiter() : isEnabled(false) {
+ HighlightDelimiter() noexcept : isEnabled(false) {
Clear();
}
- void Clear() {
+ void Clear() noexcept {
beginFoldBlock = -1;
endFoldBlock = -1;
firstChangeableLineBefore = -1;
@@ -174,13 +174,13 @@ protected:
ILexer4 *instance;
bool performingStyle; ///< Prevent reentrance
public:
- explicit LexInterface(Document *pdoc_) : pdoc(pdoc_), instance(nullptr), performingStyle(false) {
+ explicit LexInterface(Document *pdoc_) noexcept : pdoc(pdoc_), instance(nullptr), performingStyle(false) {
}
virtual ~LexInterface() {
}
void Colourise(Sci::Position start, Sci::Position end);
virtual int LineEndTypesSupported();
- bool UseContainerLexing() const {
+ bool UseContainerLexing() const noexcept {
return instance == nullptr;
}
};
@@ -578,7 +578,7 @@ public:
virtual void NotifyModifyAttempt(Document *doc, void *userData) = 0;
virtual void NotifySavePoint(Document *doc, void *userData, bool atSavePoint) = 0;
virtual void NotifyModified(Document *doc, DocModification mh, void *userData) = 0;
- virtual void NotifyDeleted(Document *doc, void *userData) = 0;
+ virtual void NotifyDeleted(Document *doc, void *userData) noexcept = 0;
virtual void NotifyStyleNeeded(Document *doc, void *userData, Sci::Position endPos) = 0;
virtual void NotifyLexerChanged(Document *doc, void *userData) = 0;
virtual void NotifyErrorOccurred(Document *doc, void *userData, int status) = 0;
diff --git a/src/EditModel.h b/src/EditModel.h
index 3da6afb58..5fb6a0f02 100644
--- a/src/EditModel.h
+++ b/src/EditModel.h
@@ -62,7 +62,7 @@ public:
virtual Sci::Line TopLineOfMain() const = 0;
virtual Point GetVisibleOriginInMain() const = 0;
virtual Sci::Line LinesOnScreen() const = 0;
- virtual Range GetHotSpotRange() const = 0;
+ virtual Range GetHotSpotRange() const noexcept = 0;
bool BidirectionalEnabled() const;
bool BidirectionalR2L() const;
};
diff --git a/src/EditView.cxx b/src/EditView.cxx
index 4417525b8..a29df0f2f 100644
--- a/src/EditView.cxx
+++ b/src/EditView.cxx
@@ -63,7 +63,7 @@ static constexpr bool IsControlCharacter(int ch) noexcept {
return ch >= 0 && ch < ' ';
}
-PrintParameters::PrintParameters() {
+PrintParameters::PrintParameters() noexcept {
magnification = 0;
colourMode = SC_PRINT_NORMAL;
wrapState = eWrapWord;
@@ -192,25 +192,25 @@ EditView::EditView() {
EditView::~EditView() {
}
-bool EditView::SetTwoPhaseDraw(bool twoPhaseDraw) {
+bool EditView::SetTwoPhaseDraw(bool twoPhaseDraw) noexcept {
const PhasesDraw phasesDrawNew = twoPhaseDraw ? phasesTwo : phasesOne;
const bool redraw = phasesDraw != phasesDrawNew;
phasesDraw = phasesDrawNew;
return redraw;
}
-bool EditView::SetPhasesDraw(int phases) {
+bool EditView::SetPhasesDraw(int phases) noexcept {
const PhasesDraw phasesDrawNew = static_cast<PhasesDraw>(phases);
const bool redraw = phasesDraw != phasesDrawNew;
phasesDraw = phasesDrawNew;
return redraw;
}
-bool EditView::LinesOverlap() const {
+bool EditView::LinesOverlap() const noexcept {
return phasesDraw == phasesMultiple;
}
-void EditView::ClearAllTabstops() {
+void EditView::ClearAllTabstops() noexcept {
ldTabstops.reset();
}
@@ -278,7 +278,7 @@ void EditView::AllocateGraphics(const ViewStyle &vsDraw) {
pixmapIndentGuideHighlight.reset(Surface::Allocate(vsDraw.technology));
}
-static const char *ControlCharacterString(unsigned char ch) {
+static const char *ControlCharacterString(unsigned char ch) noexcept {
const char * const reps[] = {
"NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "BEL",
"BS", "HT", "LF", "VT", "FF", "CR", "SO", "SI",
@@ -825,7 +825,7 @@ Sci::Position EditView::StartEndDisplayLine(Surface *surface, const EditModel &m
return posRet;
}
-static ColourDesired SelectionBackground(const ViewStyle &vsDraw, bool main, bool primarySelection) {
+static ColourDesired SelectionBackground(const ViewStyle &vsDraw, bool main, bool primarySelection) noexcept {
return main ?
(primarySelection ? vsDraw.selColours.back : vsDraw.selBackground2) :
vsDraw.selAdditionalBackground;
@@ -2335,7 +2335,7 @@ void EditView::FillLineRemainder(Surface *surface, const EditModel &model, const
// Space (3 space characters) between line numbers and text when printing.
#define lineNumberPrintSpace " "
-static ColourDesired InvertedLight(ColourDesired orig) {
+static ColourDesired InvertedLight(ColourDesired orig) noexcept {
unsigned int r = orig.GetRed();
unsigned int g = orig.GetGreen();
unsigned int b = orig.GetBlue();
diff --git a/src/EditView.h b/src/EditView.h
index f81634cac..90771c2ba 100644
--- a/src/EditView.h
+++ b/src/EditView.h
@@ -14,7 +14,7 @@ struct PrintParameters {
int magnification;
int colourMode;
WrapMode wrapState;
- PrintParameters();
+ PrintParameters() noexcept;
};
/**
@@ -97,11 +97,11 @@ public:
void operator=(EditView &&) = delete;
virtual ~EditView();
- bool SetTwoPhaseDraw(bool twoPhaseDraw);
- bool SetPhasesDraw(int phases);
- bool LinesOverlap() const;
+ bool SetTwoPhaseDraw(bool twoPhaseDraw) noexcept;
+ bool SetPhasesDraw(int phases) noexcept;
+ bool LinesOverlap() const noexcept;
- void ClearAllTabstops();
+ void ClearAllTabstops() noexcept;
XYPOSITION NextTabstopPos(Sci::Line line, XYPOSITION x, XYPOSITION tabWidth) const;
bool ClearTabstops(Sci::Line line);
bool AddTabstop(Sci::Line line, int x);
@@ -167,7 +167,7 @@ public:
AutoLineLayout(AutoLineLayout &&) = delete;
AutoLineLayout &operator=(const AutoLineLayout &) = delete;
AutoLineLayout &operator=(AutoLineLayout &&) = delete;
- ~AutoLineLayout() {
+ ~AutoLineLayout() noexcept {
llc.Dispose(ll);
ll = nullptr;
}
@@ -177,7 +177,7 @@ public:
operator LineLayout *() const noexcept {
return ll;
}
- void Set(LineLayout *ll_) {
+ void Set(LineLayout *ll_) noexcept {
llc.Dispose(ll);
ll = ll_;
}
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 025931153..364b31fda 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -62,7 +62,7 @@ using namespace Scintilla;
return whether this modification represents an operation that
may reasonably be deferred (not done now OR [possibly] at all)
*/
-static bool CanDeferToLastStep(const DocModification &mh) {
+static bool CanDeferToLastStep(const DocModification &mh) noexcept {
if (mh.modificationType & (SC_MOD_BEFOREINSERT | SC_MOD_BEFOREDELETE))
return true; // CAN skip
if (!(mh.modificationType & (SC_PERFORMED_UNDO | SC_PERFORMED_REDO)))
@@ -72,7 +72,7 @@ static bool CanDeferToLastStep(const DocModification &mh) {
return false; // PRESUMABLY must do
}
-static bool CanEliminate(const DocModification &mh) {
+static bool CanEliminate(const DocModification &mh) noexcept {
return
(mh.modificationType & (SC_MOD_BEFOREINSERT | SC_MOD_BEFOREDELETE)) != 0;
}
@@ -81,7 +81,7 @@ static bool CanEliminate(const DocModification &mh) {
return whether this modification represents the FINAL step
in a [possibly lengthy] multi-step Undo/Redo sequence
*/
-static bool IsLastStep(const DocModification &mh) {
+static bool IsLastStep(const DocModification &mh) noexcept {
return
(mh.modificationType & (SC_PERFORMED_UNDO | SC_PERFORMED_REDO)) != 0
&& (mh.modificationType & SC_MULTISTEPUNDOREDO) != 0
@@ -89,13 +89,13 @@ static bool IsLastStep(const DocModification &mh) {
&& (mh.modificationType & SC_MULTILINEUNDOREDO) != 0;
}
-Timer::Timer() :
+Timer::Timer() noexcept :
ticking(false), ticksToWait(0), tickerID{} {}
-Idler::Idler() :
+Idler::Idler() noexcept :
state(false), idlerID(0) {}
-static inline bool IsAllSpacesOrTabs(const char *s, unsigned int len) {
+static inline bool IsAllSpacesOrTabs(const char *s, unsigned int len) noexcept {
for (unsigned int i = 0; i < len; i++) {
// This is safe because IsSpaceOrTab() will return false for null terminators
if (!IsSpaceOrTab(s[i]))
@@ -1467,7 +1467,7 @@ void Editor::NotifyCaretMove() {
void Editor::UpdateSystemCaret() {
}
-bool Editor::Wrapping() const {
+bool Editor::Wrapping() const noexcept {
return vs.wrapState != eWrapNone;
}
@@ -1616,7 +1616,7 @@ void Editor::LinesJoin() {
}
}
-const char *Editor::StringFromEOLMode(int eolMode) {
+const char *Editor::StringFromEOLMode(int eolMode) noexcept {
if (eolMode == SC_EOL_CRLF) {
return "\r\n";
} else if (eolMode == SC_EOL_CR) {
@@ -2524,7 +2524,7 @@ void Editor::CheckModificationForWrap(DocModification mh) {
}
// Move a position so it is still after the same character as before the insertion.
-static inline Sci::Position MovePositionForInsertion(Sci::Position position, Sci::Position startInsertion, Sci::Position length) {
+static inline Sci::Position MovePositionForInsertion(Sci::Position position, Sci::Position startInsertion, Sci::Position length) noexcept {
if (position > startInsertion) {
return position + length;
}
@@ -2533,7 +2533,7 @@ static inline Sci::Position MovePositionForInsertion(Sci::Position position, Sci
// Move a position so it is still after the same character as before the deletion if that
// character is still present else after the previous surviving character.
-static inline Sci::Position MovePositionForDeletion(Sci::Position position, Sci::Position startDeletion, Sci::Position length) {
+static inline Sci::Position MovePositionForDeletion(Sci::Position position, Sci::Position startDeletion, Sci::Position length) noexcept {
if (position > startDeletion) {
const Sci::Position endDeletion = startDeletion + length;
if (position > endDeletion) {
@@ -2714,7 +2714,7 @@ void Editor::NotifyModified(Document *, DocModification mh, void *) {
}
}
-void Editor::NotifyDeleted(Document *, void *) {
+void Editor::NotifyDeleted(Document *, void *) noexcept {
/* Do nothing */
}
@@ -2850,7 +2850,7 @@ void Editor::NotifyMacroRecord(unsigned int iMessage, uptr_t wParam, sptr_t lPar
}
// Something has changed that the container should know about
-void Editor::ContainerNeedsUpdate(int flags) {
+void Editor::ContainerNeedsUpdate(int flags) noexcept {
needUpdateUI |= flags;
}
@@ -3234,7 +3234,7 @@ constexpr short LowShortFromWParam(uptr_t x) {
return static_cast<short>(x & 0xffff);
}
-unsigned int WithExtends(unsigned int iMessage) {
+unsigned int WithExtends(unsigned int iMessage) noexcept {
switch (iMessage) {
case SCI_CHARLEFT: return SCI_CHARLEFTEXTEND;
case SCI_CHARRIGHT: return SCI_CHARRIGHTEXTEND;
@@ -3261,7 +3261,7 @@ unsigned int WithExtends(unsigned int iMessage) {
}
}
-int NaturalDirection(unsigned int iMessage) {
+int NaturalDirection(unsigned int iMessage) noexcept {
switch (iMessage) {
case SCI_CHARLEFT:
case SCI_CHARLEFTEXTEND:
@@ -3292,7 +3292,7 @@ int NaturalDirection(unsigned int iMessage) {
}
}
-bool IsRectExtend(unsigned int iMessage, bool isRectMoveExtends) {
+bool IsRectExtend(unsigned int iMessage, bool isRectMoveExtends) noexcept {
switch (iMessage) {
case SCI_CHARLEFTRECTEXTEND:
case SCI_CHARRIGHTRECTEXTEND:
@@ -4018,7 +4018,7 @@ void Editor::Indent(bool forwards) {
class CaseFolderASCII : public CaseFolderTable {
public:
- CaseFolderASCII() {
+ CaseFolderASCII() noexcept {
StandardASCII();
}
~CaseFolderASCII() override {
@@ -4163,7 +4163,7 @@ void Editor::GoToLine(Sci::Line lineNo) {
EnsureCaretVisible();
}
-static bool Close(Point pt1, Point pt2, Point threshold) {
+static bool Close(Point pt1, Point pt2, Point threshold) noexcept {
if (std::abs(pt1.x - pt2.x) > threshold.x)
return false;
if (std::abs(pt1.y - pt2.y) > threshold.y)
@@ -4386,7 +4386,7 @@ bool Editor::PointInSelMargin(Point pt) const {
}
}
-Window::Cursor Editor::GetMarginCursor(Point pt) const {
+Window::Cursor Editor::GetMarginCursor(Point pt) const noexcept {
int x = 0;
for (const MarginStyle &m : vs.ms) {
if ((pt.x >= x) && (pt.x < x + m.width))
@@ -4733,7 +4733,7 @@ void Editor::SetHotSpotRange(const Point *pt) {
}
}
-Range Editor::GetHotSpotRange() const {
+Range Editor::GetHotSpotRange() const noexcept {
return hotspot;
}
@@ -5576,11 +5576,11 @@ Sci::Position Editor::ReplaceTarget(bool replacePatterns, const char *text, Sci:
return length;
}
-bool Editor::IsUnicodeMode() const {
+bool Editor::IsUnicodeMode() const noexcept {
return pdoc && (SC_CP_UTF8 == pdoc->dbcsCodePage);
}
-int Editor::CodePage() const {
+int Editor::CodePage() const noexcept {
if (pdoc)
return pdoc->dbcsCodePage;
else
@@ -5616,7 +5616,7 @@ void Editor::AddStyledText(const char *buffer, Sci::Position appendLength) {
SetEmptySelection(sel.MainCaret() + lengthInserted);
}
-bool Editor::ValidMargin(uptr_t wParam) const {
+bool Editor::ValidMargin(uptr_t wParam) const noexcept {
return wParam < vs.ms.size();
}
@@ -5745,7 +5745,7 @@ void Editor::SetSelectionNMessage(unsigned int iMessage, uptr_t wParam, sptr_t l
ContainerNeedsUpdate(SC_UPDATE_SELECTION);
}
-sptr_t Editor::StringResult(sptr_t lParam, const char *val) {
+sptr_t Editor::StringResult(sptr_t lParam, const char *val) noexcept {
const size_t len = val ? strlen(val) : 0;
if (lParam) {
char *ptr = CharPtrFromSPtr(lParam);
@@ -5757,7 +5757,7 @@ sptr_t Editor::StringResult(sptr_t lParam, const char *val) {
return len; // Not including NUL
}
-sptr_t Editor::BytesResult(sptr_t lParam, const unsigned char *val, size_t len) {
+sptr_t Editor::BytesResult(sptr_t lParam, const unsigned char *val, size_t len) noexcept {
// No NUL termination: len is number of valid/displayed bytes
if ((lParam) && (len > 0)) {
char *ptr = CharPtrFromSPtr(lParam);
diff --git a/src/Editor.h b/src/Editor.h
index a6e059714..9d0783f09 100644
--- a/src/Editor.h
+++ b/src/Editor.h
@@ -19,7 +19,7 @@ public:
enum {tickSize = 100};
TickerID tickerID;
- Timer();
+ Timer() noexcept;
};
/**
@@ -29,7 +29,7 @@ public:
bool state;
IdlerID idlerID;
- Idler();
+ Idler() noexcept;
};
/**
@@ -47,12 +47,12 @@ public:
enum workItems items;
Sci::Position upTo;
- WorkNeeded() : items(workNone), upTo(0) {}
- void Reset() {
+ WorkNeeded() noexcept : items(workNone), upTo(0) {}
+ void Reset() noexcept {
items = workNone;
upTo = 0;
}
- void Need(workItems items_, Sci::Position pos) {
+ void Need(workItems items_, Sci::Position pos) noexcept {
if ((items_ & workStyle) && (upTo < pos))
upTo = pos;
items = static_cast<workItems>(items | items_);
@@ -69,8 +69,8 @@ public:
bool lineCopy;
int codePage;
int characterSet;
- SelectionText() : rectangular(false), lineCopy(false), codePage(0), characterSet(0) {}
- void Clear() {
+ SelectionText() noexcept : rectangular(false), lineCopy(false), codePage(0), characterSet(0) {}
+ void Clear() noexcept {
s.clear();
rectangular = false;
lineCopy = false;
@@ -88,16 +88,16 @@ public:
void Copy(const SelectionText &other) {
Copy(other.s, other.codePage, other.characterSet, other.rectangular, other.lineCopy);
}
- const char *Data() const {
+ const char *Data() const noexcept {
return s.c_str();
}
- size_t Length() const {
+ size_t Length() const noexcept {
return s.length();
}
- size_t LengthWithTerminator() const {
+ size_t LengthWithTerminator() const noexcept {
return s.length() + 1;
}
- bool Empty() const {
+ bool Empty() const noexcept {
return s.empty();
}
private:
@@ -113,22 +113,22 @@ struct WrapPending {
enum { lineLarge = 0x7ffffff };
Sci::Line start; // When there are wraps pending, will be in document range
Sci::Line end; // May be lineLarge to indicate all of document after start
- WrapPending() {
+ WrapPending() noexcept {
start = lineLarge;
end = lineLarge;
}
- void Reset() {
+ void Reset() noexcept {
start = lineLarge;
end = lineLarge;
}
- void Wrapped(Sci::Line line) {
+ void Wrapped(Sci::Line line) noexcept {
if (start == line)
start++;
}
- bool NeedsWrap() const {
+ bool NeedsWrap() const noexcept {
return start < end;
}
- bool AddRange(Sci::Line lineStart, Sci::Line lineEnd) {
+ bool AddRange(Sci::Line lineStart, Sci::Line lineEnd) noexcept {
const bool neededWrap = NeedsWrap();
bool changed = false;
if (start > lineStart) {
@@ -302,7 +302,7 @@ protected: // ScintillaBase subclass needs access to much of Editor
PRectangle RectangleFromRange(Range r, int overlap);
void InvalidateRange(Sci::Position start, Sci::Position end);
- bool UserVirtualSpace() const {
+ bool UserVirtualSpace() const noexcept {
return ((virtualSpaceOptions & SCVS_USERACCESSIBLE) != 0);
}
Sci::Position CurrentPosition() const;
@@ -347,8 +347,8 @@ protected: // ScintillaBase subclass needs access to much of Editor
struct XYScrollPosition {
int xOffset;
Sci::Line topLine;
- XYScrollPosition(int xOffset_, Sci::Line topLine_) : xOffset(xOffset_), topLine(topLine_) {}
- bool operator==(const XYScrollPosition &other) const {
+ XYScrollPosition(int xOffset_, Sci::Line topLine_) noexcept : xOffset(xOffset_), topLine(topLine_) {}
+ bool operator==(const XYScrollPosition &other) const noexcept {
return (xOffset == other.xOffset) && (topLine == other.topLine);
}
};
@@ -368,7 +368,7 @@ protected: // ScintillaBase subclass needs access to much of Editor
virtual void NotifyCaretMove();
virtual void UpdateSystemCaret();
- bool Wrapping() const;
+ bool Wrapping() const noexcept;
void NeedWrapping(Sci::Line docLineStart=0, Sci::Line docLineEnd=WrapPending::lineLarge);
bool WrapOneLine(Surface *surface, Sci::Line lineToWrap);
enum class WrapScope {wsAll, wsVisible, wsIdle};
@@ -441,13 +441,13 @@ protected: // ScintillaBase subclass needs access to much of Editor
void NotifySavePoint(Document *document, void *userData, bool atSavePoint) override;
void CheckModificationForWrap(DocModification mh);
void NotifyModified(Document *document, DocModification mh, void *userData) override;
- void NotifyDeleted(Document *document, void *userData) override;
+ void NotifyDeleted(Document *document, void *userData) noexcept override;
void NotifyStyleNeeded(Document *doc, void *userData, Sci::Position endStyleNeeded) override;
void NotifyLexerChanged(Document *doc, void *userData) override;
void NotifyErrorOccurred(Document *doc, void *userData, int status) override;
void NotifyMacroRecord(unsigned int iMessage, uptr_t wParam, sptr_t lParam);
- void ContainerNeedsUpdate(int flags);
+ void ContainerNeedsUpdate(int flags) noexcept;
void PageMove(int direction, Selection::selTypes selt=Selection::noSel, bool stuttered = false);
enum { cmSame, cmUpper, cmLower };
virtual std::string CaseMapString(const std::string &s, int caseMapping);
@@ -495,7 +495,7 @@ protected: // ScintillaBase subclass needs access to much of Editor
bool PositionInSelection(Sci::Position pos);
bool PointInSelection(Point pt);
bool PointInSelMargin(Point pt) const;
- Window::Cursor GetMarginCursor(Point pt) const;
+ Window::Cursor GetMarginCursor(Point pt) const noexcept;
void TrimAndSetSelection(Sci::Position currentPos_, Sci::Position anchor_);
void LineSelection(Sci::Position lineCurrentPos_, Sci::Position lineAnchorPos_, bool wholeLine);
void WordSelection(Sci::Position pos);
@@ -552,52 +552,52 @@ protected: // ScintillaBase subclass needs access to much of Editor
bool PositionIsHotspot(Sci::Position position) const;
bool PointIsHotspot(Point pt);
void SetHotSpotRange(const Point *pt);
- Range GetHotSpotRange() const override;
+ Range GetHotSpotRange() const noexcept override;
void SetHoverIndicatorPosition(Sci::Position position);
void SetHoverIndicatorPoint(Point pt);
- int CodePage() const;
+ int CodePage() const noexcept;
virtual bool ValidCodePage(int /* codePage */) const { return true; }
Sci::Line WrapCount(Sci::Line line);
void AddStyledText(const char *buffer, Sci::Position appendLength);
virtual sptr_t DefWndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) = 0;
- bool ValidMargin(uptr_t wParam) const;
+ bool ValidMargin(uptr_t wParam) const noexcept;
void StyleSetMessage(unsigned int iMessage, uptr_t wParam, sptr_t lParam);
sptr_t StyleGetMessage(unsigned int iMessage, uptr_t wParam, sptr_t lParam);
void SetSelectionNMessage(unsigned int iMessage, uptr_t wParam, sptr_t lParam);
- static const char *StringFromEOLMode(int eolMode);
+ static const char *StringFromEOLMode(int eolMode) noexcept;
// Coercion functions for transforming WndProc parameters into pointers
- static void *PtrFromSPtr(sptr_t lParam) {
+ static void *PtrFromSPtr(sptr_t lParam) noexcept {
return reinterpret_cast<void *>(lParam);
}
- static const char *ConstCharPtrFromSPtr(sptr_t lParam) {
+ static const char *ConstCharPtrFromSPtr(sptr_t lParam) noexcept {
return static_cast<const char *>(PtrFromSPtr(lParam));
}
- static const unsigned char *ConstUCharPtrFromSPtr(sptr_t lParam) {
+ static const unsigned char *ConstUCharPtrFromSPtr(sptr_t lParam) noexcept {
return static_cast<const unsigned char *>(PtrFromSPtr(lParam));
}
- static char *CharPtrFromSPtr(sptr_t lParam) {
+ static char *CharPtrFromSPtr(sptr_t lParam) noexcept {
return static_cast<char *>(PtrFromSPtr(lParam));
}
- static unsigned char *UCharPtrFromSPtr(sptr_t lParam) {
+ static unsigned char *UCharPtrFromSPtr(sptr_t lParam) noexcept {
return static_cast<unsigned char *>(PtrFromSPtr(lParam));
}
- static void *PtrFromUPtr(uptr_t wParam) {
+ static void *PtrFromUPtr(uptr_t wParam) noexcept {
return reinterpret_cast<void *>(wParam);
}
- static const char *ConstCharPtrFromUPtr(uptr_t wParam) {
+ static const char *ConstCharPtrFromUPtr(uptr_t wParam) noexcept {
return static_cast<const char *>(PtrFromUPtr(wParam));
}
- static sptr_t StringResult(sptr_t lParam, const char *val);
- static sptr_t BytesResult(sptr_t lParam, const unsigned char *val, size_t len);
+ static sptr_t StringResult(sptr_t lParam, const char *val) noexcept;
+ static sptr_t BytesResult(sptr_t lParam, const unsigned char *val, size_t len) noexcept;
public:
// Public so the COM thunks can access it.
- bool IsUnicodeMode() const;
+ bool IsUnicodeMode() const noexcept;
// Public so scintilla_send_message can use it.
virtual sptr_t WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam);
// Public so scintilla_set_id can use it.
diff --git a/src/MarginView.cxx b/src/MarginView.cxx
index 9dcd81f3a..3f386455a 100644
--- a/src/MarginView.cxx
+++ b/src/MarginView.cxx
@@ -100,7 +100,7 @@ void DrawWrapMarker(Surface *surface, PRectangle rcPlace,
y - 2 * dy);
}
-MarginView::MarginView() {
+MarginView::MarginView() noexcept {
wrapMarkerPaddingRight = 3;
customDrawWrapMarker = nullptr;
}
diff --git a/src/MarginView.h b/src/MarginView.h
index 1d5d46cac..4468afa1b 100644
--- a/src/MarginView.h
+++ b/src/MarginView.h
@@ -32,7 +32,7 @@ public:
* existing platforms must implement as empty. */
DrawWrapMarkerFn customDrawWrapMarker;
- MarginView();
+ MarginView() noexcept;
void DropGraphics(bool freeObjects);
void AllocateGraphics(const ViewStyle &vsDraw);
diff --git a/src/PositionCache.cxx b/src/PositionCache.cxx
index b8829a571..aeb8d8bcf 100644
--- a/src/PositionCache.cxx
+++ b/src/PositionCache.cxx
@@ -99,7 +99,7 @@ void LineLayout::EnsureBidiData() {
}
}
-void LineLayout::Free() {
+void LineLayout::Free() noexcept {
chars.reset();
styles.reset();
positions.reset();
@@ -391,7 +391,7 @@ void LineLayoutCache::AllocateForLevel(Sci::Line linesOnScreen, Sci::Line linesI
PLATFORM_ASSERT(cache.size() == lengthForLevel);
}
-void LineLayoutCache::Deallocate() {
+void LineLayoutCache::Deallocate() noexcept {
PLATFORM_ASSERT(useCount == 0);
cache.clear();
}
@@ -409,7 +409,7 @@ void LineLayoutCache::Invalidate(LineLayout::validLevel validity_) {
}
}
-void LineLayoutCache::SetLevel(int level_) {
+void LineLayoutCache::SetLevel(int level_) noexcept {
allInvalidated = false;
if ((level_ != -1) && (level != level_)) {
level = level_;
@@ -465,7 +465,7 @@ LineLayout *LineLayoutCache::Retrieve(Sci::Line lineNumber, Sci::Line lineCaret,
return ret;
}
-void LineLayoutCache::Dispose(LineLayout *ll) {
+void LineLayoutCache::Dispose(LineLayout *ll) noexcept {
allInvalidated = false;
if (ll) {
if (!ll->inCache) {
@@ -488,7 +488,7 @@ static unsigned int KeyFromString(const char *charBytes, size_t len) {
return k;
}
-SpecialRepresentations::SpecialRepresentations() {
+SpecialRepresentations::SpecialRepresentations() noexcept {
const short none = 0;
std::fill(startByteHasReprs, std::end(startByteHasReprs), none);
}
@@ -664,11 +664,11 @@ TextSegment BreakFinder::Next() {
}
}
-bool BreakFinder::More() const {
+bool BreakFinder::More() const noexcept {
return (subBreak >= 0) || (nextBreak < lineRange.end);
}
-PositionCacheEntry::PositionCacheEntry() :
+PositionCacheEntry::PositionCacheEntry() noexcept :
styleNumber(0), len(0), clock(0), positions(nullptr) {
}
@@ -701,7 +701,7 @@ PositionCacheEntry::~PositionCacheEntry() {
Clear();
}
-void PositionCacheEntry::Clear() {
+void PositionCacheEntry::Clear() noexcept {
positions.reset();
styleNumber = 0;
len = 0;
@@ -721,7 +721,7 @@ bool PositionCacheEntry::Retrieve(unsigned int styleNumber_, const char *s_,
}
}
-unsigned int PositionCacheEntry::Hash(unsigned int styleNumber_, const char *s, unsigned int len_) {
+unsigned int PositionCacheEntry::Hash(unsigned int styleNumber_, const char *s, unsigned int len_) noexcept {
unsigned int ret = s[0] << 7;
for (unsigned int i=0; i<len_; i++) {
ret *= 1000003;
@@ -734,11 +734,11 @@ unsigned int PositionCacheEntry::Hash(unsigned int styleNumber_, const char *s,
return ret;
}
-bool PositionCacheEntry::NewerThan(const PositionCacheEntry &other) const {
+bool PositionCacheEntry::NewerThan(const PositionCacheEntry &other) const noexcept {
return clock > other.clock;
}
-void PositionCacheEntry::ResetClock() {
+void PositionCacheEntry::ResetClock() noexcept {
if (clock > 0) {
clock = 1;
}
@@ -754,7 +754,7 @@ PositionCache::~PositionCache() {
Clear();
}
-void PositionCache::Clear() {
+void PositionCache::Clear() noexcept {
if (!allClear) {
for (PositionCacheEntry &pce : pces) {
pce.Clear();
diff --git a/src/PositionCache.h b/src/PositionCache.h
index 1f0486415..d004dbcd2 100644
--- a/src/PositionCache.h
+++ b/src/PositionCache.h
@@ -96,7 +96,7 @@ public:
virtual ~LineLayout();
void Resize(int maxLineLength_);
void EnsureBidiData();
- void Free();
+ void Free() noexcept;
void Invalidate(validLevel validity_);
int LineStart(int line) const;
int LineLength(int line) const;
@@ -163,7 +163,7 @@ public:
void operator=(const LineLayoutCache &) = delete;
void operator=(LineLayoutCache &&) = delete;
virtual ~LineLayoutCache();
- void Deallocate();
+ void Deallocate() noexcept;
enum {
llcNone=SC_CACHE_NONE,
llcCaret=SC_CACHE_CARET,
@@ -171,11 +171,11 @@ public:
llcDocument=SC_CACHE_DOCUMENT
};
void Invalidate(LineLayout::validLevel validity_);
- void SetLevel(int level_);
- int GetLevel() const { return level; }
+ void SetLevel(int level_) noexcept;
+ int GetLevel() const noexcept { return level; }
LineLayout *Retrieve(Sci::Line lineNumber, Sci::Line lineCaret, int maxChars, int styleClock_,
Sci::Line linesOnScreen, Sci::Line linesInDoc);
- void Dispose(LineLayout *ll);
+ void Dispose(LineLayout *ll) noexcept;
};
class PositionCacheEntry {
@@ -184,7 +184,7 @@ class PositionCacheEntry {
unsigned int clock:16;
std::unique_ptr<XYPOSITION []> positions;
public:
- PositionCacheEntry();
+ PositionCacheEntry() noexcept;
// Copy constructor not currently used, but needed for being element in std::vector.
PositionCacheEntry(const PositionCacheEntry &);
// Deleted so PositionCacheEntry objects can not be assigned.
@@ -193,11 +193,11 @@ public:
void operator=(PositionCacheEntry &&) = delete;
~PositionCacheEntry();
void Set(unsigned int styleNumber_, const char *s_, unsigned int len_, const XYPOSITION *positions_, unsigned int clock_);
- void Clear();
+ void Clear() noexcept;
bool Retrieve(unsigned int styleNumber_, const char *s_, unsigned int len_, XYPOSITION *positions_) const;
- static unsigned int Hash(unsigned int styleNumber_, const char *s, unsigned int len_);
- bool NewerThan(const PositionCacheEntry &other) const;
- void ResetClock();
+ static unsigned int Hash(unsigned int styleNumber_, const char *s, unsigned int len_) noexcept;
+ bool NewerThan(const PositionCacheEntry &other) const noexcept;
+ void ResetClock() noexcept;
};
class Representation {
@@ -213,7 +213,7 @@ class SpecialRepresentations {
MapRepresentation mapReprs;
short startByteHasReprs[0x100];
public:
- SpecialRepresentations();
+ SpecialRepresentations() noexcept;
void SetRepresentation(const char *charBytes, const char *value);
void ClearRepresentation(const char *charBytes);
const Representation *RepresentationFromCharacter(const char *charBytes, size_t len) const;
@@ -262,7 +262,7 @@ public:
void operator=(BreakFinder &&) = delete;
~BreakFinder();
TextSegment Next();
- bool More() const;
+ bool More() const noexcept;
};
class PositionCache {
@@ -277,9 +277,9 @@ public:
void operator=(const PositionCache &) = delete;
void operator=(PositionCache &&) = delete;
~PositionCache();
- void Clear();
+ void Clear() noexcept;
void SetSize(size_t size_);
- size_t GetSize() const { return pces.size(); }
+ size_t GetSize() const noexcept { return pces.size(); }
void MeasureWidths(Surface *surface, const ViewStyle &vstyle, unsigned int styleNumber,
const char *s, unsigned int len, XYPOSITION *positions, const Document *pdoc);
};