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