156 references to CallerUnsafeMode
Microsoft.CodeAnalysis.CSharp (156)
Binder\Binder_Expressions.cs (2)
9991
Debug.Assert(propertySymbol.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) ==
CallerUnsafeMode
.None ||
10079
Debug.Assert(eventSymbol.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) ==
CallerUnsafeMode
.None ||
Binder\Binder_Unsafe.cs (11)
43
var
callerUnsafeMode = symbol.GetCallerUnsafeMode(this.FieldsBeingBound);
44
if (!useUpdatedMemorySafetyRules && callerUnsafeMode !=
CallerUnsafeMode
.Implicit)
106
private void ReportDiagnosticsIfUnsafeMemberAccess<T>(DiagnosticBag diagnostics, Symbol symbol,
CallerUnsafeMode
callerUnsafeMode, T arg, Func<T, Location?> location, bool forConstructorConstraint, ReadOnlySpan<object> additionalArgs = default)
108
Debug.Assert(this.Compilation.SourceModule.UseUpdatedMemorySafetyRules || callerUnsafeMode ==
CallerUnsafeMode
.Implicit);
110
if (callerUnsafeMode !=
CallerUnsafeMode
.None)
112
Debug.Assert(callerUnsafeMode ==
CallerUnsafeMode
.Explicit || !forConstructorConstraint);
116
CallerUnsafeMode
.Explicit => forConstructorConstraint ? ErrorCode.ERR_UnsafeConstructorConstraint : ErrorCode.ERR_UnsafeMemberOperation,
117
CallerUnsafeMode
.Implicit => ErrorCode.ERR_UnsafeMemberOperationCompat,
141
var
callerUnsafeMode = symbol.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty);
142
if (callerUnsafeMode is not
CallerUnsafeMode
.None)
144
Debug.Fail($"Symbol {symbol} has {nameof(
CallerUnsafeMode
)}={callerUnsafeMode}.");
Lowering\ClosureConversion\LambdaCapturedVariable.cs (2)
141
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Lowering\StateMachineRewriter\StateMachineFieldSymbol.cs (2)
66
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Lowering\StateMachineRewriter\SynthesizedStateMachineProperty.cs (2)
159
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\AliasSymbol.cs (2)
193
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.FieldSymbol.cs (2)
47
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.PropertySymbol.cs (2)
136
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\AssemblySymbol.cs (2)
313
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\DiscardSymbol.cs (2)
35
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\ErrorMethodSymbol.cs (2)
296
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\ErrorPropertySymbol.cs (2)
85
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Extensions\RewrittenLambdaOrLocalFunctionSymbol.cs (1)
46
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => UnderlyingMethod.GetCallerUnsafeMode(fieldsBeingBound);
Symbols\Extensions\SourceExtensionImplementationMethodSymbol.cs (1)
186
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => UnderlyingMethod.GetCallerUnsafeMode(fieldsBeingBound);
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (2)
867
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\LabelSymbol.cs (2)
94
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\LocalSymbol.cs (2)
382
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Metadata\PE\PEEventSymbol.cs (4)
574
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound)
578
return
CallerUnsafeMode
.None;
582
?
CallerUnsafeMode
.Explicit
583
:
CallerUnsafeMode
.Implicit;
Symbols\Metadata\PE\PEFieldSymbol.cs (4)
769
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound)
773
return
CallerUnsafeMode
.None;
777
?
CallerUnsafeMode
.Explicit
778
:
CallerUnsafeMode
.Implicit;
Symbols\Metadata\PE\PEMethodSymbol.cs (6)
1830
Debug.Assert(AssociatedSymbol?.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) !=
CallerUnsafeMode
.Implicit);
1832
return hasRequiresUnsafeAttribute || AssociatedSymbol?.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) ==
CallerUnsafeMode
.Explicit;
1839
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound)
1843
return
CallerUnsafeMode
.None;
1847
?
CallerUnsafeMode
.Explicit
1848
:
CallerUnsafeMode
.Implicit;
Symbols\Metadata\PE\PEPropertySymbol.cs (4)
687
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound)
691
return
CallerUnsafeMode
.None;
695
?
CallerUnsafeMode
.Explicit
696
:
CallerUnsafeMode
.Implicit;
Symbols\ModuleSymbol.cs (2)
196
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\NamespaceSymbol.cs (2)
221
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\NativeIntegerTypeSymbol.cs (2)
417
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => UnderlyingMethod.GetCallerUnsafeMode(fieldsBeingBound);
533
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingProperty.GetCallerUnsafeMode(fieldsBeingBound);
Symbols\ParameterSymbol.cs (2)
454
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\RangeVariableSymbol.cs (2)
127
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\ReducedExtensionMethodSymbol.cs (1)
607
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _reducedFrom.GetCallerUnsafeMode(fieldsBeingBound);
Symbols\Retargeting\RetargetingEventSymbol.cs (1)
166
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingEvent.GetCallerUnsafeMode(fieldsBeingBound);
Symbols\Retargeting\RetargetingFieldSymbol.cs (1)
121
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingField.GetCallerUnsafeMode(fieldsBeingBound);
Symbols\Retargeting\RetargetingMethodSymbol.cs (1)
404
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => UnderlyingMethod.GetCallerUnsafeMode(fieldsBeingBound);
Symbols\Retargeting\RetargetingPropertySymbol.cs (1)
227
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingProperty.GetCallerUnsafeMode(fieldsBeingBound);
Symbols\SignatureOnlyMethodSymbol.cs (1)
189
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => throw ExceptionUtilities.Unreachable();
Symbols\SignatureOnlyPropertySymbol.cs (1)
108
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => throw ExceptionUtilities.Unreachable();
Symbols\Source\LocalFunctionSymbol.cs (1)
142
if (GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) ==
CallerUnsafeMode
.Explicit)
Symbols\Source\SourceEnumConstantSymbol.cs (2)
61
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Source\SourceEventSymbol.cs (7)
415
if (GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) ==
CallerUnsafeMode
.Explicit)
481
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound)
486
?
CallerUnsafeMode
.Explicit
487
:
CallerUnsafeMode
.None;
491
?
CallerUnsafeMode
.Implicit :
CallerUnsafeMode
.None;
894
if (GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) ==
CallerUnsafeMode
.Explicit)
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (2)
1581
if (overridingMember.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) ==
CallerUnsafeMode
.Explicit && leastOverriddenMember.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) ==
CallerUnsafeMode
.None)
Symbols\Source\SourceMemberFieldSymbol.cs (7)
141
if (GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) ==
CallerUnsafeMode
.Explicit)
149
if (GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) ==
CallerUnsafeMode
.Explicit)
193
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound)
200
?
CallerUnsafeMode
.Explicit
201
:
CallerUnsafeMode
.None;
205
?
CallerUnsafeMode
.Implicit :
CallerUnsafeMode
.None;
Symbols\Source\SourceMemberMethodSymbol.cs (1)
1004
if (GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) ==
CallerUnsafeMode
.Explicit)
Symbols\Source\SourceMethodSymbol.cs (10)
122
/// (i.e., can have <see cref="
CallerUnsafeMode
.Explicit"/>).
126
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound)
130
Debug.Assert(AssociatedSymbol?.GetCallerUnsafeMode(fieldsBeingBound) !=
CallerUnsafeMode
.Implicit);
134
return
CallerUnsafeMode
.None;
137
return HasUnsafeModifier || (!HasSafeModifier && AssociatedSymbol?.GetCallerUnsafeMode(fieldsBeingBound) ==
CallerUnsafeMode
.Explicit)
138
?
CallerUnsafeMode
.Explicit
139
:
CallerUnsafeMode
.None;
143
?
CallerUnsafeMode
.Implicit :
CallerUnsafeMode
.None;
168
if (target.GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) ==
CallerUnsafeMode
.Explicit)
Symbols\Source\SourcePropertySymbol.cs (5)
830
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound)
835
?
CallerUnsafeMode
.Explicit
836
:
CallerUnsafeMode
.None;
840
?
CallerUnsafeMode
.Implicit :
CallerUnsafeMode
.None;
Symbols\Source\SourcePropertySymbolBase.cs (2)
1060
if (GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) ==
CallerUnsafeMode
.Explicit)
1460
if (GetCallerUnsafeMode(ConsList<FieldSymbol>.Empty) ==
CallerUnsafeMode
.Explicit)
Symbols\SubstitutedEventSymbol.cs (1)
141
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingEvent.GetCallerUnsafeMode(fieldsBeingBound);
Symbols\SubstitutedFieldSymbol.cs (1)
97
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingField.GetCallerUnsafeMode(fieldsBeingBound);
Symbols\SubstitutedMethodSymbol.cs (1)
498
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => UnderlyingMethod.GetCallerUnsafeMode(fieldsBeingBound);
Symbols\SubstitutedPropertySymbol.cs (1)
148
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingProperty.GetCallerUnsafeMode(fieldsBeingBound);
Symbols\Symbol.cs (2)
626
/// See <see cref="
CallerUnsafeMode
"/> for more details.
628
internal abstract
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound);
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListProperty.cs (2)
80
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Synthesized\Records\SynthesizedPrimaryConstructorParameterBackingFieldSymbol.cs (2)
50
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Synthesized\Records\SynthesizedRecordEqualityContractProperty.cs (2)
53
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Synthesized\Records\SynthesizedRecordPropertySymbol.cs (2)
54
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedBackingFieldSymbol.cs (2)
127
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedCollectionBuilderProjectedMethodSymbol.cs (2)
69
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedEmbeddedAttributePropertySymbol.cs (2)
50
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (2)
321
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedEnumValueFieldSymbol.cs (2)
29
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedFieldSymbol.cs (2)
45
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedGlobalMethodSymbol.cs (2)
363
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (2)
428
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedLambdaCacheFieldSymbol.cs (2)
30
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedMethodSymbol.cs (2)
102
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedStaticConstructor.cs (2)
442
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedUnionValuePropertySymbol.cs (2)
79
internal override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Tuples\TupleErrorFieldSymbol.cs (2)
157
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;
Symbols\Tuples\TupleFieldSymbol.cs (1)
127
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingField.GetCallerUnsafeMode(fieldsBeingBound);
Symbols\TypeSymbol.cs (2)
665
internal sealed override
CallerUnsafeMode
GetCallerUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) =>
CallerUnsafeMode
.None;