This revision was automatically updated to reflect the committed changes. Closed by commit rL271401: clang-format: [JS] no ASI on `import {x as\n y}`. (authored by mprobst).
Changed prior to commit: http://reviews.llvm.org/D20817?vs=59074&id=59227#toc Repository: rL LLVM http://reviews.llvm.org/D20817 Files: cfe/trunk/lib/Format/SortJavaScriptImports.cpp cfe/trunk/lib/Format/UnwrappedLineParser.cpp cfe/trunk/unittests/Format/FormatTestJS.cpp Index: cfe/trunk/lib/Format/SortJavaScriptImports.cpp =================================================================== --- cfe/trunk/lib/Format/SortJavaScriptImports.cpp +++ cfe/trunk/lib/Format/SortJavaScriptImports.cpp @@ -245,7 +245,7 @@ SourceLocation SymbolsEnd = Reference.Symbols.back().Range.getEnd(); Buffer += getSourceText(Reference.Range.getBegin(), SymbolsStart); // ... then the references in order ... - for (auto *I = Symbols.begin(), *E = Symbols.end(); I != E; ++I) { + for (auto I = Symbols.begin(), E = Symbols.end(); I != E; ++I) { if (I != Symbols.begin()) Buffer += ","; Buffer += getSourceText(I->Range); Index: cfe/trunk/lib/Format/UnwrappedLineParser.cpp =================================================================== --- cfe/trunk/lib/Format/UnwrappedLineParser.cpp +++ cfe/trunk/lib/Format/UnwrappedLineParser.cpp @@ -668,11 +668,11 @@ // FIXME: This returns true for C/C++ keywords like 'struct'. return FormatTok->is(tok::identifier) && (FormatTok->Tok.getIdentifierInfo() == nullptr || - !FormatTok->isOneOf(Keywords.kw_in, Keywords.kw_of, Keywords.kw_async, - Keywords.kw_await, Keywords.kw_yield, - Keywords.kw_finally, Keywords.kw_function, - Keywords.kw_import, Keywords.kw_is, - Keywords.kw_let, Keywords.kw_var, + !FormatTok->isOneOf(Keywords.kw_in, Keywords.kw_of, Keywords.kw_as, + Keywords.kw_async, Keywords.kw_await, + Keywords.kw_yield, Keywords.kw_finally, + Keywords.kw_function, Keywords.kw_import, + Keywords.kw_is, Keywords.kw_let, Keywords.kw_var, Keywords.kw_abstract, Keywords.kw_extends, Keywords.kw_implements, Keywords.kw_instanceof, Keywords.kw_interface, Keywords.kw_throws)); Index: cfe/trunk/unittests/Format/FormatTestJS.cpp =================================================================== --- cfe/trunk/unittests/Format/FormatTestJS.cpp +++ cfe/trunk/unittests/Format/FormatTestJS.cpp @@ -1010,6 +1010,9 @@ "} from 'some/module.js';"); verifyFormat("import {X, Y,} from 'some/module.js';"); verifyFormat("import {X as myLocalX, Y as myLocalY} from 'some/module.js';"); + // Ensure Automatic Semicolon Insertion does not break on "as\n". + verifyFormat("import {X as myX} from 'm';", "import {X as\n" + " myX} from 'm';"); verifyFormat("import * as lib from 'some/module.js';"); verifyFormat("var x = {import: 1};\nx.import = 2;");
Index: cfe/trunk/lib/Format/SortJavaScriptImports.cpp =================================================================== --- cfe/trunk/lib/Format/SortJavaScriptImports.cpp +++ cfe/trunk/lib/Format/SortJavaScriptImports.cpp @@ -245,7 +245,7 @@ SourceLocation SymbolsEnd = Reference.Symbols.back().Range.getEnd(); Buffer += getSourceText(Reference.Range.getBegin(), SymbolsStart); // ... then the references in order ... - for (auto *I = Symbols.begin(), *E = Symbols.end(); I != E; ++I) { + for (auto I = Symbols.begin(), E = Symbols.end(); I != E; ++I) { if (I != Symbols.begin()) Buffer += ","; Buffer += getSourceText(I->Range); Index: cfe/trunk/lib/Format/UnwrappedLineParser.cpp =================================================================== --- cfe/trunk/lib/Format/UnwrappedLineParser.cpp +++ cfe/trunk/lib/Format/UnwrappedLineParser.cpp @@ -668,11 +668,11 @@ // FIXME: This returns true for C/C++ keywords like 'struct'. return FormatTok->is(tok::identifier) && (FormatTok->Tok.getIdentifierInfo() == nullptr || - !FormatTok->isOneOf(Keywords.kw_in, Keywords.kw_of, Keywords.kw_async, - Keywords.kw_await, Keywords.kw_yield, - Keywords.kw_finally, Keywords.kw_function, - Keywords.kw_import, Keywords.kw_is, - Keywords.kw_let, Keywords.kw_var, + !FormatTok->isOneOf(Keywords.kw_in, Keywords.kw_of, Keywords.kw_as, + Keywords.kw_async, Keywords.kw_await, + Keywords.kw_yield, Keywords.kw_finally, + Keywords.kw_function, Keywords.kw_import, + Keywords.kw_is, Keywords.kw_let, Keywords.kw_var, Keywords.kw_abstract, Keywords.kw_extends, Keywords.kw_implements, Keywords.kw_instanceof, Keywords.kw_interface, Keywords.kw_throws)); Index: cfe/trunk/unittests/Format/FormatTestJS.cpp =================================================================== --- cfe/trunk/unittests/Format/FormatTestJS.cpp +++ cfe/trunk/unittests/Format/FormatTestJS.cpp @@ -1010,6 +1010,9 @@ "} from 'some/module.js';"); verifyFormat("import {X, Y,} from 'some/module.js';"); verifyFormat("import {X as myLocalX, Y as myLocalY} from 'some/module.js';"); + // Ensure Automatic Semicolon Insertion does not break on "as\n". + verifyFormat("import {X as myX} from 'm';", "import {X as\n" + " myX} from 'm';"); verifyFormat("import * as lib from 'some/module.js';"); verifyFormat("var x = {import: 1};\nx.import = 2;");
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits