/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Compilers/CSharp/Test/Syntax/IncrementalParsing/NodeValidators.cs
84 строки
3 KB
Jared Parsons
generated move
28 сен 2020, 19:36
28 сен 2020, 19:36
1cca63b
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. #nullable disable using System.Linq; using Microsoft.CodeAnalysis.CSharp.Symbols; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Text; using Xunit; //test namespace Microsoft.CodeAnalysis.CSharp.UnitTests { internal class NodeValidators { #region Verifiers internal static void PointerNameVerification(ExpressionSyntax nameTree, string name) { Assert.IsType<PointerTypeSyntax>(nameTree); var pointerName = nameTree as PointerTypeSyntax; Assert.Equal(pointerName.ElementType.ToString(), name); } internal static void PredefinedNameVerification(ExpressionSyntax nameTree, string typeName) { Assert.IsType<PredefinedTypeSyntax>(nameTree); var predefName = nameTree as PredefinedTypeSyntax; Assert.Equal(predefName.ToString(), typeName); } internal static void ArrayNameVerification(ExpressionSyntax nameTree, string arrayName, int numRanks) { Assert.IsType<ArrayTypeSyntax>(nameTree); var arrayType = nameTree as ArrayTypeSyntax; Assert.Equal(arrayType.ElementType.ToString(), arrayName); Assert.Equal(arrayType.RankSpecifiers.Count(), numRanks); } internal static void AliasedNameVerification(ExpressionSyntax nameTree, string alias, string name) { // Verification of the change Assert.IsType<AliasQualifiedNameSyntax>(nameTree); var aliasName = nameTree as AliasQualifiedNameSyntax; Assert.Equal(aliasName.Alias.ToString(), alias); Assert.Equal(aliasName.Name.ToString(), name); } internal static void DottedNameVerification(ExpressionSyntax nameTree, string left, string right) { // Verification of the change Assert.IsType<QualifiedNameSyntax>(nameTree); var dottedName = nameTree as QualifiedNameSyntax; Assert.Equal(dottedName.Left.ToString(), left); Assert.Equal(dottedName.Right.ToString(), right); } internal static void GenericNameVerification(ExpressionSyntax nameTree, string name, params string[] typeNames) { // Verification of the change Assert.IsType<GenericNameSyntax>(nameTree); var genericName = nameTree as GenericNameSyntax; Assert.Equal(genericName.Identifier.ToString(), name); Assert.Equal(genericName.TypeArgumentList.Arguments.Count, typeNames.Count()); int i = 0; foreach (string str in typeNames) { Assert.Equal(genericName.TypeArgumentList.Arguments[i].ToString(), str); i++; } } internal static void BasicNameVerification(ExpressionSyntax nameTree, string name) { // Verification of the change Assert.IsType<IdentifierNameSyntax>(nameTree); var genericName = nameTree as IdentifierNameSyntax; Assert.Equal(genericName.ToString(), name); } #endregion } }