1//===--- SortJavaScriptImports.h - Sort ES6 Imports -------------*- C++ -*-===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8/// 9/// \file 10/// This file implements a sorter for JavaScript ES6 imports. 11/// 12//===----------------------------------------------------------------------===// 13 14#ifndef LLVM_CLANG_LIB_FORMAT_SORTJAVASCRIPTIMPORTS_H 15#define LLVM_CLANG_LIB_FORMAT_SORTJAVASCRIPTIMPORTS_H 16 17#include "clang/Basic/LLVM.h" 18#include "clang/Format/Format.h" 19#include "llvm/ADT/ArrayRef.h" 20#include "llvm/ADT/StringRef.h" 21 22namespace clang { 23namespace format { 24 25// Sort JavaScript ES6 imports/exports in ``Code``. The generated replacements 26// only monotonically increase the length of the given code. 27tooling::Replacements sortJavaScriptImports(const FormatStyle &Style, 28 StringRef Code, 29 ArrayRef<tooling::Range> Ranges, 30 StringRef FileName); 31 32} // end namespace format 33} // end namespace clang 34 35#endif 36