From d9309774a63e18667fde8e31fab39fdb375d8c6f Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Mon, 13 Apr 2015 15:03:30 +0000 Subject: clang-format: [JS] Support index signature types. Patch by Martin Probst. llvm-svn: 234754 --- clang/lib/Format/TokenAnnotator.cpp | 3 ++- clang/unittests/Format/FormatTestJS.cpp | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'clang') diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 0ea67b288d0..0c11c88221f 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -413,7 +413,8 @@ private: if (Contexts.back().ColonIsForRangeExpr || (Contexts.size() == 1 && !Line.First->isOneOf(tok::kw_enum, tok::kw_case)) || - Contexts.back().ContextKind == tok::l_paren) { + Contexts.back().ContextKind == tok::l_paren || + Contexts.back().ContextKind == tok::l_square) { Tok->Type = TT_JsTypeColon; break; } diff --git a/clang/unittests/Format/FormatTestJS.cpp b/clang/unittests/Format/FormatTestJS.cpp index eb587f27694..3c8c14d2ba8 100644 --- a/clang/unittests/Format/FormatTestJS.cpp +++ b/clang/unittests/Format/FormatTestJS.cpp @@ -670,5 +670,9 @@ TEST_F(FormatTestJS, OptionalTypes) { "}"); } +TEST_F(FormatTestJS, IndexSignature) { + verifyFormat("var x: {[k: string]: v};"); +} + } // end namespace tooling } // end namespace clang -- cgit v1.2.3