Binder\Binder.cs (6)
618if (diagnostics.DiagnosticBag is object)
620ReportDiagnosticsIfObsolete(diagnostics.DiagnosticBag, symbol, node, hasBaseReceiver);
707if (diagnostics.DiagnosticBag is object)
709ReportDiagnosticsIfObsolete(diagnostics.DiagnosticBag, symbol, node, hasBaseReceiver, containingMember, containingType, location);
746if (diagnostics.DiagnosticBag is object)
748ReportDiagnosticsIfObsoleteInternal(diagnostics.DiagnosticBag, symbol, node, containingMember, location);
Binder\Binder_Symbols.cs (7)
255diagnostics.AddRange(resultDiagnostics.DiagnosticBag);
531if (diagnostics.DiagnosticBag is DiagnosticBag diagnosticBag)
2312if (diagnostics.DiagnosticBag is object)
2314Emit.NoPia.EmbeddedTypesManager.IsValidEmbeddableType((NamedTypeSymbol)singleResult, where, diagnostics.DiagnosticBag);
2787=> CheckFeatureAvailability(syntax, feature, diagnostics.DiagnosticBag, location);
2790=> CheckFeatureAvailability(syntax, feature, diagnostics.DiagnosticBag, forceWarning: forceWarning);
2793=> CheckFeatureAvailability(tree, feature, diagnostics.DiagnosticBag, location);
CodeGen\CodeGenerator.cs (5)
100Debug.Assert(diagnostics.DiagnosticBag != null);
196type: _module.Translate(localSymbol.Type, bodySyntax, _diagnostics.DiagnosticBag),
365EmitTypeReferenceToken(_module.Translate(symbol, syntaxNode, _diagnostics.DiagnosticBag), syntaxNode);
370var methodRef = _module.Translate(method, syntaxNode, _diagnostics.DiagnosticBag, optArgList, needDeclaration: encodeAsRawDefinitionToken);
376var fieldRef = _module.Translate(symbol, syntaxNode, _diagnostics.DiagnosticBag);
CodeGen\EmitArrayInitializer.cs (6)
433RoslynDebug.Assert(_diagnostics.DiagnosticBag is not null, $"Expected non-null {nameof(_diagnostics)}.{nameof(_diagnostics.DiagnosticBag)}");
555var field = _builder.module.GetFieldForData(data, alignment: 1, wrappedExpression.Syntax, _diagnostics.DiagnosticBag);
616var field = _builder.module.GetFieldForData(data, alignment: (ushort)specialElementType.SizeInBytes(), wrappedExpression.Syntax, _diagnostics.DiagnosticBag);
649var cachingField = _builder.module.GetArrayCachingFieldForData(data, _module.Translate(arrayType), wrappedExpression.Syntax, _diagnostics.DiagnosticBag);
708arrayCreation.Syntax, _diagnostics.DiagnosticBag);
CodeGen\EmitExpression.cs (11)
831EmitExpression(expression.EmitExpressions.GetValue(expression, _diagnostics.DiagnosticBag), used);
3618var fieldRef = _module.Translate(field, syntax, _diagnostics.DiagnosticBag, needDeclaration: true);
3646_module.GetModuleVersionId(_module.Translate(node.Type, node.Syntax, _diagnostics.DiagnosticBag), node.Syntax, _diagnostics.DiagnosticBag),
3656_module.GetModuleCancellationToken(_module.Translate(cancellationTokenType, syntax, _diagnostics.DiagnosticBag), syntax, _diagnostics.DiagnosticBag),
3666_module.Translate(throwMethod, syntax, _diagnostics.DiagnosticBag),
3676_module.GetModuleCancellationToken(_module.Translate(cancellationTokenType, syntax, _diagnostics.DiagnosticBag), syntax, _diagnostics.DiagnosticBag),
3700_builder.EmitToken(_module.GetInstrumentationPayloadRoot(node.AnalysisKind, _module.Translate(node.Type, node.Syntax, _diagnostics.DiagnosticBag), node.Syntax, _diagnostics.DiagnosticBag), node.Syntax);
CodeGen\EmitStatement.cs (18)
925_module.Translate(expressionOpt.Type, boundReturnStatement.Syntax, _diagnostics.DiagnosticBag);
1071_module.Translate(catchBlock.ExceptionTypeOpt, catchBlock.Syntax, _diagnostics.DiagnosticBag) :
1072_module.GetSpecialType(SpecialType.System_Object, catchBlock.Syntax, _diagnostics.DiagnosticBag);
1119var exceptionType = _module.Translate(catchBlock.ExceptionTypeOpt, catchBlock.Syntax, _diagnostics.DiagnosticBag);
1528var privateImplClass = _module.GetPrivateImplClass(syntaxNode, _diagnostics.DiagnosticBag).PrivateImplementationDetails;
1573sequenceEqualsMethodRef = _module.Translate(sequenceEqualsCharMethod, null, _diagnostics.DiagnosticBag);
1577asSpanMethodRef = _module.Translate(asSpanMethod, null, _diagnostics.DiagnosticBag);
1583stringEqualityMethodRef = _module.Translate(stringEqualityMethod, syntaxNode, _diagnostics.DiagnosticBag);
1668return _module.Translate(spanCharLengthMethod, syntaxNode, _diagnostics.DiagnosticBag);
1675return _module.Translate(stringLengthMethod, syntaxNode, _diagnostics.DiagnosticBag);
1693return _module.Translate(spanCharLengthMethod, null, _diagnostics.DiagnosticBag);
1701return _module.Translate(stringCharsIndexer, syntaxNode, _diagnostics.DiagnosticBag);
1802MetadataConstant compileTimeValue = _module.CreateConstant(local.Type, local.ConstantValue, syntaxNode, _diagnostics.DiagnosticBag);
1833? _module.GetSpecialType(SpecialType.System_IntPtr, syntaxNode, _diagnostics.DiagnosticBag)
1834: _module.Translate(pointedAtType, syntaxNode, _diagnostics.DiagnosticBag);
1840translatedType = _module.Translate(local.Type, syntaxNode, _diagnostics.DiagnosticBag);
1845_module.GetFakeSymbolTokenForIL(translatedType, syntaxNode, _diagnostics.DiagnosticBag);
1937_module.Translate(type, syntaxNode, _diagnostics.DiagnosticBag),
Compilation\CSharpCompilation.cs (24)
1949RoslynDebug.Assert(diagnostics.DiagnosticBag is object);
2030RoslynDebug.Assert(noMainFoundDiagnostics.DiagnosticBag is object);
2126foreach (var diagnostic in noMainFoundDiagnostics.DiagnosticBag.AsEnumerable())
2694Debug.Assert(bag.DiagnosticBag is { });
2696diagnostics.AddRange(bag.DiagnosticBag);
2985Debug.Assert(builder.DiagnosticBag is { });
2991FilterAndAppendDiagnostics(diagnostics, builder.DiagnosticBag, cancellationToken);
2997RoslynDebug.Assert(builder.DiagnosticBag is object);
3010AppendLoadDirectiveDiagnostics(builder.DiagnosticBag, _syntaxAndDeclarations, syntaxTree);
3020AppendLoadDirectiveDiagnostics(builder.DiagnosticBag, _syntaxAndDeclarations, syntaxTree);
3044CheckAssemblyName(builder.DiagnosticBag);
3075RoslynDebug.Assert(methodBodyDiagnostics.DiagnosticBag is object);
3103RoslynDebug.Assert(diagnostics.DiagnosticBag is object);
3113diagnostics: diagnostics.DiagnosticBag,
3146Debug.Assert(bindingDiagnostics.DiagnosticBag is { });
3194Debug.Assert(discarded.DiagnosticBag is object);
3209discarded.DiagnosticBag.Clear();
3573diagnostics.AddRange(entryPointDiagnostics.DiagnosticBag!);
3599Debug.Assert(methodBodyDiagnosticBag.DiagnosticBag is { });
3614if (!hasDeclarationErrors && !CommonCompiler.HasUnsuppressableErrors(methodBodyDiagnosticBag.DiagnosticBag) && filterOpt == null)
3616GenerateModuleInitializer(moduleBeingBuilt, methodBodyDiagnosticBag.DiagnosticBag);
3621bool hasMethodBodyError = !FilterAndAppendDiagnostics(diagnostics, methodBodyDiagnosticBag.DiagnosticBag, cancellationToken);
3803Debug.Assert(xmlDiagnostics.DiagnosticBag is { });
3808bool result = FilterAndAppendDiagnostics(diagnostics, xmlDiagnostics.DiagnosticBag, cancellationToken);
Compiler\MethodCompiler.cs (28)
92Debug.Assert(diagnostics.DiagnosticBag != null);
121Debug.Assert(diagnostics.DiagnosticBag != null);
189moduleBeingBuiltOpt.CreateDeletedMemberDefinitions(diagnostics.DiagnosticBag);
219moduleBeingBuiltOpt.SetPEEntryPoint(entryPoint, diagnostics.DiagnosticBag);
228Debug.Assert(diagnostics.DiagnosticBag != null);
650_diagnostics.DiagnosticBag,
695var context = new EmitContext(_moduleBeingBuiltOpt, null, diagnostics.DiagnosticBag, metadataOnly: false, includePrivateMembers: true);
712Debug.Assert(diagnostics.DiagnosticBag != null);
759_moduleBeingBuiltOpt.TryCreateVariableSlotAllocator(lambda, lambda.TopLevelMethod, diagnosticsThisMethod.DiagnosticBag) :
760_moduleBeingBuiltOpt.TryCreateVariableSlotAllocator(method, method, diagnosticsThisMethod.DiagnosticBag);
874discardedDiagnostics.DiagnosticBag.Clear();
1024diagsForCurrentMethod.DiagnosticBag,
1093DefiniteAssignmentPass.Analyze(_compilation, methodSymbol, analyzedInitializers, diagsForCurrentMethod.DiagnosticBag, out _, requireOutParamsAssigned: false);
1111DefiniteAssignmentPass.Analyze(_compilation, methodSymbol, analyzedInitializers, diagsForCurrentMethod.DiagnosticBag, out _, requireOutParamsAssigned: false);
1416Debug.Assert(_diagnostics.DiagnosticBag != null);
1419ILBuilder builder = new ILBuilder(_moduleBeingBuiltOpt, new LocalSlotManager(slotAllocator: null), _diagnostics.DiagnosticBag, OptimizationLevel.Release, areLocalsZeroed: false);
1426builder.EmitToken(_moduleBeingBuiltOpt.Translate(ctor, syntax, _diagnostics.DiagnosticBag, optArgList: null, needDeclaration: false), syntax, 0);
1560lazyVariableSlotAllocator ??= compilationState.ModuleBuilderOpt.TryCreateVariableSlotAllocator(method, method, diagnostics.DiagnosticBag);
1648Debug.Assert(diagnosticsForThisMethod.DiagnosticBag != null);
1650ILBuilder builder = new ILBuilder(moduleBuilder, localSlotManager, diagnosticsForThisMethod.DiagnosticBag, optimizations, method.AreLocalsZeroed);
1724var importScopeOpt = importChainOpt?.Translate(moduleBuilder, diagnosticsForThisMethod.DiagnosticBag);
1820awaiters[index] = moduleBuilder.EncTranslateLocalVariableType(field.Type, diagnostics.DiagnosticBag);
1832hoistedVariables[index] = new EncHoistedLocalInfo(field.SlotDebugInfo, moduleBuilder.EncTranslateLocalVariableType(field.Type, diagnostics.DiagnosticBag));
1947Debug.Assert(diagnostics.DiagnosticBag != null);
1960isSufficientLangVersion ? diagnostics.DiagnosticBag : new DiagnosticBag(),
1971diagnostics.DiagnosticBag,
2069diagnostics.DiagnosticBag,
2301diagnostics.DiagnosticBag!.AsEnumerable().Any(d => d.Code == (int)ErrorCode.WRN_AttributeLocationOnBadDeclaration))
FlowAnalysis\FlowAnalysisPass.cs (2)
52Analyze(compilation, method, block, diagnostics.DiagnosticBag, out needsImplicitReturn, out implicitlyInitializedFields))
69else if (Analyze(compilation, method, block, diagnostics.DiagnosticBag, out var needsImplicitReturn, out var unusedImplicitlyInitializedFields))
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (7)
397Debug.Assert(_diagnostics.DiagnosticBag is { });
430var synthesizedType = _factory.ModuleBuilderOpt.EnsureReadOnlyListTypeExists(syntax, kind: kind, _diagnostics.DiagnosticBag).Construct(typeArgs);
548Debug.Assert(_diagnostics.DiagnosticBag is { });
570var inlineArrayType = _factory.ModuleBuilderOpt.EnsureInlineArrayTypeExists(syntax, _factory, arrayLength, _diagnostics.DiagnosticBag).Construct(ImmutableArray.Create(elementType));
574MethodSymbol elementRef = _factory.ModuleBuilderOpt.EnsureInlineArrayElementRefExists(syntax, intType, _diagnostics.DiagnosticBag).
602_factory.ModuleBuilderOpt.EnsureInlineArrayAsReadOnlySpanExists(syntax, _factory.WellKnownType(WellKnownType.System_ReadOnlySpan_T), intType, _diagnostics.DiagnosticBag) :
603_factory.ModuleBuilderOpt.EnsureInlineArrayAsSpanExists(syntax, _factory.WellKnownType(WellKnownType.System_Span_T), intType, _diagnostics.DiagnosticBag);
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (7)
241Debug.Assert(_diagnostics.DiagnosticBag is { });
367createSpan = _factory.ModuleBuilderOpt.EnsureInlineArrayAsReadOnlySpanExists(node.Syntax, spanType, intType, _diagnostics.DiagnosticBag);
371createSpan = _factory.ModuleBuilderOpt.EnsureInlineArrayAsSpanExists(node.Syntax, spanType, intType, _diagnostics.DiagnosticBag);
393elementRef = _factory.ModuleBuilderOpt.EnsureInlineArrayFirstElementRefExists(node.Syntax, _diagnostics.DiagnosticBag);
398elementRef = _factory.ModuleBuilderOpt.EnsureInlineArrayFirstElementRefReadOnlyExists(node.Syntax, _diagnostics.DiagnosticBag);
412elementRef = _factory.ModuleBuilderOpt.EnsureInlineArrayElementRefExists(node.Syntax, intType, _diagnostics.DiagnosticBag);
417elementRef = _factory.ModuleBuilderOpt.EnsureInlineArrayElementRefReadOnlyExists(node.Syntax, intType, _diagnostics.DiagnosticBag);