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