/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Workspaces/SharedUtilitiesAndExtensions/Compiler/CSharp/Services/Precedence/AbstractCSharpPrecedenceService.cs
25 строк
1 KB
Cyrus Najmabadi
Tweak 'add required parens' to recognize a common C# idiom
08 июл 2025, 17:44
08 июл 2025, 17:44
d8d0028
Код
Авторство
О чём код?
// 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. using Microsoft.CodeAnalysis.CSharp.Extensions; using Microsoft.CodeAnalysis.Precedence; namespace Microsoft.CodeAnalysis.CSharp.Precedence; internal abstract class AbstractCSharpPrecedenceService<TSyntax> : AbstractPrecedenceService<TSyntax, OperatorPrecedence> where TSyntax : SyntaxNode { public sealed override PrecedenceKind GetPrecedenceKind(OperatorPrecedence precedence) => precedence switch { OperatorPrecedence.NullCoalescing => PrecedenceKind.Coalesce, OperatorPrecedence.ConditionalOr or OperatorPrecedence.ConditionalAnd => PrecedenceKind.Logical, OperatorPrecedence.LogicalOr or OperatorPrecedence.LogicalXor or OperatorPrecedence.LogicalAnd => PrecedenceKind.Bitwise, OperatorPrecedence.Equality => PrecedenceKind.Equality, OperatorPrecedence.RelationalAndTypeTesting => PrecedenceKind.Relational, OperatorPrecedence.Shift => PrecedenceKind.Shift, OperatorPrecedence.Additive or OperatorPrecedence.Multiplicative => PrecedenceKind.Arithmetic, _ => PrecedenceKind.Other, }; }