#include "clang/Lex/DependencyDirectivesScanner.h"
#include "llvm/ADT/SmallString.h"
#include "gtest/gtest.h"
usingnamespacellvm;
usingnamespaceclang;
usingnamespaceclang::dependency_directives_scan;
static bool minimizeSourceToDependencyDirectives(
StringRef Input, SmallVectorImpl<char> &Out,
SmallVectorImpl<dependency_directives_scan::Token> &Tokens,
SmallVectorImpl<Directive> &Directives) { … }
static bool minimizeSourceToDependencyDirectives(StringRef Input,
SmallVectorImpl<char> &Out) { … }
namespace {
TEST(MinimizeSourceToDependencyDirectivesTest, Empty) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, AllTokens) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, EmptyHash) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, HashHash) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, Define) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, DefineSpacing) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, DefineMacroArguments) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, DefineInvalidMacroArguments) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, DefineHorizontalWhitespace) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, DefineMultilineArgs) { … }
TEST(MinimizeSourceToDependencyDirectivesTest,
DefineMultilineArgsCarriageReturn) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, DefineMultilineArgsStringize) { … }
TEST(MinimizeSourceToDependencyDirectivesTest,
DefineMultilineArgsCarriageReturnNewline) { … }
TEST(MinimizeSourceToDependencyDirectivesTest,
DefineMultilineArgsNewlineCarriageReturn) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, DefineNumber) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, DefineNoName) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, DefineNoWhitespace) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, MultilineComment) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, MultilineCommentInStrings) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, CommentSlashSlashStar) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, Ifdef) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, Elifdef) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, EmptyIfdef) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, EmptyElifdef) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, Pragma) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, UnderscorePragma) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, Include) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, AtImport) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, EmptyIncludesAndImports) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, AtImportFailures) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, RawStringLiteral) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, SplitIdentifier) { … }
TEST(MinimizeSourceToDependencyDirectivesTest,
WhitespaceAfterLineContinuationSlash) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, PoundWarningAndError) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, CharacterLiteral) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, CharacterLiteralPrefixL) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, CharacterLiteralPrefixU) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, CharacterLiteralPrefixu) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, PragmaOnce) { … }
TEST(MinimizeSourceToDependencyDirectivesTest,
SkipLineStringCharLiteralsUntilNewline) { … }
TEST(MinimizeSourceToDependencyDirectivesTest,
SupportWhitespaceBeforeLineContinuation) { … }
TEST(MinimizeSourceToDependencyDirectivesTest,
SupportWhitespaceBeforeLineContinuationInStringSkipping) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, CxxModules) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, ObjCMethodArgs) { … }
TEST(MinimizeSourceToDependencyDirectivesTest, TokensBeforeEOF) { … }
}