| File: Symbols\CustomModifiersTuple.cs | Web Access |
| Project: src\roslyn\src\Compilers\Core\Portable\Microsoft.CodeAnalysis.csproj (Microsoft.CodeAnalysis) |
// 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 System.Collections.Immutable; namespace Microsoft.CodeAnalysis { internal sealed class CustomModifiersTuple { private readonly ImmutableArray<CustomModifier> _typeCustomModifiers; private readonly ImmutableArray<CustomModifier> _refCustomModifiers; public static readonly CustomModifiersTuple Empty = new CustomModifiersTuple(ImmutableArray<CustomModifier>.Empty, ImmutableArray<CustomModifier>.Empty); private CustomModifiersTuple(ImmutableArray<CustomModifier> typeCustomModifiers, ImmutableArray<CustomModifier> refCustomModifiers) { _typeCustomModifiers = typeCustomModifiers.NullToEmpty(); _refCustomModifiers = refCustomModifiers.NullToEmpty(); } public static CustomModifiersTuple Create(ImmutableArray<CustomModifier> typeCustomModifiers, ImmutableArray<CustomModifier> refCustomModifiers) { if (typeCustomModifiers.IsDefaultOrEmpty && refCustomModifiers.IsDefaultOrEmpty) { return Empty; } return new CustomModifiersTuple(typeCustomModifiers, refCustomModifiers); } public ImmutableArray<CustomModifier> TypeCustomModifiers { get { return _typeCustomModifiers; } } public ImmutableArray<CustomModifier> RefCustomModifiers { get { return _refCustomModifiers; } } } }