157 references to RequiresUnsafeMode
Microsoft.CodeAnalysis.CSharp (157)
Binder\Binder_Expressions.cs (2)
9991Debug.Assert(propertySymbol.GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) == RequiresUnsafeMode.None || 10079Debug.Assert(eventSymbol.GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) == RequiresUnsafeMode.None ||
Binder\Binder_Unsafe.cs (11)
48var requiresUnsafeMode = symbol.GetRequiresUnsafeMode(this.FieldsBeingBound); 49if (!useUpdatedMemorySafetyRules && requiresUnsafeMode != RequiresUnsafeMode.Implicit) 113return constructor.GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) == RequiresUnsafeMode.Explicit 127private void ReportDiagnosticsIfUnsafeMemberAccess<T>(DiagnosticBag diagnostics, Symbol symbol, RequiresUnsafeMode requiresUnsafeMode, T arg, Func<T, Location?> location) 129Debug.Assert(this.Compilation.SourceModule.UseUpdatedMemorySafetyRules || requiresUnsafeMode == RequiresUnsafeMode.Implicit); 131if (requiresUnsafeMode != RequiresUnsafeMode.None) 136RequiresUnsafeMode.Explicit => ErrorCode.ERR_UnsafeMemberOperation, 137RequiresUnsafeMode.Implicit => ErrorCode.ERR_UnsafeMemberOperationCompat, 161var requiresUnsafeMode = symbol.GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty); 162if (requiresUnsafeMode is not RequiresUnsafeMode.None) 164Debug.Fail($"Symbol {symbol} has {nameof(RequiresUnsafeMode)}={requiresUnsafeMode}.");
Lowering\ClosureConversion\LambdaCapturedVariable.cs (2)
141internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Lowering\StateMachineRewriter\StateMachineFieldSymbol.cs (2)
66internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Lowering\StateMachineRewriter\SynthesizedStateMachineProperty.cs (2)
159internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\AliasSymbol.cs (2)
193internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.FieldSymbol.cs (2)
47internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.PropertySymbol.cs (2)
136internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\AssemblySymbol.cs (2)
313internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\DiscardSymbol.cs (2)
35internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\ErrorMethodSymbol.cs (2)
296internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\ErrorPropertySymbol.cs (2)
85internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Extensions\RewrittenLambdaOrLocalFunctionSymbol.cs (1)
46internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => UnderlyingMethod.GetRequiresUnsafeMode(fieldsBeingBound);
Symbols\Extensions\SourceExtensionImplementationMethodSymbol.cs (1)
186internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => UnderlyingMethod.GetRequiresUnsafeMode(fieldsBeingBound);
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (2)
867internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\LabelSymbol.cs (2)
94internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\LocalSymbol.cs (2)
382internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Metadata\PE\PEEventSymbol.cs (4)
579internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) 583return RequiresUnsafeMode.None; 587? RequiresUnsafeMode.Explicit 588: RequiresUnsafeMode.Implicit;
Symbols\Metadata\PE\PEFieldSymbol.cs (4)
776internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) 780return RequiresUnsafeMode.None; 784? RequiresUnsafeMode.Explicit 785: RequiresUnsafeMode.Implicit;
Symbols\Metadata\PE\PEMethodSymbol.cs (6)
1823Debug.Assert(AssociatedSymbol?.GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) != RequiresUnsafeMode.Implicit); 1825return hasRequiresUnsafeAttribute || AssociatedSymbol?.GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) == RequiresUnsafeMode.Explicit; 1832internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) 1836return RequiresUnsafeMode.None; 1840? RequiresUnsafeMode.Explicit 1841: RequiresUnsafeMode.Implicit;
Symbols\Metadata\PE\PEPropertySymbol.cs (4)
687internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) 691return RequiresUnsafeMode.None; 695? RequiresUnsafeMode.Explicit 696: RequiresUnsafeMode.Implicit;
Symbols\ModuleSymbol.cs (2)
196internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\NamespaceSymbol.cs (2)
221internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\NativeIntegerTypeSymbol.cs (2)
417internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => UnderlyingMethod.GetRequiresUnsafeMode(fieldsBeingBound); 533internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingProperty.GetRequiresUnsafeMode(fieldsBeingBound);
Symbols\ParameterSymbol.cs (2)
454internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\PublicModel\Symbol.cs (1)
249bool ISymbol.RequiresUnsafeContext => UnderlyingSymbol.GetRequiresUnsafeMode(ConsList<Symbols.FieldSymbol>.Empty) != RequiresUnsafeMode.None;
Symbols\RangeVariableSymbol.cs (2)
127internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\ReducedExtensionMethodSymbol.cs (1)
607internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _reducedFrom.GetRequiresUnsafeMode(fieldsBeingBound);
Symbols\Retargeting\RetargetingEventSymbol.cs (1)
166internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingEvent.GetRequiresUnsafeMode(fieldsBeingBound);
Symbols\Retargeting\RetargetingFieldSymbol.cs (1)
121internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingField.GetRequiresUnsafeMode(fieldsBeingBound);
Symbols\Retargeting\RetargetingMethodSymbol.cs (1)
404internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => UnderlyingMethod.GetRequiresUnsafeMode(fieldsBeingBound);
Symbols\Retargeting\RetargetingPropertySymbol.cs (1)
227internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingProperty.GetRequiresUnsafeMode(fieldsBeingBound);
Symbols\SignatureOnlyMethodSymbol.cs (1)
189internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => throw ExceptionUtilities.Unreachable();
Symbols\SignatureOnlyPropertySymbol.cs (1)
108internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => throw ExceptionUtilities.Unreachable();
Symbols\Source\LocalFunctionSymbol.cs (1)
142if (GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) == RequiresUnsafeMode.Explicit)
Symbols\Source\SourceEnumConstantSymbol.cs (2)
61internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Source\SourceEventSymbol.cs (7)
415if (GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) == RequiresUnsafeMode.Explicit) 481internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) 486? RequiresUnsafeMode.Explicit 487: RequiresUnsafeMode.None; 491? RequiresUnsafeMode.Implicit : RequiresUnsafeMode.None; 889if (GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) == RequiresUnsafeMode.Explicit)
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (2)
1581if (overridingMember.GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) == RequiresUnsafeMode.Explicit && leastOverriddenMember.GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) == RequiresUnsafeMode.None)
Symbols\Source\SourceMemberFieldSymbol.cs (7)
141if (GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) == RequiresUnsafeMode.Explicit) 149if (GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) == RequiresUnsafeMode.Explicit) 193internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) 200? RequiresUnsafeMode.Explicit 201: RequiresUnsafeMode.None; 205? RequiresUnsafeMode.Implicit : RequiresUnsafeMode.None;
Symbols\Source\SourceMemberMethodSymbol.cs (1)
1004if (GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) == RequiresUnsafeMode.Explicit)
Symbols\Source\SourceMethodSymbol.cs (10)
122/// (i.e., can have <see cref="RequiresUnsafeMode.Explicit"/>). 126internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) 130Debug.Assert(AssociatedSymbol?.GetRequiresUnsafeMode(fieldsBeingBound) != RequiresUnsafeMode.Implicit); 134return RequiresUnsafeMode.None; 137return HasUnsafeModifier || (!HasSafeModifier && AssociatedSymbol?.GetRequiresUnsafeMode(fieldsBeingBound) == RequiresUnsafeMode.Explicit) 138? RequiresUnsafeMode.Explicit 139: RequiresUnsafeMode.None; 143? RequiresUnsafeMode.Implicit : RequiresUnsafeMode.None; 168if (target.GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) == RequiresUnsafeMode.Explicit)
Symbols\Source\SourcePropertySymbol.cs (5)
830internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) 835? RequiresUnsafeMode.Explicit 836: RequiresUnsafeMode.None; 840? RequiresUnsafeMode.Implicit : RequiresUnsafeMode.None;
Symbols\Source\SourcePropertySymbolBase.cs (2)
1083if (GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) == RequiresUnsafeMode.Explicit) 1468if (GetRequiresUnsafeMode(ConsList<FieldSymbol>.Empty) == RequiresUnsafeMode.Explicit)
Symbols\SubstitutedEventSymbol.cs (1)
141internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingEvent.GetRequiresUnsafeMode(fieldsBeingBound);
Symbols\SubstitutedFieldSymbol.cs (1)
97internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingField.GetRequiresUnsafeMode(fieldsBeingBound);
Symbols\SubstitutedMethodSymbol.cs (1)
498internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => UnderlyingMethod.GetRequiresUnsafeMode(fieldsBeingBound);
Symbols\SubstitutedPropertySymbol.cs (1)
148internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingProperty.GetRequiresUnsafeMode(fieldsBeingBound);
Symbols\Symbol.cs (2)
625/// See <see cref="RequiresUnsafeMode"/> for more details. 627internal abstract RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound);
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListProperty.cs (2)
80internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Synthesized\Records\SynthesizedPrimaryConstructorParameterBackingFieldSymbol.cs (2)
50internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Synthesized\Records\SynthesizedRecordEqualityContractProperty.cs (2)
53internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Synthesized\Records\SynthesizedRecordPropertySymbol.cs (2)
54internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Synthesized\SynthesizedBackingFieldSymbol.cs (2)
130internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Synthesized\SynthesizedCollectionBuilderProjectedMethodSymbol.cs (2)
69internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Synthesized\SynthesizedEmbeddedAttributePropertySymbol.cs (2)
50internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (2)
321internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Synthesized\SynthesizedEnumValueFieldSymbol.cs (2)
29internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Synthesized\SynthesizedFieldSymbol.cs (2)
45internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Synthesized\SynthesizedGlobalMethodSymbol.cs (2)
363internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (2)
428internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Synthesized\SynthesizedLambdaCacheFieldSymbol.cs (2)
30internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Synthesized\SynthesizedMethodSymbol.cs (2)
102internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Synthesized\SynthesizedStaticConstructor.cs (2)
442internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Synthesized\SynthesizedUnionValuePropertySymbol.cs (2)
79internal override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Tuples\TupleErrorFieldSymbol.cs (2)
157internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;
Symbols\Tuples\TupleFieldSymbol.cs (1)
127internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => _underlyingField.GetRequiresUnsafeMode(fieldsBeingBound);
Symbols\TypeSymbol.cs (2)
665internal sealed override RequiresUnsafeMode GetRequiresUnsafeMode(ConsList<FieldSymbol> fieldsBeingBound) => RequiresUnsafeMode.None;