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)
97Debug.Assert(diagnostics.DiagnosticBag != null);
180type: _module.Translate(localSymbol.Type, bodySyntax, _diagnostics.DiagnosticBag),
346EmitTypeReferenceToken(_module.Translate(symbol, syntaxNode, _diagnostics.DiagnosticBag), syntaxNode);
351var methodRef = _module.Translate(method, syntaxNode, _diagnostics.DiagnosticBag, optArgList, needDeclaration: encodeAsRawDefinitionToken);
357var 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)
820EmitExpression(expression.EmitExpressions.GetValue(expression, _diagnostics.DiagnosticBag), used);
3607var fieldRef = _module.Translate(field, syntax, _diagnostics.DiagnosticBag, needDeclaration: true);
3635_module.GetModuleVersionId(_module.Translate(node.Type, node.Syntax, _diagnostics.DiagnosticBag), node.Syntax, _diagnostics.DiagnosticBag),
3645_module.GetModuleCancellationToken(_module.Translate(cancellationTokenType, syntax, _diagnostics.DiagnosticBag), syntax, _diagnostics.DiagnosticBag),
3655_module.Translate(throwMethod, syntax, _diagnostics.DiagnosticBag),
3665_module.GetModuleCancellationToken(_module.Translate(cancellationTokenType, syntax, _diagnostics.DiagnosticBag), syntax, _diagnostics.DiagnosticBag),
3689_builder.EmitToken(_module.GetInstrumentationPayloadRoot(node.AnalysisKind, _module.Translate(node.Type, node.Syntax, _diagnostics.DiagnosticBag), node.Syntax, _diagnostics.DiagnosticBag), node.Syntax);
CodeGen\EmitStatement.cs (18)
915_module.Translate(expressionOpt.Type, boundReturnStatement.Syntax, _diagnostics.DiagnosticBag);
1049_module.Translate(catchBlock.ExceptionTypeOpt, catchBlock.Syntax, _diagnostics.DiagnosticBag) :
1050_module.GetSpecialType(SpecialType.System_Object, catchBlock.Syntax, _diagnostics.DiagnosticBag);
1096var exceptionType = _module.Translate(catchBlock.ExceptionTypeOpt, catchBlock.Syntax, _diagnostics.DiagnosticBag);
1501var privateImplClass = _module.GetPrivateImplClass(syntaxNode, _diagnostics.DiagnosticBag).PrivateImplementationDetails;
1546sequenceEqualsMethodRef = _module.Translate(sequenceEqualsCharMethod, null, _diagnostics.DiagnosticBag);
1550asSpanMethodRef = _module.Translate(asSpanMethod, null, _diagnostics.DiagnosticBag);
1556stringEqualityMethodRef = _module.Translate(stringEqualityMethod, syntaxNode, _diagnostics.DiagnosticBag);
1641return _module.Translate(spanCharLengthMethod, syntaxNode, _diagnostics.DiagnosticBag);
1648return _module.Translate(stringLengthMethod, syntaxNode, _diagnostics.DiagnosticBag);
1666return _module.Translate(spanCharLengthMethod, null, _diagnostics.DiagnosticBag);
1674return _module.Translate(stringCharsIndexer, syntaxNode, _diagnostics.DiagnosticBag);
1775MetadataConstant compileTimeValue = _module.CreateConstant(local.Type, local.ConstantValue, syntaxNode, _diagnostics.DiagnosticBag);
1806? _module.GetSpecialType(SpecialType.System_IntPtr, syntaxNode, _diagnostics.DiagnosticBag)
1807: _module.Translate(pointedAtType, syntaxNode, _diagnostics.DiagnosticBag);
1813translatedType = _module.Translate(local.Type, syntaxNode, _diagnostics.DiagnosticBag);
1818_module.GetFakeSymbolTokenForIL(translatedType, syntaxNode, _diagnostics.DiagnosticBag);
1910_module.Translate(type, syntaxNode, _diagnostics.DiagnosticBag),
Compilation\CSharpCompilation.cs (24)
1922RoslynDebug.Assert(diagnostics.DiagnosticBag is object);
2003RoslynDebug.Assert(noMainFoundDiagnostics.DiagnosticBag is object);
2099foreach (var diagnostic in noMainFoundDiagnostics.DiagnosticBag.AsEnumerable())
2662Debug.Assert(bag.DiagnosticBag is { });
2664diagnostics.AddRange(bag.DiagnosticBag);
2953Debug.Assert(builder.DiagnosticBag is { });
2959FilterAndAppendDiagnostics(diagnostics, builder.DiagnosticBag, cancellationToken);
2965RoslynDebug.Assert(builder.DiagnosticBag is object);
2978AppendLoadDirectiveDiagnostics(builder.DiagnosticBag, _syntaxAndDeclarations, syntaxTree);
2988AppendLoadDirectiveDiagnostics(builder.DiagnosticBag, _syntaxAndDeclarations, syntaxTree);
3012CheckAssemblyName(builder.DiagnosticBag);
3043RoslynDebug.Assert(methodBodyDiagnostics.DiagnosticBag is object);
3071RoslynDebug.Assert(diagnostics.DiagnosticBag is object);
3081diagnostics: diagnostics.DiagnosticBag,
3114Debug.Assert(bindingDiagnostics.DiagnosticBag is { });
3162Debug.Assert(discarded.DiagnosticBag is object);
3177discarded.DiagnosticBag.Clear();
3541diagnostics.AddRange(entryPointDiagnostics.DiagnosticBag!);
3567Debug.Assert(methodBodyDiagnosticBag.DiagnosticBag is { });
3582if (!hasDeclarationErrors && !CommonCompiler.HasUnsuppressableErrors(methodBodyDiagnosticBag.DiagnosticBag) && filterOpt == null)
3584GenerateModuleInitializer(moduleBeingBuilt, methodBodyDiagnosticBag.DiagnosticBag);
3589bool hasMethodBodyError = !FilterAndAppendDiagnostics(diagnostics, methodBodyDiagnosticBag.DiagnosticBag, cancellationToken);
3760Debug.Assert(xmlDiagnostics.DiagnosticBag is { });
3765bool result = FilterAndAppendDiagnostics(diagnostics, xmlDiagnostics.DiagnosticBag, cancellationToken);
Compiler\MethodCompiler.cs (27)
92Debug.Assert(diagnostics.DiagnosticBag != null);
121Debug.Assert(diagnostics.DiagnosticBag != null);
189moduleBeingBuiltOpt.CreateDeletedMethodDefinitions(diagnostics.DiagnosticBag);
219moduleBeingBuiltOpt.SetPEEntryPoint(entryPoint, diagnostics.DiagnosticBag);
228Debug.Assert(diagnostics.DiagnosticBag != null);
642_diagnostics.DiagnosticBag,
687var context = new EmitContext(_moduleBeingBuiltOpt, null, diagnostics.DiagnosticBag, metadataOnly: false, includePrivateMembers: true);
704Debug.Assert(diagnostics.DiagnosticBag != null);
751_moduleBeingBuiltOpt.TryCreateVariableSlotAllocator(lambda, lambda.TopLevelMethod, diagnosticsThisMethod.DiagnosticBag) :
752_moduleBeingBuiltOpt.TryCreateVariableSlotAllocator(method, method, diagnosticsThisMethod.DiagnosticBag);
859discardedDiagnostics.DiagnosticBag.Clear();
1009diagsForCurrentMethod.DiagnosticBag,
1078DefiniteAssignmentPass.Analyze(_compilation, methodSymbol, analyzedInitializers, diagsForCurrentMethod.DiagnosticBag, out _, requireOutParamsAssigned: false);
1096DefiniteAssignmentPass.Analyze(_compilation, methodSymbol, analyzedInitializers, diagsForCurrentMethod.DiagnosticBag, out _, requireOutParamsAssigned: false);
1402Debug.Assert(_diagnostics.DiagnosticBag != null);
1405ILBuilder builder = new ILBuilder(_moduleBeingBuiltOpt, new LocalSlotManager(slotAllocator: null), _diagnostics.DiagnosticBag, OptimizationLevel.Release, areLocalsZeroed: false);
1538lazyVariableSlotAllocator ??= compilationState.ModuleBuilderOpt.TryCreateVariableSlotAllocator(method, method, diagnostics.DiagnosticBag);
1617Debug.Assert(diagnosticsForThisMethod.DiagnosticBag != null);
1619ILBuilder builder = new ILBuilder(moduleBuilder, localSlotManager, diagnosticsForThisMethod.DiagnosticBag, optimizations, method.AreLocalsZeroed);
1693var importScopeOpt = importChainOpt?.Translate(moduleBuilder, diagnosticsForThisMethod.DiagnosticBag);
1789awaiters[index] = moduleBuilder.EncTranslateLocalVariableType(field.Type, diagnostics.DiagnosticBag);
1801hoistedVariables[index] = new EncHoistedLocalInfo(field.SlotDebugInfo, moduleBuilder.EncTranslateLocalVariableType(field.Type, diagnostics.DiagnosticBag));
1916Debug.Assert(diagnostics.DiagnosticBag != null);
1929isSufficientLangVersion ? diagnostics.DiagnosticBag : new DiagnosticBag(),
1940diagnostics.DiagnosticBag,
2038diagnostics.DiagnosticBag,
2270diagnostics.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)
202Debug.Assert(_diagnostics.DiagnosticBag is { });
328createSpan = _factory.ModuleBuilderOpt.EnsureInlineArrayAsReadOnlySpanExists(node.Syntax, spanType, intType, _diagnostics.DiagnosticBag);
332createSpan = _factory.ModuleBuilderOpt.EnsureInlineArrayAsSpanExists(node.Syntax, spanType, intType, _diagnostics.DiagnosticBag);
354elementRef = _factory.ModuleBuilderOpt.EnsureInlineArrayFirstElementRefExists(node.Syntax, _diagnostics.DiagnosticBag);
359elementRef = _factory.ModuleBuilderOpt.EnsureInlineArrayFirstElementRefReadOnlyExists(node.Syntax, _diagnostics.DiagnosticBag);
373elementRef = _factory.ModuleBuilderOpt.EnsureInlineArrayElementRefExists(node.Syntax, intType, _diagnostics.DiagnosticBag);
378elementRef = _factory.ModuleBuilderOpt.EnsureInlineArrayElementRefReadOnlyExists(node.Syntax, intType, _diagnostics.DiagnosticBag);