1 override of IsEffectivelyReadOnly
Microsoft.CodeAnalysis.CSharp (1)
Symbols\ReducedExtensionMethodSymbol.cs (1)
541internal override bool IsEffectivelyReadOnly => _reducedFrom.Parameters[0].RefKind is RefKind.In or RefKind.RefReadOnlyParameter;
75 references to IsEffectivelyReadOnly
Microsoft.CodeAnalysis.CSharp (19)
Binder\Binder.ValueChecks.cs (5)
863if (!isValueType || (RequiresAssignableVariable(valueKind) && (this.ContainingMemberOrLambda as MethodSymbol)?.IsEffectivelyReadOnly == true)) 1179if (RequiresAssignableVariable(valueKind) && !backingField.ContainingType.IsReferenceType && (this.ContainingMemberOrLambda as MethodSymbol)?.IsEffectivelyReadOnly == true) 1808var setValueKind = setMethod.IsEffectivelyReadOnly ? BindValueKind.RValue : BindValueKind.Assignable; 4792if (methodInfo.Method.IsEffectivelyReadOnly) 4837if (methodInfo.Method is null || methodInfo.Method.IsEffectivelyReadOnly)
Binder\Binder_Invocation.cs (3)
1399var valueKind = method.IsEffectivelyReadOnly 1844containingMethod.IsEffectivelyReadOnly && 1847!method.IsEffectivelyReadOnly &&
CodeGen\CodeGenerator_HasHome.cs (1)
75if (!IsAnyReadOnly(addressKind) && containingSymbol is MethodSymbol { ContainingSymbol: NamedTypeSymbol, IsEffectivelyReadOnly: true })
CodeGen\EmitExpression.cs (1)
2186if (method.IsEffectivelyReadOnly && method.MethodKind != MethodKind.Constructor)
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (1)
172!method.IsEffectivelyReadOnly &&
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (1)
662structToStringMethod?.IsEffectivelyReadOnly == true;
Symbols\MethodSymbol.cs (1)
356/// See also <see cref="IsEffectivelyReadOnly"/>
Symbols\PublicModel\MethodSymbol.cs (1)
145return _underlying.IsEffectivelyReadOnly;
Symbols\Source\SourceMemberContainerSymbol.cs (1)
4887Debug.Assert(isRecordClass || !members.Any(m => m is PropertySymbol { GetMethod.IsEffectivelyReadOnly: false }));
Symbols\Source\ThisParameterSymbol.cs (1)
162if (_containingMethod?.IsEffectivelyReadOnly == true)
Symbols\Synthesized\Records\SynthesizedRecordDeconstruct.cs (1)
108return property.GetMethod is not null && !getterMethod.IsEffectivelyReadOnly;
Symbols\Synthesized\Records\SynthesizedRecordPrintMembers.cs (1)
315if (property.GetMethod is not null && !getterMethod.IsEffectivelyReadOnly)
Symbols\Synthesized\Records\SynthesizedRecordToString.cs (1)
30isReadOnly: printMethod.IsEffectivelyReadOnly)
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (4)
CodeGen\CodeGenReadonlyStructTests.cs (4)
1607Assert.Equal(isReadOnly, method.IsEffectivelyReadOnly); 1678Assert.True(m1.IsEffectivelyReadOnly); 1684Assert.False(m2.IsEffectivelyReadOnly); 2583Assert.Equal(isReadOnly, type.GetProperty("P").GetMethod.IsEffectivelyReadOnly);
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (44)
Symbols\UserDefinedCompoundAssignmentOperatorsTests.cs (44)
6898Assert.False(m.IsEffectivelyReadOnly); 6919Assert.True(m.IsEffectivelyReadOnly); 6946Assert.True(m.IsEffectivelyReadOnly); 6952Assert.True(m.IsEffectivelyReadOnly); 6981Assert.True(m.IsEffectivelyReadOnly); 7009Assert.True(m.IsEffectivelyReadOnly); 7043Assert.False(m.IsEffectivelyReadOnly); 7076Assert.True(m.IsEffectivelyReadOnly); 7082Assert.True(m.IsEffectivelyReadOnly); 7109Assert.True(m.IsEffectivelyReadOnly); 7144Assert.True(m.IsEffectivelyReadOnly); 7178Assert.True(m.IsEffectivelyReadOnly); 7252Assert.False(m.IsEffectivelyReadOnly); 7258Assert.False(m.IsEffectivelyReadOnly); 7264Assert.False(m.IsEffectivelyReadOnly); 7270Assert.False(m.IsEffectivelyReadOnly); 18462Assert.True(m.IsEffectivelyReadOnly); 18482Assert.True(m.IsEffectivelyReadOnly); 18509Assert.True(m.IsEffectivelyReadOnly); 18515Assert.True(m.IsEffectivelyReadOnly); 18540Assert.True(m.IsEffectivelyReadOnly); 18546Assert.True(m.IsEffectivelyReadOnly); 18575Assert.True(m.IsEffectivelyReadOnly); 18603Assert.True(m.IsEffectivelyReadOnly); 18631Assert.True(m.IsEffectivelyReadOnly); 18658Assert.True(m.IsEffectivelyReadOnly); 18691Assert.True(m.IsEffectivelyReadOnly); 18697Assert.True(m.IsEffectivelyReadOnly); 18727Assert.True(m.IsEffectivelyReadOnly); 18733Assert.True(m.IsEffectivelyReadOnly); 18760Assert.True(m.IsEffectivelyReadOnly); 18785Assert.True(m.IsEffectivelyReadOnly); 18820Assert.True(m.IsEffectivelyReadOnly); 18853Assert.True(m.IsEffectivelyReadOnly); 18894Assert.True(m.IsEffectivelyReadOnly); 18926Assert.True(m.IsEffectivelyReadOnly); 19000Assert.False(m.IsEffectivelyReadOnly); 19006Assert.False(m.IsEffectivelyReadOnly); 19012Assert.False(m.IsEffectivelyReadOnly); 19018Assert.False(m.IsEffectivelyReadOnly); 19075Assert.False(m.IsEffectivelyReadOnly); 19081Assert.False(m.IsEffectivelyReadOnly); 19087Assert.False(m.IsEffectivelyReadOnly); 19093Assert.False(m.IsEffectivelyReadOnly);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (8)
Semantics\ReadOnlyStructsTests.cs (8)
390Assert.True(method.IsEffectivelyReadOnly); 423Assert.False(method.IsEffectivelyReadOnly); 453Assert.True(method.IsEffectivelyReadOnly); 1155Assert.True(method.IsEffectivelyReadOnly); 1286Assert.Equal(isEffectivelyReadOnly, symbol.GetSymbol().IsEffectivelyReadOnly); 1291Assert.False(reducedFrom.GetSymbol().IsEffectivelyReadOnly); 1326Assert.Equal(isReadOnly, property.GetMethod.IsEffectivelyReadOnly); 1460Assert.False(method.IsEffectivelyReadOnly);