14967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar//===--- SortJavaScriptImports.h - Sort ES6 Imports -------------*- C++ -*-===// 24967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// 34967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// The LLVM Compiler Infrastructure 44967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// 54967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// This file is distributed under the University of Illinois Open Source 64967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// License. See LICENSE.TXT for details. 74967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// 84967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar//===----------------------------------------------------------------------===// 94967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar/// 104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar/// \file 114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar/// \brief This file implements a sorter for JavaScript ES6 imports. 124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar/// 134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar//===----------------------------------------------------------------------===// 144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#ifndef LLVM_CLANG_LIB_FORMAT_SORTJAVASCRIPTIMPORTS_H 164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#define LLVM_CLANG_LIB_FORMAT_SORTJAVASCRIPTIMPORTS_H 174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#include "clang/Basic/LLVM.h" 194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#include "clang/Format/Format.h" 204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#include "llvm/ADT/ArrayRef.h" 214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#include "llvm/ADT/StringRef.h" 224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarnamespace clang { 244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarnamespace format { 254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// Sort JavaScript ES6 imports/exports in ``Code``. The generated replacements 274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// only monotonically increase the length of the given code. 284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainartooling::Replacements sortJavaScriptImports(const FormatStyle &Style, 294967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar StringRef Code, 304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar ArrayRef<tooling::Range> Ranges, 314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar StringRef FileName); 324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} // end namespace format 344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} // end namespace clang 354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#endif 37