using System.Collections.Immutable; namespace Microsoft.CodeAnalysis.CSharp.Symbols; internal sealed class SourcePropertyClonedParameterSymbolForAccessors : SourceClonedParameterSymbol { internal override bool IsCallerFilePath => _originalParam.IsCallerFilePath; internal override bool IsCallerLineNumber => _originalParam.IsCallerLineNumber; internal override bool IsCallerMemberName => _originalParam.IsCallerMemberName; internal override int CallerArgumentExpressionParameterIndex => _originalParam.CallerArgumentExpressionParameterIndex; internal SourcePropertyClonedParameterSymbolForAccessors(SourceParameterSymbol originalParam, Symbol newOwner) : base(originalParam, newOwner, originalParam.Ordinal, suppressOptional: false) { } internal override ParameterSymbol WithCustomModifiersAndParams(TypeSymbol newType, ImmutableArray newCustomModifiers, ImmutableArray newRefCustomModifiers, bool newIsParams) { return new SourcePropertyClonedParameterSymbolForAccessors(_originalParam.WithCustomModifiersAndParamsCore(newType, newCustomModifiers, newRefCustomModifiers, newIsParams), ContainingSymbol); } }