Binder\Binder_Expressions.cs (5)
1557internal static bool CheckManagedAddr(CSharpCompilation compilation, TypeSymbol type, Location location, BindingDiagnosticBag diagnostics, bool errorForManaged = false)
1567internal static bool CheckManagedAddr(CSharpCompilation compilation, TypeSymbol type, ManagedKind managedKind, Location location, BindingDiagnosticBag diagnostics, bool errorForManaged = false)
9624internal static int? InferConstantIndexFromSystemIndex(CSharpCompilation compilation, BoundExpression convertedIndex, int length, out SyntaxNode location)
11322static bool checkConstraints(CSharpCompilation compilation, ConversionsBase conversions, NamedTypeSymbol delegateType, ImmutableArray<TypeWithAnnotations> typeArguments)
11481internal static bool MethodOrLambdaRequiresValue(Symbol symbol, CSharpCompilation compilation)
Binder\Binder_Symbols.cs (12)
757internal static void ReportMissingTupleElementNamesAttributesIfNeeded(CSharpCompilation compilation, Location location, BindingDiagnosticBag diagnostics)
1703internal static NamedTypeSymbol GetSpecialType(CSharpCompilation compilation, ExtendedSpecialType typeId, SyntaxNode node, BindingDiagnosticBag diagnostics)
1711internal static NamedTypeSymbol GetSpecialType(CSharpCompilation compilation, ExtendedSpecialType typeId, Location location, BindingDiagnosticBag diagnostics)
1728internal static Symbol GetSpecialTypeMember(CSharpCompilation compilation, SpecialMember member, BindingDiagnosticBag diagnostics, SyntaxNode syntax)
1736internal static bool TryGetSpecialTypeMember<TSymbol>(CSharpCompilation compilation, SpecialMember specialMember, SyntaxNode syntax, BindingDiagnosticBag diagnostics, out TSymbol symbol, bool isOptional = false)
1835internal static NamedTypeSymbol GetWellKnownType(CSharpCompilation compilation, WellKnownType type, BindingDiagnosticBag diagnostics, SyntaxNode node)
1841internal static NamedTypeSymbol GetWellKnownType(CSharpCompilation compilation, WellKnownType type, BindingDiagnosticBag diagnostics, Location location)
1849internal static bool TryGetOptionalWellKnownType(CSharpCompilation compilation, WellKnownType type, BindingDiagnosticBag diagnostics, Location location, [NotNullWhen(true)] out NamedTypeSymbol? typeSymbol)
1888internal static Symbol GetWellKnownTypeMember(CSharpCompilation compilation, WellKnownMember member, BindingDiagnosticBag diagnostics, Location location = null, SyntaxNode syntax = null, bool isOptional = false)
1902internal static Symbol GetWellKnownTypeMember(CSharpCompilation compilation, WellKnownMember member, out UseSiteInfo<AssemblySymbol> useSiteInfo, bool isOptional = false)
2546var compilation = this.Compilation;
2588private static BestSymbolLocation GetLocation(CSharpCompilation compilation, Symbol symbol)
Binder\ForEachLoopBinder.cs (3)
1826TypeSymbol type, bool isAsync, CSharpCompilation compilation, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo,
1849private static void GetIEnumerableOfT(ImmutableArray<NamedTypeSymbol> interfaces, bool isAsync, CSharpCompilation compilation, ref NamedTypeSymbol result, ref bool foundMultiple)
1876internal static bool IsIEnumerableT(TypeSymbol type, bool isAsync, CSharpCompilation compilation)
Binder\Semantics\Conversions\ConversionsBase.cs (8)
92protected abstract CSharpCompilation? Compilation { get; }
1467private static LambdaConversionResult IsAnonymousFunctionCompatibleWithDelegate(UnboundLambda anonymousFunction, TypeSymbol type, CSharpCompilation compilation, bool isTargetExpressionTree)
1586private static LambdaConversionResult IsAnonymousFunctionCompatibleWithExpressionTree(UnboundLambda anonymousFunction, NamedTypeSymbol type, CSharpCompilation compilation)
1624public static LambdaConversionResult IsAnonymousFunctionCompatibleWithType(UnboundLambda anonymousFunction, TypeSymbol type, CSharpCompilation compilation)
1641private static bool HasAnonymousFunctionConversion(BoundExpression source, TypeSymbol destination, CSharpCompilation compilation)
1654internal static CollectionExpressionTypeKind GetCollectionExpressionTypeKind(CSharpCompilation compilation, TypeSymbol destination, out TypeWithAnnotations elementType)
1698static bool implementsSpecialInterface(CSharpCompilation compilation, TypeSymbol targetType, SpecialType specialInterface)
1706internal static bool IsSpanOrListType(CSharpCompilation compilation, TypeSymbol targetType, WellKnownType spanType, [NotNullWhen(true)] out TypeWithAnnotations elementType)
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (4)
994CSharpCompilation compilation,
1421private bool HadAmbiguousWorseMethods(CSharpCompilation compilation, BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols, Location location, bool isQuery, BoundExpression receiver, string name, bool isExtension)
1487private bool HadAmbiguousBestMethods(CSharpCompilation compilation, BindingDiagnosticBag diagnostics, ImmutableArray<Symbol> symbols, Location location, bool isExtension)
1543internal static DiagnosticInfoWithSymbols CreateAmbiguousCallDiagnosticInfo(CSharpCompilation compilation, Symbol first, Symbol second, ImmutableArray<Symbol> symbols, bool isExtension)
Compilation\CSharpCompilation.cs (44)
418public static CSharpCompilation Create(
438public static CSharpCompilation CreateScriptCompilation(
443CSharpCompilation? previousScriptCompilation = null,
461private static CSharpCompilation Create(
466CSharpCompilation? previousSubmission,
485var compilation = new CSharpCompilation(
517CSharpCompilation? previousSubmission,
534CSharpCompilation? previousSubmission,
618public new CSharpCompilation Clone()
634private CSharpCompilation Update(
656public new CSharpCompilation WithAssemblyName(string? assemblyName)
680/// The new <see cref="CSharpCompilation"/> will query the given <see cref="MetadataReference"/> for the underlying
687public new CSharpCompilation WithReferences(IEnumerable<MetadataReference>? references)
709public new CSharpCompilation WithReferences(params MetadataReference[] references)
717public CSharpCompilation WithOptions(CSharpCompilationOptions options)
749public CSharpCompilation WithScriptCompilationInfo(CSharpScriptCompilationInfo? info)
829internal CSharpCompilation? PreviousSubmission => ScriptCompilationInfo?.PreviousScriptCompilation;
898public new CSharpCompilation AddSyntaxTrees(params SyntaxTree[] trees)
906public new CSharpCompilation AddSyntaxTrees(IEnumerable<SyntaxTree> trees)
970public new CSharpCompilation RemoveSyntaxTrees(params SyntaxTree[] trees)
979public new CSharpCompilation RemoveSyntaxTrees(IEnumerable<SyntaxTree> trees)
1032public new CSharpCompilation RemoveAllSyntaxTrees()
1044public new CSharpCompilation ReplaceSyntaxTree(SyntaxTree oldTree, SyntaxTree? newTree)
1218internal bool ReferenceManagerEquals(CSharpCompilation other)
1306public new CSharpCompilation AddReferences(params MetadataReference[] references)
1308return (CSharpCompilation)base.AddReferences(references);
1314public new CSharpCompilation AddReferences(IEnumerable<MetadataReference> references)
1316return (CSharpCompilation)base.AddReferences(references);
1322public new CSharpCompilation RemoveReferences(params MetadataReference[] references)
1324return (CSharpCompilation)base.RemoveReferences(references);
1330public new CSharpCompilation RemoveReferences(IEnumerable<MetadataReference> references)
1332return (CSharpCompilation)base.RemoveReferences(references);
1338public new CSharpCompilation RemoveAllReferences()
1340return (CSharpCompilation)base.RemoveAllReferences();
1346public new CSharpCompilation ReplaceReference(MetadataReference oldReference, MetadataReference newReference)
1348return (CSharpCompilation)base.ReplaceReference(oldReference, newReference);
1635var previousSubmission = PreviousSubmission;
1701var previous = this.PreviousSubmission;
3666sourceAssembly: ((CSharpCompilation)previousGeneration.Compilation).SourceAssembly,
4226static CustomModifier getCustomModifierForType(INamedTypeSymbol type, CSharpCompilation @this, int index)
4954private readonly CSharpCompilation _compilation;
4961CSharpCompilation compilation, SymbolFilter filter, CancellationToken cancellationToken)
5145CSharpCompilation compilation, SymbolFilter filter, Func<string, bool> predicate, CancellationToken cancellationToken)
5168CSharpCompilation compilation, SymbolFilter filter, string name, CancellationToken cancellationToken)
Compiler\MethodCompiler.cs (8)
31private readonly CSharpCompilation _compilation;
87internal MethodCompiler(CSharpCompilation compilation, PEModuleBuilder? moduleBeingBuiltOpt, bool emittingPdb, bool hasDeclarationErrors, bool emitMethodBodies,
110CSharpCompilation compilation,
226internal static MethodSymbol GetEntryPoint(CSharpCompilation compilation, PEModuleBuilder moduleBeingBuilt, bool hasDeclarationErrors, bool emitMethodBodies, BindingDiagnosticBag diagnostics, CancellationToken cancellationToken)
349private static void WarnUnusedFields(CSharpCompilation compilation, BindingDiagnosticBag diagnostics, CancellationToken cancellationToken)
1643var compilation = moduleBuilder.Compilation;
1941var compilation = bodyBinder.Compilation;
2481var compilation = method.DeclaringCompilation;
FlowAnalysis\DataFlowsInWalker.cs (2)
27private DataFlowsInWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion,
33internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion,
FlowAnalysis\DataFlowsOutWalker.cs (2)
27private DataFlowsOutWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<Symbol> unassignedVariables, ImmutableArray<ISymbol> dataFlowsIn)
33internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<Symbol> unassignedVariables, ImmutableArray<ISymbol> dataFlowsIn)
FlowAnalysis\NullableWalker.cs (16)
479CSharpCompilation compilation,
1445CSharpCompilation compilation,
1472CSharpCompilation compilation,
1514internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, Symbol? symbol, BoundNode constructorBody)
1532internal static VariableState? GetAfterInitializersState(CSharpCompilation compilation, MethodSymbol method, BoundNode nodeToAnalyze, BoundNode? constructorBody, BindingDiagnosticBag diagnostics)
1583CSharpCompilation compilation,
1598CSharpCompilation compilation,
1614CSharpCompilation compilation,
1660static bool isNullableAnalysisEnabledAnywhere(CSharpCompilation compilation)
1736private static bool HasRequiredLanguageVersion(CSharpCompilation compilation)
1745internal static bool NeedsAnalysis(CSharpCompilation compilation, SyntaxNode syntaxNode)
1761var compilation = binder.Compilation;
1795CSharpCompilation compilation,
1835CSharpCompilation compilation,
2482static bool allowUnconstrainedTypeParameterAnnotations(CSharpCompilation compilation)
6871static bool isWellKnownEqualityMethodOrImplementation(CSharpCompilation compilation, MethodSymbol method, TypeSymbol? receiverType, WellKnownMember wellKnownMember)
FlowAnalysis\ReadWriteWalker.cs (2)
22CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, HashSet<PrefixUnaryExpressionSyntax> unassignedVariableAddressOfSyntaxes,
70private ReadWriteWalker(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion,
Lowering\LocalRewriter\LocalRewriter.cs (6)
24private readonly CSharpCompilation _compilation;
56CSharpCompilation compilation,
85CSharpCompilation compilation,
616/// Recommendation: Do not use, use <see cref="TryGetSpecialTypeMethod(SyntaxNode, SpecialMember, CSharpCompilation, BindingDiagnosticBag, out MethodSymbol, bool)"/> instead!
619private static MethodSymbol UnsafeGetSpecialTypeMethod(SyntaxNode syntax, SpecialMember specialMember, CSharpCompilation compilation, BindingDiagnosticBag diagnostics)
641private static bool TryGetSpecialTypeMethod(SyntaxNode syntax, SpecialMember specialMember, CSharpCompilation compilation, BindingDiagnosticBag diagnostics, out MethodSymbol method, bool isOptional = false)
Symbols\Attributes\AttributeData.cs (5)
97internal bool IsSecurityAttribute(CSharpCompilation compilation)
213internal void DecodeSecurityAttribute<T>(Symbol targetSymbol, CSharpCompilation compilation, ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData, AttributeLocation> arguments)
239internal static void DecodeSkipLocalsInitAttribute<T>(CSharpCompilation compilation, ref DecodeWellKnownAttributeArguments<AttributeSyntax, CSharpAttributeData, AttributeLocation> arguments)
337private DeclarativeSecurityAction DecodeSecurityAttributeAction(Symbol targetSymbol, CSharpCompilation compilation, AttributeSyntax? nodeOpt, out bool hasErrors, BindingDiagnosticBag diagnostics)
506private string? DecodePermissionSetAttribute(CSharpCompilation compilation, AttributeSyntax? nodeOpt, BindingDiagnosticBag diagnostics)
Symbols\ConstraintsHelper.cs (10)
77CSharpCompilation currentCompilation,
134CSharpCompilation currentCompilation,
490CSharpCompilation compilation,
503CSharpCompilation compilation,
527public readonly CSharpCompilation? CurrentCompilation;
535public CheckConstraintsArgs(CSharpCompilation currentCompilation, ConversionsBase conversions, Location location, BindingDiagnosticBag diagnostics) :
540public CheckConstraintsArgs(CSharpCompilation currentCompilation, ConversionsBase conversions, bool includeNullability, Location location, BindingDiagnosticBag diagnostics) :
545public CheckConstraintsArgs(CSharpCompilation currentCompilation, ConversionsBase conversions, bool includeNullability, Location location, BindingDiagnosticBag diagnostics, CompoundUseSiteInfo<AssemblySymbol> template)
563public static CheckConstraintsArgsBoxed Allocate(CSharpCompilation currentCompilation, ConversionsBase conversions, Location location, BindingDiagnosticBag diagnostics)
571public static CheckConstraintsArgsBoxed Allocate(CSharpCompilation currentCompilation, ConversionsBase conversions, bool includeNullability, Location location, BindingDiagnosticBag diagnostics)
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (9)
108static CallingConvention getCallingConvention(CSharpCompilation compilation, FunctionPointerCallingConventionSyntax? callingConventionSyntax, ArrayBuilder<CustomModifier> customModifiers, BindingDiagnosticBag diagnostics)
189static CallingConvention handleSingleConvention(FunctionPointerUnmanagedCallingConventionSyntax specifier, CSharpCompilation compilation, ArrayBuilder<CustomModifier> customModifiers, BindingDiagnosticBag diagnostics)
200static CustomModifier? handleIndividualUnrecognizedSpecifier(FunctionPointerUnmanagedCallingConventionSyntax specifier, CSharpCompilation compilation, BindingDiagnosticBag diagnostics)
229static void checkUnmanagedSupport(CSharpCompilation compilation, Location errorLocation, BindingDiagnosticBag diagnostics)
251CSharpCompilation compilation)
274CSharpCompilation compilation)
310private static CustomModifier? GetCustomModifierForRefKind(RefKind refKind, CSharpCompilation compilation)
494CSharpCompilation compilation)
513static ImmutableArray<CustomModifier> getCustomModifierArrayForRefKind(RefKind refKind, CSharpCompilation compilation)
Symbols\Source\ParameterHelpers.cs (9)
332internal static void EnsureRefKindAttributesExist(CSharpCompilation? compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, bool modifyCompilation)
344private static void EnsureRefKindAttributesExist(CSharpCompilation compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder)
381internal static void EnsureParamCollectionAttributeExists(CSharpCompilation compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, bool modifyCompilation)
395internal static void EnsureNativeIntegerAttributeExists(CSharpCompilation? compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, bool modifyCompilation)
412private static void EnsureNativeIntegerAttributeExists(CSharpCompilation compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder)
462internal static void EnsureScopedRefAttributeExists(CSharpCompilation? compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, bool modifyCompilation)
474private static void EnsureScopedRefAttributeExists(CSharpCompilation compilation, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder)
497internal static void EnsureNullableAttributeExists(CSharpCompilation? compilation, Symbol container, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation)
509private static void EnsureNullableAttributeExists(CSharpCompilation compilation, Symbol container, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag? diagnostics, bool modifyCompilation, PEModuleBuilder? moduleBuilder)
Symbols\Tuples\TupleTypeSymbol.cs (7)
34CSharpCompilation compilation,
73static NamedTypeSymbol getTupleUnderlyingType(ImmutableArray<TypeWithAnnotations> elementTypes, CSharpSyntaxNode? syntax, CSharpCompilation compilation, BindingDiagnosticBag? diagnostics)
260internal static void VerifyTupleTypePresent(int cardinality, CSharpSyntaxNode? syntax, CSharpCompilation compilation, BindingDiagnosticBag diagnostics)
523return CSharpCompilation.GetRuntimeMember(members, relativeDescriptor, CSharpCompilation.SpecialMembersSignatureComparer.Instance,
814return CSharpCompilation.GetRuntimeMember(members, relativeDescriptor, CSharpCompilation.SpecialMembersSignatureComparer.Instance,
Symbols\TypeSymbolExtensions.cs (14)
239public static bool IsValidAttributeParameterType(this TypeSymbol type, CSharpCompilation compilation)
250public static TypedConstantKind GetAttributeParameterTypedConstantKind(this TypeSymbol type, CSharpCompilation compilation)
1839internal static bool IsNonGenericTaskType(this TypeSymbol type, CSharpCompilation compilation)
1857internal static bool IsGenericTaskType(this TypeSymbol type, CSharpCompilation compilation)
1870internal static bool IsIAsyncEnumerableType(this TypeSymbol type, CSharpCompilation compilation)
1880internal static bool IsIAsyncEnumeratorType(this TypeSymbol type, CSharpCompilation compilation)
1917internal static TypeSymbol NormalizeTaskTypes(this TypeSymbol type, CSharpCompilation compilation)
1926private static bool NormalizeTaskTypesInType(CSharpCompilation compilation, ref TypeSymbol type)
1963private static bool NormalizeTaskTypesInType(CSharpCompilation compilation, ref TypeWithAnnotations typeWithAnnotations)
1974private static bool NormalizeTaskTypesInNamedType(CSharpCompilation compilation, ref NamedTypeSymbol type)
2030private static bool NormalizeTaskTypesInArray(CSharpCompilation compilation, ref ArrayTypeSymbol arrayType)
2041private static bool NormalizeTaskTypesInPointer(CSharpCompilation compilation, ref PointerTypeSymbol pointerType)
2053private static bool NormalizeTaskTypesInFunctionPointer(CSharpCompilation compilation, ref FunctionPointerTypeSymbol funcPtrType)
2101var compilation = declaringSymbol.DeclaringCompilation;