llvm/clang/unittests/Format/MacroCallReconstructorTest.cpp

#include "../../lib/Format/Macros.h"
#include "../../lib/Format/UnwrappedLineParser.h"
#include "TestLexer.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"

#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include <map>
#include <memory>
#include <vector>

namespace clang {
namespace format {
namespace {

UnexpandedMap;

// Keeps track of a sequence of macro expansions.
//
// The expanded tokens are accessible via getTokens(), while a map of macro call
// identifier token to unexpanded token stream is accessible via
// getUnexpanded().
class Expansion {};

struct Chunk {};

// Allows to produce chunks of a token list by typing the code of equal tokens.
//
// Created from a list of tokens, users call "consume" to get the next chunk
// of tokens, checking that they match the written code.
struct Matcher {};

UnexpandedMap mergeUnexpanded(const UnexpandedMap &M1,
                              const UnexpandedMap &M2) {}

class MacroCallReconstructorTest : public testing::Test {};

bool matchesTokens(const UnwrappedLine &L1, const UnwrappedLine &L2) {}
MATCHER_P(matchesLine, line, "") {}

TEST_F(MacroCallReconstructorTest, Identifier) {}

TEST_F(MacroCallReconstructorTest, NestedLineWithinCall) {}

TEST_F(MacroCallReconstructorTest, MultipleLinesInNestedMultiParamsExpansion) {}

TEST_F(MacroCallReconstructorTest, StatementSequence) {}

TEST_F(MacroCallReconstructorTest, NestedBlock) {}

TEST_F(MacroCallReconstructorTest, NestedChildBlocks) {}

TEST_F(MacroCallReconstructorTest, NestedChildrenMultipleArguments) {}

TEST_F(MacroCallReconstructorTest, ReverseOrderArgumentsInExpansion) {}

TEST_F(MacroCallReconstructorTest, MultipleToplevelUnwrappedLines) {}

TEST_F(MacroCallReconstructorTest, NestedCallsMultipleLines) {}

TEST_F(MacroCallReconstructorTest, ParentOutsideMacroCall) {}

TEST_F(MacroCallReconstructorTest, ChildrenSplitAcrossArguments) {}

TEST_F(MacroCallReconstructorTest, ChildrenAfterMacroCall) {}

TEST_F(MacroCallReconstructorTest, InvalidCodeSplittingBracesAcrossArgs) {}

TEST_F(MacroCallReconstructorTest, IndentLevelInExpandedCode) {}

} // namespace
} // namespace format
} // namespace clang