summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-08-18 23:14:07 +0300
committerAndrei Karas <akaras@inbox.ru>2016-08-18 23:14:07 +0300
commit1a8ab0421d23125830ba3aac4d8b7910c257be16 (patch)
treeefd781505398f5a54017aba3ab86cc93773709a7
parent7213833c054da4a5c46d0f4e3190b2770c204b7c (diff)
downloadmplint-1a8ab0421d23125830ba3aac4d8b7910c257be16.tar.gz
mplint-1a8ab0421d23125830ba3aac4d8b7910c257be16.tar.bz2
mplint-1a8ab0421d23125830ba3aac4d8b7910c257be16.tar.xz
mplint-1a8ab0421d23125830ba3aac4d8b7910c257be16.zip
Not check brackets in commented line.
-rw-r--r--src/rules/brackets.cpp7
-rw-r--r--tests/testsrc/good/brackets2.cpp81
-rw-r--r--tests/testsrc/good/brackets2.h79
3 files changed, 167 insertions, 0 deletions
diff --git a/src/rules/brackets.cpp b/src/rules/brackets.cpp
index 13e7101..a323249 100644
--- a/src/rules/brackets.cpp
+++ b/src/rules/brackets.cpp
@@ -48,8 +48,15 @@ parseLineRule(brackets)
}
}
}
+ const size_t sz = data.size();
if (data[data.size() - 1] == '{')
{
+ if (sz > 2)
+ {
+ const std::string str = data.substr(0, 2);
+ if (str == "//" || str == "/*")
+ return;
+ }
std::string text = data.substr(1, data.size() - 1);
trim(text);
if (!text.empty())
diff --git a/tests/testsrc/good/brackets2.cpp b/tests/testsrc/good/brackets2.cpp
new file mode 100644
index 0000000..2199d6f
--- /dev/null
+++ b/tests/testsrc/good/brackets2.cpp
@@ -0,0 +1,81 @@
+/*
+ * 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 2 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 "debug.h"
+
+//void func1() {
+// if (a == 10)
+// {
+// if (b == 20)
+// {
+// }
+// }
+//}
+
+void func2()
+{
+// if (a == 10) {
+// if (b == 20)
+// {
+// }
+// }
+}
+
+void func3()
+{
+ if (a == 10)
+ {
+// if (b == 20) {
+// }
+ }
+}
+
+void func4()
+{
+ if (a == 10)
+ {
+// if (b == 20)
+// {
+// } else
+// {
+// }
+ }
+}
+
+void func5()
+{
+ if (a == 10)
+ {
+// if (b == 20)
+// {
+// }
+// else {
+// }
+ }
+}
+
+void func6()
+{
+// if (a == 10) {
+// if (b == 20) {
+// } else {
+// }
+// }
+}
diff --git a/tests/testsrc/good/brackets2.h b/tests/testsrc/good/brackets2.h
new file mode 100644
index 0000000..d1fb867
--- /dev/null
+++ b/tests/testsrc/good/brackets2.h
@@ -0,0 +1,79 @@
+/*
+ * 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 2 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/>.
+ */
+
+//void func1() {
+// if (a == 10)
+// {
+// if (b == 20)
+// {
+// }
+// }
+//}
+
+void func2()
+{
+// if (a == 10) {
+// if (b == 20)
+// {
+// }
+// }
+}
+
+void func3()
+{
+ if (a == 10)
+ {
+// if (b == 20) {
+// }
+ }
+}
+
+void func4()
+{
+ if (a == 10)
+ {
+// if (b == 20)
+// {
+// } else
+// {
+// }
+ }
+}
+
+void func5()
+{
+ if (a == 10)
+ {
+// if (b == 20)
+// {
+// }
+// else {
+// }
+ }
+}
+
+void func6()
+{
+// if (a == 10) {
+// if (b == 20) {
+// } else {
+// }
+// }
+}