forked from OSchip/llvm-project
[SyntaxTree] Group tests related to `using`
Differential Revision: https://reviews.llvm.org/D86443
This commit is contained in:
parent
a722d6a197
commit
90f85dfc14
|
@ -2494,7 +2494,7 @@ UsingNamespaceDirective
|
|||
)txt"}));
|
||||
}
|
||||
|
||||
TEST_P(SyntaxTreeTest, UsingDeclaration) {
|
||||
TEST_P(SyntaxTreeTest, UsingDeclaration_Namespace) {
|
||||
if (!GetParam().isCXX()) {
|
||||
return;
|
||||
}
|
||||
|
@ -2515,6 +2515,59 @@ UsingDeclaration
|
|||
)txt"}));
|
||||
}
|
||||
|
||||
TEST_P(SyntaxTreeTest, UsingDeclaration_ClassMember) {
|
||||
if (!GetParam().isCXX()) {
|
||||
return;
|
||||
}
|
||||
EXPECT_TRUE(treeDumpEqualOnAnnotations(
|
||||
R"cpp(
|
||||
template <class T> struct X {
|
||||
[[using T::foo;]]
|
||||
[[using typename T::bar;]]
|
||||
};
|
||||
)cpp",
|
||||
{R"txt(
|
||||
UsingDeclaration
|
||||
|-using
|
||||
|-NestedNameSpecifier
|
||||
| |-IdentifierNameSpecifier
|
||||
| | `-T
|
||||
| `-::
|
||||
|-foo
|
||||
`-;
|
||||
)txt",
|
||||
R"txt(
|
||||
UsingDeclaration
|
||||
|-using
|
||||
|-typename
|
||||
|-NestedNameSpecifier
|
||||
| |-IdentifierNameSpecifier
|
||||
| | `-T
|
||||
| `-::
|
||||
|-bar
|
||||
`-;
|
||||
)txt"}));
|
||||
}
|
||||
|
||||
TEST_P(SyntaxTreeTest, UsingTypeAlias) {
|
||||
if (!GetParam().isCXX()) {
|
||||
return;
|
||||
}
|
||||
EXPECT_TRUE(treeDumpEqual(
|
||||
R"cpp(
|
||||
using type = int;
|
||||
)cpp",
|
||||
R"txt(
|
||||
*: TranslationUnit
|
||||
`-TypeAliasDeclaration
|
||||
|-using
|
||||
|-type
|
||||
|-=
|
||||
|-int
|
||||
`-;
|
||||
)txt"));
|
||||
}
|
||||
|
||||
TEST_P(SyntaxTreeTest, FreeStandingClass_ForwardDeclaration) {
|
||||
EXPECT_TRUE(treeDumpEqualOnAnnotations(
|
||||
R"cpp(
|
||||
|
@ -3005,52 +3058,6 @@ template <class T> struct X<T>::Y {};
|
|||
)txt"));
|
||||
}
|
||||
|
||||
TEST_P(SyntaxTreeTest, TemplatesUsingUsing) {
|
||||
if (!GetParam().isCXX()) {
|
||||
return;
|
||||
}
|
||||
EXPECT_TRUE(treeDumpEqual(
|
||||
R"cpp(
|
||||
template <class T> struct X {
|
||||
using T::foo;
|
||||
using typename T::bar;
|
||||
};
|
||||
)cpp",
|
||||
R"txt(
|
||||
*: TranslationUnit
|
||||
`-TemplateDeclaration
|
||||
|-template
|
||||
|-<
|
||||
|-UnknownDeclaration
|
||||
| |-class
|
||||
| `-T
|
||||
|->
|
||||
`-SimpleDeclaration
|
||||
|-struct
|
||||
|-X
|
||||
|-{
|
||||
|-UsingDeclaration
|
||||
| |-using
|
||||
| |-NestedNameSpecifier
|
||||
| | |-IdentifierNameSpecifier
|
||||
| | | `-T
|
||||
| | `-::
|
||||
| |-foo
|
||||
| `-;
|
||||
|-UsingDeclaration
|
||||
| |-using
|
||||
| |-typename
|
||||
| |-NestedNameSpecifier
|
||||
| | |-IdentifierNameSpecifier
|
||||
| | | `-T
|
||||
| | `-::
|
||||
| |-bar
|
||||
| `-;
|
||||
|-}
|
||||
`-;
|
||||
)txt"));
|
||||
}
|
||||
|
||||
TEST_P(SyntaxTreeTest, ExplicitClassTemplateInstantation_Definition) {
|
||||
if (!GetParam().isCXX()) {
|
||||
return;
|
||||
|
@ -3152,25 +3159,6 @@ TemplateDeclaration
|
|||
)txt"}));
|
||||
}
|
||||
|
||||
TEST_P(SyntaxTreeTest, UsingType) {
|
||||
if (!GetParam().isCXX()) {
|
||||
return;
|
||||
}
|
||||
EXPECT_TRUE(treeDumpEqual(
|
||||
R"cpp(
|
||||
using type = int;
|
||||
)cpp",
|
||||
R"txt(
|
||||
*: TranslationUnit
|
||||
`-TypeAliasDeclaration
|
||||
|-using
|
||||
|-type
|
||||
|-=
|
||||
|-int
|
||||
`-;
|
||||
)txt"));
|
||||
}
|
||||
|
||||
TEST_P(SyntaxTreeTest, EmptyDeclaration) {
|
||||
EXPECT_TRUE(treeDumpEqual(
|
||||
R"cpp(
|
||||
|
|
Loading…
Reference in New Issue