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