143 references to CallerUnsafeMode
Microsoft.CodeAnalysis.CSharp (113)
Binder\Binder_Expressions.cs (2)
9291
Debug.Assert(propertySymbol.CallerUnsafeMode ==
CallerUnsafeMode
.None ||
9379
Debug.Assert(eventSymbol.CallerUnsafeMode ==
CallerUnsafeMode
.None ||
Binder\Binder_Unsafe.cs (6)
107
var
callerUnsafeMode = symbol.CallerUnsafeMode;
108
if (callerUnsafeMode !=
CallerUnsafeMode
.None)
110
Debug.Assert(callerUnsafeMode ==
CallerUnsafeMode
.Explicit || !forConstructorConstraint);
114
CallerUnsafeMode
.Explicit => forConstructorConstraint ? ErrorCode.ERR_UnsafeConstructorConstraint : ErrorCode.ERR_UnsafeMemberOperation,
115
CallerUnsafeMode
.Implicit => ErrorCode.ERR_UnsafeMemberOperationCompat,
139
if (symbol.CallerUnsafeMode is not
CallerUnsafeMode
.None)
Lowering\StateMachineRewriter\SynthesizedStateMachineProperty.cs (2)
158
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\AliasSymbol.cs (2)
192
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.PropertySymbol.cs (2)
136
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\AssemblySymbol.cs (2)
313
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\DiscardSymbol.cs (2)
34
internal override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\ErrorMethodSymbol.cs (2)
296
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\ErrorPropertySymbol.cs (2)
84
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\FieldSymbol.cs (2)
339
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None; // https://github.com/dotnet/roslyn/issues/82546: Support unsafe fields?
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (2)
867
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\LabelSymbol.cs (2)
93
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\LocalSymbol.cs (2)
382
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\Metadata\PE\PEEventSymbol.cs (4)
574
internal override
CallerUnsafeMode
CallerUnsafeMode
580
return
CallerUnsafeMode
.None;
584
?
CallerUnsafeMode
.Explicit
585
:
CallerUnsafeMode
.Implicit;
Symbols\Metadata\PE\PEMethodSymbol.cs (6)
1822
Debug.Assert(AssociatedSymbol?.CallerUnsafeMode !=
CallerUnsafeMode
.Implicit);
1824
return hasRequiresUnsafeAttribute || AssociatedSymbol?.CallerUnsafeMode ==
CallerUnsafeMode
.Explicit;
1831
internal sealed override
CallerUnsafeMode
CallerUnsafeMode
1837
return
CallerUnsafeMode
.None;
1841
?
CallerUnsafeMode
.Explicit
1842
:
CallerUnsafeMode
.Implicit;
Symbols\Metadata\PE\PEPropertySymbol.cs (4)
687
internal sealed override
CallerUnsafeMode
CallerUnsafeMode
693
return
CallerUnsafeMode
.None;
697
?
CallerUnsafeMode
.Explicit
698
:
CallerUnsafeMode
.Implicit;
Symbols\ModuleSymbol.cs (2)
196
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\NamespaceSymbol.cs (2)
221
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\ParameterSymbol.cs (2)
453
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\RangeVariableSymbol.cs (2)
127
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\ReducedExtensionMethodSymbol.cs (1)
607
internal sealed override
CallerUnsafeMode
CallerUnsafeMode => throw ExceptionUtilities.Unreachable();
Symbols\SignatureOnlyMethodSymbol.cs (1)
189
internal sealed override
CallerUnsafeMode
CallerUnsafeMode => throw ExceptionUtilities.Unreachable();
Symbols\SignatureOnlyPropertySymbol.cs (1)
108
internal override
CallerUnsafeMode
CallerUnsafeMode => throw ExceptionUtilities.Unreachable();
Symbols\Source\LocalFunctionSymbol.cs (1)
131
if (CallerUnsafeMode ==
CallerUnsafeMode
.Explicit)
Symbols\Source\ModifierUtils.cs (1)
612
/// Used for diagnostics related to <see cref="
CallerUnsafeMode
.Explicit"/>.
Symbols\Source\SourceEventSymbol.cs (7)
406
if (CallerUnsafeMode ==
CallerUnsafeMode
.Explicit)
469
internal sealed override
CallerUnsafeMode
CallerUnsafeMode
476
?
CallerUnsafeMode
.Explicit
477
:
CallerUnsafeMode
.None;
481
?
CallerUnsafeMode
.Implicit :
CallerUnsafeMode
.None;
874
if (CallerUnsafeMode ==
CallerUnsafeMode
.Explicit)
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (2)
1581
if (overridingMember.CallerUnsafeMode ==
CallerUnsafeMode
.Explicit && leastOverriddenMember.CallerUnsafeMode ==
CallerUnsafeMode
.None)
Symbols\Source\SourceMemberMethodSymbol.cs (1)
977
if (CallerUnsafeMode ==
CallerUnsafeMode
.Explicit)
Symbols\Source\SourceMethodSymbol.cs (10)
105
/// (i.e., can have <see cref="
CallerUnsafeMode
.Explicit"/>).
109
internal sealed override
CallerUnsafeMode
CallerUnsafeMode
115
Debug.Assert(AssociatedSymbol?.CallerUnsafeMode !=
CallerUnsafeMode
.Implicit);
119
return
CallerUnsafeMode
.None;
122
return IsUnsafe || IsExtern || AssociatedSymbol?.CallerUnsafeMode ==
CallerUnsafeMode
.Explicit
123
?
CallerUnsafeMode
.Explicit
124
:
CallerUnsafeMode
.None;
128
?
CallerUnsafeMode
.Implicit :
CallerUnsafeMode
.None;
154
if (target.CallerUnsafeMode ==
CallerUnsafeMode
.Explicit)
Symbols\Source\SourcePropertySymbol.cs (5)
825
internal override
CallerUnsafeMode
CallerUnsafeMode
832
?
CallerUnsafeMode
.Explicit
833
:
CallerUnsafeMode
.None;
837
?
CallerUnsafeMode
.Implicit :
CallerUnsafeMode
.None;
Symbols\Source\SourcePropertySymbolBase.cs (2)
1049
if (CallerUnsafeMode ==
CallerUnsafeMode
.Explicit)
1433
if (CallerUnsafeMode ==
CallerUnsafeMode
.Explicit)
Symbols\Symbol.cs (2)
624
/// See <see cref="CSharp.
CallerUnsafeMode
"/> for more details.
626
internal abstract
CallerUnsafeMode
CallerUnsafeMode { get; }
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListProperty.cs (2)
79
internal override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\Synthesized\Records\SynthesizedRecordEqualityContractProperty.cs (2)
52
internal override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\Synthesized\Records\SynthesizedRecordPropertySymbol.cs (2)
53
internal override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedCollectionBuilderProjectedMethodSymbol.cs (2)
69
internal override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (2)
321
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedGlobalMethodSymbol.cs (2)
363
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (2)
428
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedMethodSymbol.cs (2)
102
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedPropertySymbol.cs (2)
49
internal override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedStaticConstructor.cs (2)
442
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\Synthesized\SynthesizedUnionValuePropertySymbol.cs (2)
78
internal override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\TypeSymbol.cs (2)
663
internal sealed override
CallerUnsafeMode
CallerUnsafeMode =>
CallerUnsafeMode
.None;
Symbols\Wrapped\WrappedEventSymbol.cs (1)
168
internal sealed override
CallerUnsafeMode
CallerUnsafeMode => _underlyingEvent.CallerUnsafeMode;
Symbols\Wrapped\WrappedMethodSymbol.cs (1)
183
internal override
CallerUnsafeMode
CallerUnsafeMode => UnderlyingMethod.CallerUnsafeMode;
Symbols\Wrapped\WrappedPropertySymbol.cs (1)
170
internal sealed override
CallerUnsafeMode
CallerUnsafeMode => _underlyingProperty.CallerUnsafeMode;
Microsoft.CodeAnalysis.CSharp.CSharp15.UnitTests (30)
UnsafeEvolutionTests.cs (30)
34
CallerUnsafeMode
expectedUnsafeMode =
CallerUnsafeMode
.Explicit,
267
CallerUnsafeMode
expectedUnsafeMode =
CallerUnsafeMode
.Explicit,
315
var
symbolExpectedUnsafeMode = shouldBeUnsafe ? expectedUnsafeMode :
CallerUnsafeMode
.None;
316
Assert.True(symbolExpectedUnsafeMode == symbol.CallerUnsafeMode, $"Expected {symbol.GetType().Name} '{symbol.ToTestDisplayString()}' to have {nameof(
CallerUnsafeMode
)}.{symbolExpectedUnsafeMode} (got {symbol.CallerUnsafeMode}).");
325
verifyAttributeInMetadata(symbol, shouldBeUnsafe && expectedUnsafeMode ==
CallerUnsafeMode
.Explicit);
327
verifyAttributeInMetadata(associatedSymbol, associatedSymbol.CallerUnsafeMode ==
CallerUnsafeMode
.Explicit);
7842
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
7991
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
8062
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
8126
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
8221
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
8313
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
8705
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
8799
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
8897
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
8971
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
9035
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
9108
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
9270
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
9889
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
10074
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
10239
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
10409
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
10578
expectedUnsafeMode:
CallerUnsafeMode
.Implicit,
10900
Assert.Equal(
CallerUnsafeMode
.None, a.GlobalNamespace.GetMember("A.M").CallerUnsafeMode);
10946
Assert.Equal(
CallerUnsafeMode
.Explicit, a.GlobalNamespace.GetMember("A.M").CallerUnsafeMode);
10994
Assert.Equal(
CallerUnsafeMode
.Explicit, a.GlobalNamespace.GetMember("A.M").CallerUnsafeMode);