[PATCH] D59684: [clang-format] [PR41187] moves Java import statements to the wrong location if code contains statements that start with the word import
MyDeveloperDay via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Mar 22 03:01:14 PDT 2019
MyDeveloperDay created this revision.
MyDeveloperDay added reviewers: djasper, klimek, mprobst, reuk, JonasToth.
MyDeveloperDay added a project: clang-tools-extra.
Import sorting of java file, incorrectly move import statement to after a function beginning with the word import.
Make 1 character change to regular expression to ensure there is always at least one space/tab after the word import
Previously clang-format --style="LLVM" would format
import X;
class C {
void m() {
importFile();
}
}
as
class C {
void m() {
importFile();
import X;
}
}
https://reviews.llvm.org/D59684
Files:
clang/lib/Format/Format.cpp
clang/unittests/Format/SortImportsTestJava.cpp
Index: clang/unittests/Format/SortImportsTestJava.cpp
===================================================================
--- clang/unittests/Format/SortImportsTestJava.cpp
+++ clang/unittests/Format/SortImportsTestJava.cpp
@@ -262,6 +262,21 @@
"import org.a;"));
}
+TEST_F(SortImportsTestJava, ImportNamedFunction) {
+ EXPECT_EQ("import X;\n"
+ "class C {\n"
+ " void m() {\n"
+ " importFile();\n"
+ " }\n"
+ "}\n",
+ sort("import X;\n"
+ "class C {\n"
+ " void m() {\n"
+ " importFile();\n"
+ " }\n"
+ "}\n"));
+}
+
TEST_F(SortImportsTestJava, NoReplacementsForValidImports) {
// Identical #includes have led to a failure with an unstable sort.
std::string Code = "import org.a;\n"
Index: clang/lib/Format/Format.cpp
===================================================================
--- clang/lib/Format/Format.cpp
+++ clang/lib/Format/Format.cpp
@@ -1960,7 +1960,7 @@
namespace {
const char JavaImportRegexPattern[] =
- "^[\t ]*import[\t ]*(static[\t ]*)?([^\t ]*)[\t ]*;";
+ "^[\t ]*import[\t ]+(static[\t ]*)?([^\t ]*)[\t ]*;";
} // anonymous namespace
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59684.191833.patch
Type: text/x-patch
Size: 1260 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190322/7b45942a/attachment.bin>
More information about the cfe-commits
mailing list