summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-08-16 17:52:53 +0300
committerAndrei Karas <akaras@inbox.ru>2016-08-16 17:54:47 +0300
commit7213833c054da4a5c46d0f4e3190b2770c204b7c (patch)
tree87abae0aa8cd48e648861f5c8aae3107b9c31fb5 /src
parentd46b9aa882ff04ca43736eb4290cd100e54d2de2 (diff)
downloadmplint-7213833c054da4a5c46d0f4e3190b2770c204b7c.tar.gz
mplint-7213833c054da4a5c46d0f4e3190b2770c204b7c.tar.bz2
mplint-7213833c054da4a5c46d0f4e3190b2770c204b7c.tar.xz
mplint-7213833c054da4a5c46d0f4e3190b2770c204b7c.zip
Add check for wrong brackets formatting.
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am1
-rw-r--r--src/rules/brackets.cpp59
2 files changed, 60 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index e516d03..4992044 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -17,6 +17,7 @@ mplint_SOURCES = \
stringutils.h \
stringvector.h \
template.hpp \
+ rules/brackets.cpp \
rules/constructor.cpp \
rules/debug.cpp \
rules/dump.cpp \
diff --git a/src/rules/brackets.cpp b/src/rules/brackets.cpp
new file mode 100644
index 0000000..13e7101
--- /dev/null
+++ b/src/rules/brackets.cpp
@@ -0,0 +1,59 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2014 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "template.hpp"
+
+registerRuleExt(brackets, "015", "(.+)[.](cpp|h)")
+
+startRule(brackets)
+{
+}
+
+endRule(brackets)
+{
+}
+
+parseLineRule(brackets)
+{
+ trim(data);
+ if (!data.empty())
+ {
+ if (data[0] == '}')
+ {
+ std::string text = data.substr(1);
+ trim(text);
+ if (!text.empty())
+ {
+ if (text == "else" ||
+ text == "while")
+ {
+ print("Brackets formatting error. Wrong first bracket position");
+ }
+ }
+ }
+ if (data[data.size() - 1] == '{')
+ {
+ std::string text = data.substr(1, data.size() - 1);
+ trim(text);
+ if (!text.empty())
+ print("Brackets formatting error. Wrong last bracket position");
+ }
+ }
+}