Emit\EditAndContinue\DeltaMetadataWriter.cs (14)
294methods.Add(MetadataTokens.MethodDefinitionHandle(_methodDefs.GetRowId(def)));
306types.Add(GetTypeDefinitionHandle(def));
555newMethodDefs.Add(new DeletedSourceMethodDefinition(deletedMethodDef, deletedMethodHandle, lazyDeletedMethodIL.Value, typesUsedByDeletedMembers));
584newMethodDefs.Add(new DeletedPEMethodDefinition(deletedClosureMethod, il));
590newMethodDefs.Add(new DeletedSourceMethodDefinition(deletedClosureMethodDef, deletedClosureMethodHandle, il, typesUsedByDeletedMembers));
706implementingMethods.Add(methodDefRowId);
889encInfos.Add(CreateEncLocalInfo(local, signature));
1014_customAttributeRowIds.Add(MetadataTokens.GetRowNumber(handle));
1044_customAttributeRowIds.Add(lastCustomAttributeRowId);
1202paramEncMapRows.Add(parameterFirstId + i);
1216paramEncMapRows.Add(MetadataTokens.GetRowNumber(param));
1412tokens.Add(MetadataTokens.Handle(tableIndex, firstRowId + i));
1421tokens.Add(MetadataTokens.Handle(tableIndex, index.GetRowId(member)));
1429tokens.Add(MetadataTokens.Handle(tableIndex, row));
Binder\Binder.ValueChecks.cs (18)
462namesBuilder.Add(null);
466namesBuilder.Add((name, NoLocation.Singleton));
2174argsToParamsBuilder.Add(0);
2177argsToParamsBuilder.Add(argsToParamsOpt[i] + 1);
2400escapeArguments.Add(tuple);
2404mixableArguments.Add(new MixableDestination(tuple.Parameter, receiver));
2436mixableArguments.Add(new MixableDestination(parameter, argument));
2450escapeArguments.Add(new EscapeArgument(parameter, argument, refKind));
2533escapeArguments.Add(new EscapeArgument(parameter: null, argument, refKind, isArgList: true));
2537mixableArguments.Add(new MixableDestination(argument, EscapeLevel.CallingMethod));
2712escapeValues.Add(new EscapeValue(parameter: null, argument, EscapeLevel.ReturnOnly, isRefEscape: true));
2717escapeValues.Add(new EscapeValue(parameter: null, argument, EscapeLevel.CallingMethod, isRefEscape: false));
2725escapeValues.Add(new EscapeValue(parameter, argument, valEscapeLevel, isRefEscape: false));
2732escapeValues.Add(new EscapeValue(parameter, argument, refEscapeLevel, isRefEscape: true));
2788escapeValues.Add(new EscapeValue(parameter: null, argument, EscapeLevel.CallingMethod, isRefEscape: false));
2796escapeValues.Add(new EscapeValue(parameter, argument, EscapeLevel.CallingMethod, isRefEscape: false));
2801escapeValues.Add(new EscapeValue(parameter, argument, EscapeLevel.CallingMethod, isRefEscape: true));
5857arguments.Add(call.Arguments[0]);
Binder\Binder_Deconstruct.cs (15)
310nestedConversions.Add((operandPlaceholder, new BoundConversion(syntax, operandPlaceholder, nestedConversion,
330nestedConversions.Add((null, null));
335nestedConversions.Add((operandPlaceholder, CreateConversion(syntax, operandPlaceholder,
518typesWithAnnotationsBuilder.Add(TypeWithAnnotations.Create(mergedType));
519locationsBuilder.Add(element.Syntax.Location);
560namesBuilder.Add(null);
566namesBuilder.Add(ExtractDeconstructResultElementName(value));
568valuesBuilder.Add(value);
569typesWithAnnotationsBuilder.Add(TypeWithAnnotations.Create(value.Type));
570locationsBuilder.Add(variable.Syntax.Location);
646analyzedArguments.Arguments.Add(variable);
647analyzedArguments.RefKinds.Add(RefKind.Out);
648outVars.Add(variable);
785builder.Add(BindDeconstructionVariables(arg.Expression, diagnostics, ref declaration, ref expression));
843builder.Add(BindDeconstructionVariables(declTypeWithAnnotations, n, n, diagnostics));
Binder\Binder_Expressions.cs (47)
340boundArgs.Add(BindToNaturalType(arg, diagnostics, reportNoTargetType));
970builder.Add(BindDeclarationVariablesForErrorRecovery(declTypeWithAnnotations, n, n, diagnostics));
971namesBuilder.Add(InferTupleElementName(n));
1052boundArguments.Add(boundArgument);
1055elementTypesWithAnnotations.Add(elementTypeWithAnnotations);
1158builder.Add(true);
1162builder.Add(false);
3353result.RefKinds.Add(RefKind.None);
3360result.RefKinds.Add(refKind);
3374result.Names.Add(null);
3392result.Names.Add(null);
3395result.Arguments.Add(boundArgumentExpression);
3558paramsArgsBuilder.Add(arguments[arg]);
3866argumentPlaceholdersBuilder.Add(
3876argumentRefKindsBuilder.Add(refKind == RefKind.RefReadOnlyParameter ? RefKind.In : refKind);
4063sizes.Add(size);
4085sizes.Add(size);
4219exprBuilder.Add(boundExpression);
4251exprBuilder.Add(boundExpression);
4297initializers.Add(convertedExpression);
4325initializers.Add(init);
4547builder.Add(BindToTypeForErrorRecovery(BindExpression(size, BindingDiagnosticBag.Discarded)));
5270builder.Add(bindElement(element, diagnostics, this, nestingLevel));
5612children.Add(boundInitializer);
5711initializers.Add(boundMemberInitializer);
6295initializerBuilder.Add(boundElementInitializer);
6396exprBuilder.Add(BindValue(childElementInitializer, diagnostics, BindValueKind.RValue));
6633builder?.Add(constructor);
6911childNodes.Add(MakeBoundInitializerOpt(typeNode, type, initializerSyntaxOpt, initializerTypeOpt, diagnostics));
8296if ((object)m != null) builder.Add(m);
8364extensionMethodArguments.Arguments.Add(receiver);
8373extensionMethodArguments.Names.Add(null);
8379extensionMethodArguments.RefKinds.Add(RefKind.None);
8394extensionPropertyArguments.Arguments.Add(receiver);
8812properties.Add(property);
9237methodOrPropertyGroup.Add(symbol);
9960indexerGroup.Add((PropertySymbol)symbol);
10386analyzedArguments.Arguments.Add(intPlaceholder);
10458analyzedArguments.Arguments.Add(startArgumentPlaceholder);
10459analyzedArguments.Arguments.Add(lengthArgumentPlaceholder);
10830methods.Add(m);
10886methods.Add(substituted);
10891methods.Add(reduced);
11038methods.Add(substituted);
11096methods.Add(substituted);
11250fieldsBuilder.Add(
11261fieldsBuilder.Add(new AnonymousTypeField(name: "", location, returnType, returnRefKind, ScopedKind.None));
Binder\Binder_InterpolatedString.cs (25)
140builder.Add(new BoundStringInsert(interpolation, value, alignment, format, isInterpolatedStringHandlerAppendCall: false));
168builder.Add(new BoundLiteral(content, constantValue, stringType));
376expressions.Add(null!); // format placeholder
403expressions.Add(value); // NOTE: must still be lowered
476partsArrayBuilder.Add(unconvertedInterpolatedString.Parts);
615partsArrayBuilder.Add(unconvertedInterpolatedString.Parts);
716refKindsBuilder.Add(RefKind.None);
717refKindsBuilder.Add(RefKind.None);
727refKindsBuilder.Add(RefKind.Out);
820argumentsBuilder.Add(new BoundLiteral(syntax, ConstantValue.Create(baseStringLength), intType) { WasCompilerGenerated = true });
822argumentsBuilder.Add(new BoundLiteral(syntax, ConstantValue.Create(numFormatHoles), intType) { WasCompilerGenerated = true });
878partsBuilder.Add(insert.Update(newValue, insert.Alignment, insert.Format, isInterpolatedStringHandlerAppendCall: false));
882partsBuilder?.Add(part);
888partsBuilder?.Add(part);
929argumentsBuilder.Add(insert.Value);
930parameterNamesAndLocationsBuilder.Add(null);
938argumentsBuilder.Add(insert.Alignment);
939parameterNamesAndLocationsBuilder.Add(("alignment", insert.Alignment.Syntax.Location));
944argumentsBuilder.Add(insert.Format);
945parameterNamesAndLocationsBuilder.Add(("format", insert.Format.Syntax.Location));
955argumentsBuilder.Add(boundLiteral.Update(ConstantValue.Create(literalText), boundLiteral.Type));
976builderAppendCalls.Add(call);
977positionInfo.Add((isLiteral, hasAlignment, hasFormat));
1004builderAppendCallsArray.Add(builderAppendCalls.ToImmutableAndClear());
1005positionInfoArray.Add(positionInfo.ToImmutableAndClear());
Binder\DecisionDagBuilder.cs (44)
334tests.Add(new Tests.One(new BoundDagTypeTest(syntax, iTupleType, input)));
336tests.Add(new Tests.One(valueAsITupleEvaluation));
341tests.Add(new Tests.One(lengthEvaluation));
343tests.Add(new Tests.One(new BoundDagValueTest(syntax, ConstantValue.Create(patternLength), lengthTemp)));
349tests.Add(new Tests.One(indexEvaluation));
351tests.Add(MakeTestsAndBindings(indexTemp, pattern.Subpatterns[i].Pattern, bindings));
408bindings.Add(new BoundPatternBinding(variableAccess, input));
441tests.Add(new Tests.One(new BoundDagNonNullTest(syntax, isExplicitTest, input)));
471tests.Add(new Tests.One(new BoundDagTypeTest(syntax, type, input)));
476tests.Add(new Tests.One(evaluation));
506tests.Add(Tests.False.Instance);
510tests.Add(new Tests.One(new BoundDagValueTest(constant.Syntax, constant.ConstantValue, input)));
534tests.Add(new Tests.One(evaluation));
542tests.Add(MakeTestsAndBindings(element, pattern, bindings));
564tests.Add(new Tests.One(evaluation));
566tests.Add(MakeTestsAndBindings(element, pattern, bindings));
574tests.Add(new Tests.One(new BoundDagTypeTest(recursive.Syntax, ErrorType(), input, hasErrors: true)));
588tests.Add(new Tests.One(new BoundDagTypeTest(recursive.Syntax, ErrorType(), input, hasErrors: true)));
592tests.Add(MakeTestsAndBindings(currentInput, pattern, bindings));
600bindings.Add(new BoundPatternBinding(recursive.VariableAccess, input));
630tests.Add(new Tests.One(evaluation));
676builder.Add(leftTests);
677builder.Add(@this.MakeTestsAndBindings(input, bin.Right, bindings));
687builder.Add(result);
694builder.Add(leftTests);
695builder.Add(@this.MakeTestsAndBindings(leftOutput, bin.Right, out var rightOutput, bindings));
717tests.Add(Tests.False.Instance);
721tests.Add(new Tests.One(new BoundDagRelationalTest(rel.Syntax, rel.Relation, rel.ConstantValue, output, rel.HasErrors)));
880rewrittenCases.Add(rewrittenCase);
1114whenTrueBuilder.Add(whenTrueState);
1117whenFalseBuilder.Add(whenFalseState);
1219builder.Add(new StateForCase(
1502(conditions ??= ArrayBuilder<Tests>.GetInstance()).Add(new Tests.One(new BoundDagValueTest(syntax, ConstantValue.Create(lengthValue), s1LengthTemp)));
1827builder.Add(this[i]);
1830builder.Add(this[i]);
2295builder.Add(Not.Create(t));
2345trueBuilder.Add(oneTrue);
2346falseBuilder.Add(oneFalse);
2356builder.Add(test.RemoveEvaluation(e));
2364builder.Add(test.RewriteNestedLengthTests());
2393builder.Add(t1);
2394builder.Add(t2);
2473builder.Add(t1);
2474builder.Add(t2);
Binder\Semantics\Conversions\UserDefinedExplicitConversions.cs (3)
255operators.Add(op2);
329u.Add(UserDefinedConversionAnalysis.Lifted(constrainedToTypeOpt, op, liftedFromConversion, liftedToConversion, nullableFrom, nullableTo));
361u.Add(UserDefinedConversionAnalysis.Normal(constrainedToTypeOpt, op, fromConversion, toConversion, convertsFrom, convertsTo));
Binder\Semantics\Conversions\UserDefinedImplicitConversions.cs (2)
328u.Add(UserDefinedConversionAnalysis.Normal(constrainedToTypeOpt, op, fromConversion, toConversion, convertsFrom, convertsTo));
356u.Add(UserDefinedConversionAnalysis.Lifted(constrainedToTypeOpt, op, liftedFromConversion, liftedToConversion, nullableFrom, nullableTo));
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (43)
325operators.Add(new BinaryOperatorSignature(kind | BinaryOperatorKind.Delegate, delegateType, delegateType, Compilation.GetSpecialType(SpecialType.System_Boolean)));
331operators.Add(new BinaryOperatorSignature(kind | BinaryOperatorKind.Delegate, delegateType, delegateType, delegateType));
497operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.EnumAndUnderlyingAddition, enumType, underlying, enumType));
498operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.UnderlyingAndEnumAddition, underlying, enumType, enumType));
499operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.LiftedEnumAndUnderlyingAddition, nullableEnum, nullableUnderlying, nullableEnum));
500operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.LiftedUnderlyingAndEnumAddition, nullableUnderlying, nullableEnum, nullableEnum));
505operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.EnumSubtraction, enumType, enumType, underlying));
506operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.EnumAndUnderlyingSubtraction, enumType, underlying, enumType));
507operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.LiftedEnumSubtraction, nullableEnum, nullableEnum, nullableUnderlying));
508operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.LiftedEnumAndUnderlyingSubtraction, nullableEnum, nullableUnderlying, nullableEnum));
518operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.EnumSubtraction, enumType, enumType, underlying)
520operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.EnumAndUnderlyingSubtraction, enumType, underlying, enumType)
522operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.LiftedEnumSubtraction, nullableEnum, nullableEnum, nullableUnderlying)
524operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.LiftedEnumAndUnderlyingSubtraction, nullableEnum, nullableUnderlying, nullableEnum)
528operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.UnderlyingAndEnumSubtraction, underlying, enumType, enumType)
530operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.LiftedUnderlyingAndEnumSubtraction, nullableUnderlying, nullableEnum, nullableEnum)
541operators.Add(new BinaryOperatorSignature(kind | BinaryOperatorKind.Enum, enumType, enumType, boolean));
542operators.Add(new BinaryOperatorSignature(kind | BinaryOperatorKind.Lifted | BinaryOperatorKind.Enum, nullableEnum, nullableEnum, boolean));
547operators.Add(new BinaryOperatorSignature(kind | BinaryOperatorKind.Enum, enumType, enumType, enumType));
548operators.Add(new BinaryOperatorSignature(kind | BinaryOperatorKind.Lifted | BinaryOperatorKind.Enum, nullableEnum, nullableEnum, nullableEnum));
564operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndIntAddition, pointerType, Compilation.GetSpecialType(SpecialType.System_Int32), pointerType));
565operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndUIntAddition, pointerType, Compilation.GetSpecialType(SpecialType.System_UInt32), pointerType));
566operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndLongAddition, pointerType, Compilation.GetSpecialType(SpecialType.System_Int64), pointerType));
567operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndULongAddition, pointerType, Compilation.GetSpecialType(SpecialType.System_UInt64), pointerType));
568operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.IntAndPointerAddition, Compilation.GetSpecialType(SpecialType.System_Int32), pointerType, pointerType));
569operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.UIntAndPointerAddition, Compilation.GetSpecialType(SpecialType.System_UInt32), pointerType, pointerType));
570operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.LongAndPointerAddition, Compilation.GetSpecialType(SpecialType.System_Int64), pointerType, pointerType));
571operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.ULongAndPointerAddition, Compilation.GetSpecialType(SpecialType.System_UInt64), pointerType, pointerType));
574operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndIntSubtraction, pointerType, Compilation.GetSpecialType(SpecialType.System_Int32), pointerType));
575operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndUIntSubtraction, pointerType, Compilation.GetSpecialType(SpecialType.System_UInt32), pointerType));
576operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndLongSubtraction, pointerType, Compilation.GetSpecialType(SpecialType.System_Int64), pointerType));
577operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerAndULongSubtraction, pointerType, Compilation.GetSpecialType(SpecialType.System_UInt64), pointerType));
578operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.PointerSubtraction, pointerType, pointerType, Compilation.GetSpecialType(SpecialType.System_Int64)));
596operators.Add(new BinaryOperatorSignature(kind | BinaryOperatorKind.Pointer, voidPointerType, voidPointerType, Compilation.GetSpecialType(SpecialType.System_Boolean)));
747results.Add(BinaryOperatorAnalysisResult.Applicable(op, convLeft, convRight));
799operators.Add(new BinaryOperatorSignature(kind | BinaryOperatorKind.Object, @object, @object, Compilation.GetSpecialType(SpecialType.System_Boolean)));
817results.Add(BinaryOperatorAnalysisResult.Applicable(op, convLeft, convRight));
822results.Add(BinaryOperatorAnalysisResult.Inapplicable(op, convLeft, convRight));
856result.Add(op);
1006operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.UserDefined | kind, leftOperandType, rightOperandType, resultType, op, constrainedToTypeOpt));
1025operators.Add(new BinaryOperatorSignature(
1031operators.Add(new BinaryOperatorSignature(
1482operators.Add(op);
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (8)
131operators.Add(op);
512operators.Add(pointerOperator.Value);
529results.Add(UnaryOperatorAnalysisResult.Applicable(op, conversion));
533results.Add(UnaryOperatorAnalysisResult.Inapplicable(op, conversion));
565operators.Add(new UnaryOperatorSignature(kind | UnaryOperatorKind.Enum, enumType, enumType));
566operators.Add(new UnaryOperatorSignature(kind | UnaryOperatorKind.Lifted | UnaryOperatorKind.Enum, nullableEnum, nullableEnum));
801operators.Add(new UnaryOperatorSignature(UnaryOperatorKind.UserDefined | kind, operandType, resultType, op, constrainedToTypeOpt));
833operators.Add(new UnaryOperatorSignature(
CSharpCompilationOptions.cs (10)
671builder.Add(Diagnostic.Create(MessageProvider.Instance, (int)ErrorCode.ERR_NoMainOnDLL));
676builder.Add(Diagnostic.Create(MessageProvider.Instance, (int)ErrorCode.ERR_BadCompilationOptionValue, nameof(MainTypeName), MainTypeName));
682builder.Add(Diagnostic.Create(MessageProvider.Instance, (int)ErrorCode.ERR_BadPlatformType, Platform.ToString()));
692builder.Add(Diagnostic.Create(MessageProvider.Instance, (int)ErrorCode.ERR_BadCompilationOptionValue, nameof(OutputKind), OutputKind.ToString()));
697builder.Add(Diagnostic.Create(MessageProvider.Instance, (int)ErrorCode.ERR_BadCompilationOptionValue, nameof(OptimizationLevel), OptimizationLevel.ToString()));
702builder.Add(Diagnostic.Create(MessageProvider.Instance, (int)ErrorCode.ERR_BadCompilationOptionValue, nameof(ScriptClassName), ScriptClassName ?? "null"));
707builder.Add(Diagnostic.Create(MessageProvider.Instance, (int)ErrorCode.ERR_BadCompilationOptionValue, nameof(WarningLevel), WarningLevel));
712builder.Add(Diagnostic.Create(MessageProvider.Instance, (int)ErrorCode.ERR_BadCompilationOptionValue, nameof(Usings), Usings.Where(u => !u.IsValidClrNamespaceName()).First() ?? "null"));
717builder.Add(Diagnostic.Create(MessageProvider.Instance, (int)ErrorCode.ERR_BadPrefer32OnLib));
722builder.Add(Diagnostic.Create(MessageProvider.Instance, (int)ErrorCode.ERR_BadCompilationOptionValue, nameof(MetadataImportOptions), MetadataImportOptions.ToString()));
FlowAnalysis\NullableWalker.cs (32)
3086_returnTypesOpt.Add((node, result.ToTypeWithAnnotations(compilation)));
3239localFuncs.Add(localFunc);
3863resultBuilder.Add(_visitResult);
3905elementConversionCompletions.Add((_, targetCollectionType) =>
3973elementConversionCompletions.Add((elementType, _) => completion(elementType));
4611builder.Add(
4823expressionsNoConversions.Add(expressionNoConversion);
4824conversions.Add(conversion);
4827expressionTypes.Add(expressionType);
4831placeholderBuilder.Add(CreatePlaceholderIfNecessary(expressionNoConversion, expressionType.ToTypeWithAnnotations(compilation)));
4950resultTypes.Add(resultType);
4951placeholdersBuilder.Add(CreatePlaceholderIfNecessary(returnExpr, resultType));
4997builder.Add(child);
5660slotBuilder.Add(slot);
6718builder.Add(0);
6721builder.Add(argsToParamsOpt[i] + 1);
7350notNullParametersBuilder?.Add(parameter);
7696resultsBuilder.Add(result);
7700resultsBuilder.Add(VisitArgumentEvaluate(arguments[i], GetRefKind(refKindsOpt, i), parameterAnnotationsOpt.IsDefault ? default : parameterAnnotationsOpt[i]));
7855conversionResultsBuilder?.Add(_visitResult);
7876conversionResultsBuilder?.Add(result);
7879conversionResultsBuilder?.Add(result);
8219argumentsBuilder.Add(argument);
8220conversionsBuilder.Add(conversion);
8401builder.Add(getArgumentForMethodTypeInference(arguments[i], visitArgumentResult));
8432elementsBuilder.Add(getArgumentForMethodTypeInference(elementNoConversion, collectionExpressionVisitResults[i]));
8436elementsBuilder.Add(collection.Elements[i]);
10329arguments.Add(CreatePlaceholderIfNecessary(receiverOpt, receiverType.ToTypeWithAnnotations(compilation)));
10337arguments.Add(new BoundExpressionWithNullability(syntax, new BoundParameter(syntax, parameter), parameterType.NullableAnnotation, parameterType.Type));
10712placeholderArgs.Add(CreatePlaceholderIfNecessary(right, rightResult.ToTypeWithAnnotations(compilation)));
10715placeholderArgs.Add(new BoundExpressionWithNullability(variables[i].Expression.Syntax, variables[i].Expression, NullableAnnotation.Oblivious, conversion.DeconstructionInfo.OutputPlaceholders[i].Type));
10889builder.Add(getDeconstructionAssignmentVariable(argument));
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (39)
355decisionDag = ShareTempsAndEvaluateInput(loweredSwitchGoverningExpression, decisionDag, expr => result.Add(_factory.ExpressionStatement(expr)), out savedInputExpression);
362result.Add(_factory.Assignment(inputTemp, loweredSwitchGoverningExpression));
381_loweredDecisionDag.Add(_factory.Goto(GetDagNodeLabel(firstNode)));
402_loweredDecisionDag.Add(_factory.Label(label));
463_loweredDecisionDag.Add(_factory.ExpressionStatement(sideEffect));
479_loweredDecisionDag.Add(_factory.ConditionalGoto(test, GetDagNodeLabel(whenTrue), jumpIfTrue: true));
484_loweredDecisionDag.Add(_factory.ConditionalGoto(test, GetDagNodeLabel(whenFalse), jumpIfTrue: false));
489_loweredDecisionDag.Add(_factory.ConditionalGoto(test, GetDagNodeLabel(whenTrue), jumpIfTrue: true));
490_loweredDecisionDag.Add(_factory.Goto(GetDagNodeLabel(whenFalse)));
590cases.Add((value: value.Value, label: GetDagNodeLabel(testNode.WhenTrue)));
598cases.Add((value: vd.Value, label: GetDagNodeLabel(p.WhenTrue)));
651(fac.Related(op, pair.value, value) ? whenTrueBuilder : whenFalseBuilder).Add(pair);
663_loweredDecisionDag.Add(_factory.Goto(leaf.Label));
682_loweredDecisionDag.Add(_factory.ConditionalGoto(test, trueLabel, jumpIfTrue: true));
688_loweredDecisionDag.Add(_factory.ConditionalGoto(test, falseLabel, jumpIfTrue: false));
694_loweredDecisionDag.Add(_factory.ConditionalGoto(test, falseLabel, jumpIfTrue: false));
696_loweredDecisionDag.Add(_factory.Label(falseLabel));
781_loweredDecisionDag.Add(dispatch);
807_loweredDecisionDag.Add(dispatch);
830_loweredDecisionDag.Add(_factory.ConditionalGoto(MakeValueTest(node.Syntax, input, cases[i].value), cases[i].label, jumpIfTrue: true));
833_loweredDecisionDag.Add(_factory.Goto(defaultLabel));
839_loweredDecisionDag.Add(_factory.ConditionalGoto(MakeRelationalTest(node.Syntax, input, lessThanOrEqualOperator, cases[firstIndex + half - 1].value), gt, jumpIfTrue: false));
841_loweredDecisionDag.Add(_factory.Label(gt));
1015whenExpressionInfo.WhenNodes.Add(whenNode);
1021list.Add(whenNode);
1064sectionBuilder.Add(_factory.Label(labelToSectionScope));
1071sectionBuilder.Add(_factory.Assignment(_factory.Local(_whenNodeIdentifierLocal), _factory.Literal(whenNodeInfo.WhenNodeIdentifier)));
1074sectionBuilder.Add(_factory.Goto(whenNodeInfo.LabelToWhenExpression));
1095sectionBuilder.Add(_factory.Label(labelToWhenExpression));
1104whenFalseSwitchSections.Add(_factory.SwitchSection(whenNodeIdentifier, _factory.Goto(GetDagNodeLabel(whenNode.WhenFalse))));
1116sectionBuilder.Add(GenerateInstrumentation ? _factory.HiddenSequencePoint(jumps) : jumps);
1134sectionBuilder.Add(conditionalGoto);
1156sectionBuilder.Add(_factory.Label(labelToSectionScope));
1168sectionBuilder.Add(GenerateInstrumentation ? _factory.HiddenSequencePoint(jump) : jump);
1173sectionBuilder.Add(_factory.Goto(trueLabel));
1188sectionBuilder.Add(_factory.Assignment(left, right));
1207_loweredDecisionDag.Add(_factory.ExpressionStatement(sideEffect));
1213_loweredDecisionDag.Add(_factory.HiddenSequencePoint());
1218_loweredDecisionDag.Add(_factory.Goto(GetDagNodeLabel(evaluationNode.Next)));
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (32)
344sideEffects.Add(assignmentToTemp);
369sideEffects.Add(rewrittenElement);
565_additionalLocals.Add(temp.LocalSymbol);
582sideEffects.Add(assignmentToTemp);
583_additionalLocals.Add(inlineArrayLocal.LocalSymbol);
594sideEffects.Add(assignment);
767localsBuilder.Add(indexTemp);
768sideEffects.Add(assignmentToTemp);
777localsBuilder.Add(arrayTemp);
778sideEffects.Add(assignmentToTemp);
795expressions.Add(
805expressions.Add(
1003sideEffects.Add(assignmentToTemp);
1004localsBuilder.Add((BoundLocal)spreadOperandAsSpan);
1010sideEffects.Add(_factory.Call(spreadOperandAsSpan, copyToMethod.AsMember((NamedTypeSymbol)spreadOperandAsSpan.Type!), targetSlice));
1013sideEffects.Add(new BoundAssignmentOperator(rewrittenSpreadOperand.Syntax, indexTemp, _factory.Binary(BinaryOperatorKind.Addition, indexTemp.Type, indexTemp, spreadLength), isRef: false, indexTemp.Type));
1066localsBuilder.Add(knownLengthTemp);
1067sideEffects.Add(assignmentToTemp);
1087localsBuilder.Add(listTemp);
1088sideEffects.Add(assignmentToTemp);
1099sideEffects.Add(_factory.Call(receiver: null, setCount, listTemp, knownLengthTemp));
1103localsBuilder.Add(spanTemp);
1104sideEffects.Add(assignmentToTemp);
1113localsBuilder.Add(indexTemp);
1114sideEffects.Add(assignmentToTemp);
1131expressions.Add(
1141expressions.Add(
1172expressions.Add(
1187sideEffects.Add(_factory.Call(listTemp, addRangeMethod, rewrittenSpreadOperand));
1222locals.Add(temp);
1223sideEffects.Add(assignmentToTemp);
1263sideEffects.Add(rewrittenElement);
Lowering\LocalRewriter\LocalRewriter_IfStatement.cs (14)
56builder.Add(new BoundConditionalGoto(rewrittenCondition.Syntax, rewrittenCondition, false, afterif));
57builder.Add(rewrittenConsequence);
78builder.Add(new BoundConditionalGoto(rewrittenCondition.Syntax, rewrittenCondition, false, alt));
79builder.Add(rewrittenConsequence);
80builder.Add(BoundSequencePoint.CreateHidden());
82builder.Add(new BoundGotoStatement(syntax, afterif));
83builder.Add(new BoundLabelStatement(syntax, alt));
87builder.Add(rewrittenAlternative);
104builder.Add(BoundSequencePoint.CreateHidden());
105builder.Add(new BoundLabelStatement(syntax, afterif));
137builder.Add(new BoundConditionalGoto(rewrittenCondition.Syntax, rewrittenCondition, false, afterif));
138builder.Add(rewrittenConsequence);
139builder.Add(BoundSequencePoint.CreateHidden());
140builder.Add(new BoundLabelStatement(syntax, afterif));
Lowering\LocalRewriter\LocalRewriter_Literal.cs (10)
100arguments.Add(new BoundLiteral(syntax, ConstantValue.Create((int)value), _compilation.GetSpecialType(SpecialType.System_Int32)));
106arguments.Add(new BoundLiteral(syntax, ConstantValue.Create((uint)value), _compilation.GetSpecialType(SpecialType.System_UInt32)));
112arguments.Add(new BoundLiteral(syntax, ConstantValue.Create((long)value), _compilation.GetSpecialType(SpecialType.System_Int64)));
118arguments.Add(new BoundLiteral(syntax, ConstantValue.Create((ulong)value), _compilation.GetSpecialType(SpecialType.System_UInt64)));
124arguments.Add(new BoundLiteral(syntax, ConstantValue.Create(low), _compilation.GetSpecialType(SpecialType.System_Int32)));
125arguments.Add(new BoundLiteral(syntax, ConstantValue.Create(mid), _compilation.GetSpecialType(SpecialType.System_Int32)));
126arguments.Add(new BoundLiteral(syntax, ConstantValue.Create(high), _compilation.GetSpecialType(SpecialType.System_Int32)));
127arguments.Add(new BoundLiteral(syntax, ConstantValue.Create(isNegative), _compilation.GetSpecialType(SpecialType.System_Boolean)));
128arguments.Add(new BoundLiteral(syntax, ConstantValue.Create(scale), _compilation.GetSpecialType(SpecialType.System_Byte)));
148arguments.Add(new BoundLiteral(syntax, ConstantValue.Create(constantValue.DateTimeValue.Ticks), _compilation.GetSpecialType(SpecialType.System_Int64)));
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (25)
108result.Add(
152result.Add(rewrittenInitializer);
378dynamicSiteInitializers.Add(setMember.SiteInitialization);
379result.Add(setMember.SiteInvocation);
390dynamicSiteInitializers.Add(getMember.SiteInitialization);
401result.Add(MakeStaticAssignmentOperator(assignment.Syntax, rewrittenAccess, rewrittenRight, isRef: assignment.IsRef, used: false));
422dynamicSiteInitializers.Add(setMember.SiteInitialization);
423result.Add(setMember.SiteInvocation);
429dynamicSiteInitializers.Add(getMember.SiteInitialization);
458temps.Add(rangeTemp.LocalSymbol);
459result.Add(rangeStore);
473result.Add(MakeStaticAssignmentOperator(assignment.Syntax, rewrittenAccess, rewrittenRight, false, used: false));
495temps.Add(temp.LocalSymbol);
496result.Add(store);
506result.Add(MakeStaticAssignmentOperator(assignment.Syntax, rewrittenAccess, rewrittenRight, false, used: false));
540result.Add(MakeStaticAssignmentOperator(assignment.Syntax, rewrittenAccess, rewrittenRight, isRef: false, used: false));
581result.Add(VisitExpression(element));
586result.Add(VisitExpression(argument));
592result.Add(VisitExpression(implicitIndexerAccess.Argument));
598result.Add(VisitExpression(index));
603result.Add(VisitExpression(pointerElementAccess.Index));
659newArgs.Add(replacement);
663newArgs.Add(arg);
681temps.Add(temp.LocalSymbol);
682sideeffects.Add(store);
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (14)
473tempSymbols.Add(boundTemp.LocalSymbol);
475tempInitializers.Add(tempAssignment);
484tempInitializers.Add(increment);
485tempInitializers.Add(assignBack);
492tempSymbols.Add(capturedRight.LocalSymbol);
493tempInitializers.Add(tempAssignment);
502tempInitializers.Add(
591tempSymbols.Add(tempSymbol);
664tempInitializers.Add(MakeAssignmentOperator(syntax, boundTemp, isPrefix ? newValue : MakeRValue(transformedLHS), used: false, isChecked: isChecked, isCompoundAssignment: false));
670tempSymbols.Add(incrementResult.LocalSymbol);
671tempInitializers.Add(assignmentToTemp);
672tempInitializers.Add(MakeAssignmentOperator(syntax, transformedLHS, incrementResult, used: false, isChecked: isChecked, isCompoundAssignment: false));
676tempInitializers.Add(MakeAssignmentOperator(syntax, transformedLHS, isPrefix ? boundTemp : newValue, used: false, isChecked: isChecked, isCompoundAssignment: false));
719tempInitializers.Add(operandAssignment);
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (11)
229_stateDebugInfoBuilder.Add(new StateMachineStateDebugInfo(syntaxOffset, awaitId, state));
338hoistedLocalsWithDebugScopes.Add(((CapturedToStateMachineFieldReplacement)proxy).HoistedField);
441cleanup.Add(F.AssignmentExpression(F.Field(F.This(), field), F.NullOrDefault(field.Type)));
487_fieldsForCleanup.Add(createdField);
505fields.Add(field);
599indices.Add(HoistExpression(index, awaitSyntaxOpt, syntaxOffset, RefKind.None, sideEffects, hoistedFields, ref needsSacrificialEvaluation));
713_fieldsForCleanup.Add(hoistedField);
720hoistedFields.Add(hoistedField);
723sideEffects.Add(F.AssignmentExpression(replacement, expr));
770newLocalsBuilder.Add(localToUse);
775hoistedLocalsWithDebugScopes.Add(((CapturedToStateMachineFieldReplacement)proxies[local]).HoistedField);
src\Compilers\CSharp\CSharpAnalyzerDriver\CSharpDeclarationComputer.cs (16)
88builder.Add(declInfo);
96builder.Add(new DeclarationInfo(name, ImmutableArray<SyntaxNode>.Empty, declaredSymbol));
119builder.Add(GetDeclarationInfo(node, associatedSymbol, codeBlocks));
135builder.Add(GetDeclarationInfo(model, node, getSymbol, attributes, cancellationToken));
148builder.Add(GetDeclarationInfo(model, node, getSymbol, attributes, cancellationToken));
157builder.Add(GetDeclarationInfo(model, node, getSymbol, codeBlocks, cancellationToken));
167builder.Add(GetDeclarationInfo(model, node, getSymbol, attributes, cancellationToken));
182builder.Add(GetDeclarationInfo(model, node, getSymbol, attributes, cancellationToken));
194builder.Add(GetDeclarationInfo(model, decl, getSymbol, codeBlocks, cancellationToken));
205builder.Add(GetExpressionBodyDeclarationInfo(parentProperty, (ArrowExpressionClauseSyntax)node, model, getSymbol, cancellationToken));
229builder.Add(GetDeclarationInfo(model, node, getSymbol, codeBlocks, cancellationToken));
253builder.Add(GetDeclarationInfo(model, node, getSymbol, codeBlocks, cancellationToken));
268builder.Add(GetDeclarationInfo(model, node, getSymbol, blocks, cancellationToken));
302builder.Add(GetDeclarationInfo(model, node, getSymbol, codeBlocks, cancellationToken));
312builder.Add(GetDeclarationInfo(model, node, getSymbol, new[] { t }, cancellationToken));
324builder.Add(GetDeclarationInfo(model, node, getSymbol: false, attributes, cancellationToken));
SymbolDisplay\SymbolDisplayVisitor.cs (17)
157Builder.Add(CreatePart(SymbolDisplayPartKind.AssemblyName, symbol, text));
162Builder.Add(CreatePart(SymbolDisplayPartKind.ModuleName, symbol, symbol.Name));
200Builder.Add(CreatePart(SymbolDisplayPartKind.NamespaceName, symbol, symbol.Name));
216Builder.Add(CreatePart(
223Builder.Add(CreatePart(SymbolDisplayPartKind.Keyword, globalNamespace,
229Builder.Add(CreatePart(
275Builder.Add(CreatePart(SymbolDisplayPartKind.ConstantName, symbol, symbol.Name));
279Builder.Add(CreatePart(SymbolDisplayPartKind.LocalName, symbol, symbol.Name));
303Builder.Add(CreatePart(SymbolDisplayPartKind.Punctuation, symbol, "_"));
318Builder.Add(CreatePart(SymbolDisplayPartKind.ErrorTypeName, type, "?"));
324Builder.Add(CreatePart(SymbolDisplayPartKind.RangeVariableName, symbol, symbol.Name));
329Builder.Add(CreatePart(SymbolDisplayPartKind.LabelName, symbol, symbol.Name));
334Builder.Add(CreatePart(SymbolDisplayPartKind.AliasName, symbol, symbol.Name));
348Builder.Add(part);
353Builder.Add(CreatePart(SymbolDisplayPartKind.Space, null, " "));
358Builder.Add(CreatePart(SymbolDisplayPartKind.Punctuation, null, SyntaxFacts.GetText(punctuationKind)));
363Builder.Add(CreatePart(SymbolDisplayPartKind.Keyword, null, SyntaxFacts.GetText(keywordKind)));
SymbolDisplay\SymbolDisplayVisitor.Members.cs (26)
72Builder.Add(CreatePart(SymbolDisplayPartKind.EnumMemberName, symbol, symbol.Name));
76Builder.Add(CreatePart(SymbolDisplayPartKind.ConstantName, symbol, symbol.Name));
80Builder.Add(CreatePart(SymbolDisplayPartKind.FieldName, symbol, symbol.Name));
214this.Builder.Add(CreatePart(SymbolDisplayPartKind.PropertyName, symbol,
219this.Builder.Add(CreatePart(SymbolDisplayPartKind.PropertyName, symbol, symbol.Name));
269this.Builder.Add(CreatePart(SymbolDisplayPartKind.EventName, symbol,
274this.Builder.Add(CreatePart(SymbolDisplayPartKind.EventName, symbol, symbol.Name));
284Builder.Add(CreatePart(SymbolDisplayPartKind.NumericLiteral, symbol, "lambda expression"));
428Builder.Add(CreatePart(SymbolDisplayPartKind.MethodName, symbol, symbol.Name));
435Builder.Add(CreatePart(SymbolDisplayPartKind.ExtensionMethodName, symbol, symbol.Name));
480Builder.Add(CreatePart(partKind, symbol, name));
490Builder.Add(CreatePart(partKind, symbol, symbol.Name));
495Builder.Add(CreatePart(partKind, symbol, symbol.ContainingType.Name));
525Builder.Add(CreatePart(SymbolDisplayPartKind.MethodName, symbol,
534Builder.Add(CreatePart(SymbolDisplayPartKind.MethodName, symbol, symbol.MetadataName));
542Builder.Add(CreatePart(SymbolDisplayPartKind.MethodName, symbol, symbol.Name));
555Builder.Add(CreatePart(SymbolDisplayPartKind.MethodName, symbol, symbol.MetadataName));
563Builder.Add(CreatePart(SymbolDisplayPartKind.MethodName, symbol, symbol.Name));
602Builder.Add(CreatePart(SymbolDisplayPartKind.ClassName, symbol, "Cdecl"));
605Builder.Add(CreatePart(SymbolDisplayPartKind.ClassName, symbol, "Stdcall"));
608Builder.Add(CreatePart(SymbolDisplayPartKind.ClassName, symbol, "Thiscall"));
611Builder.Add(CreatePart(SymbolDisplayPartKind.ClassName, symbol, "Fastcall"));
628Builder.Add(CreatePart(SymbolDisplayPartKind.ClassName, conventionType, conventionType.Name[CallConvLength..]));
711Builder.Add(CreatePart(SymbolDisplayPartKind.Operator, symbol,
824Builder.Add(CreatePart(kind, symbol, symbol.Name));
1081this.Builder.Add(CreatePart(InternalSymbolDisplayPartKind.Other, null, customModifier.IsOptional ? IL_KEYWORD_MODOPT : IL_KEYWORD_MODREQ));
SymbolDisplay\SymbolDisplayVisitor.Types.cs (20)
164Builder.Add(CreatePart(SymbolDisplayPartKind.TypeParameterName, symbol, symbol.Name));
171Builder.Add(CreatePart(SymbolDisplayPartKind.Keyword, symbol, symbol.Name));
182Builder.Add(CreatePart(SymbolDisplayPartKind.ModuleName, symbol, fileLocalNamePrefix));
195Builder.Add(CreatePart(SymbolDisplayPartKind.Punctuation, symbol, "@"));
196Builder.Add(CreatePart(SymbolDisplayPartKind.ModuleName, symbol, fileDescription));
349Builder.Add(CreatePart(SymbolDisplayPartKind.ClassName, symbol, extensionIdentifier));
399Builder.Add(CreatePart(partKind, symbol, "?"));
404Builder.Add(CreatePart(partKind, symbol, symbolName));
414Builder.Add(CreatePart(InternalSymbolDisplayPartKind.Arity, null,
460Builder.Add(CreatePart(InternalSymbolDisplayPartKind.Other, symbol, "missing"));
514Builder.Add(new SymbolDisplayPart(SymbolDisplayPartKind.ClassName, symbol, "<empty anonymous type>"));
519Builder.Add(new SymbolDisplayPart(SymbolDisplayPartKind.ClassName, symbol, name));
588Builder.Add(CreatePart(SymbolDisplayPartKind.StructName, symbol, "<tuple>"));
609Builder.Add(CreatePart(SymbolDisplayPartKind.FieldName, element, element.Name));
620Builder.Add(CreatePart(InternalSymbolDisplayPartKind.Other, symbol, "missing"));
676Builder.Add(CreatePart(SymbolDisplayPartKind.Keyword, symbol, specialTypeName));
731Builder.Add(new SymbolDisplayPart(SymbolDisplayPartKind.AnonymousTypeIndicator, null, "AnonymousType"));
736Builder.Add(new SymbolDisplayPart(SymbolDisplayPartKind.AnonymousTypeIndicator, null, "Tuple"));
938Builder.Add(new SymbolDisplayPart(SymbolDisplayPartKind.Keyword, null, "unmanaged"));
948Builder.Add(new SymbolDisplayPart(SymbolDisplayPartKind.Keyword, null, "notnull"));
Symbols\AnonymousTypes\PublicSymbols\AnonymousType.DelegatePublicSymbol.cs (1)
61parameters.Add(
Symbols\ConstraintsHelper.cs (27)
179diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(constraintTypeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_CircularConstraint, constraintTypeParameter, typeParameter))));
213diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(errorCode, typeParameter, constraintTypeParameter))));
228constraintTypesBuilder.Add(constraintType);
251diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(underlyingTypeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_CircularConstraint, underlyingTypeParameter, typeParameter))));
292constraintTypesBuilder.Add(constraintType);
303diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_BaseConstraintConflict, typeParameter, constraintDeducedBase, deducedBaseType))));
475diagnosticsBuilder.Add(GenerateConflictingConstraintsError(typeParameter, deducedBase, classConflict: deducedBase.IsValueType));
479diagnosticsBuilder.Add(GenerateConflictingConstraintsError(typeParameter, deducedBase, classConflict: typeParameter.HasReferenceTypeConstraint));
961diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_BadTypeArgument, typeArgument.Type))));
974diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(diagnosticInfo)));
979diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_RuntimeDoesNotSupportByRefLikeGenerics))));
986diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_NotRefStructConstraintNotSatisfied, containingSymbol.ConstructedFrom(), typeParameter, typeArgument.Type))));
994diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_GenericArgIsStaticClass, typeArgument.Type))));
1003diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_RefConstraintNotSatisfied, containingSymbol.ConstructedFrom(), typeParameter, typeArgument.Type))));
1019diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_UnmanagedConstraintNotSatisfied, containingSymbol.ConstructedFrom(), typeParameter, typeArgument.Type))));
1034diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(csDiagnosticInfo)));
1045diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_ValConstraintNotSatisfied, containingSymbol.ConstructedFrom(), typeParameter, typeArgument.Type))));
1095diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter,
1130diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_NewConstraintNotSatisfied, containingSymbol.ConstructedFrom(), typeParameter, typeArgument.Type))));
1134diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_NewConstraintCannotHaveRequiredMembers, containingSymbol.ConstructedFrom(), typeParameter, typeArgument.Type))));
1153nullabilityDiagnosticsBuilderOpt.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.WRN_NullabilityMismatchInTypeParameterNotNullConstraint, containingSymbol.ConstructedFrom(), typeParameter, typeArgument))));
1160nullabilityDiagnosticsBuilderOpt.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.WRN_NullabilityMismatchInTypeParameterReferenceTypeConstraint, containingSymbol.ConstructedFrom(), typeParameter, typeArgument))));
1184nullabilityDiagnosticsBuilderOpt.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.WRN_NullabilityMismatchInTypeParameterConstraint, containingSymbol.ConstructedFrom(), constraintType, typeParameter, typeArgument))));
1225diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(errorCode, containingSymbol.ConstructedFrom(), constraintTypeErrorArgument, typeParameter, typeArgumentErrorArgument))));
1307ensureUseSiteDiagnosticsBuilder(ref useSiteDiagnosticsBuilder).Add(new TypeParameterDiagnosticInfo(typeParameter,
1335useSiteDiagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(info)));
1469builder.Add(@interface);
Symbols\Metadata\PE\PENamedTypeSymbol.cs (14)
791symbols.Add(namedTypeSymbol);
1131fieldDefs.Add(fieldDef);
1148builder.Add(new PEFieldSymbol(moduleSymbol, this, fieldDef));
1217eventFields.Add(associatedField);
1254result.Add(field);
1311methodDefs.Add(methodDef);
1520members.Add(field);
1528members.Add(syntheticCtor);
1577members.Add(field);
1661members.Add(member);
2232fieldMembers.Add(symbol);
2271members.Add(method);
2300members.Add(PEPropertySymbol.Create(moduleSymbol, this, propertyDef, getMethod, setMethod));
2335members.Add(new PEEventSymbol(moduleSymbol, this, eventRid, addMethod, removeMethod, privateFieldNameToSymbols));
Symbols\Source\SourceDelegateMethodSymbol.cs (9)
75symbols.Add(invoke);
78symbols.Add(new Constructor(delegateType, voidType, objectType, intPtrType, syntax));
89symbols.Add(new BeginInvokeMethod(invoke, iAsyncResultType, objectType, asyncCallbackType, syntax));
92symbols.Add(new EndInvokeMethod(invoke, iAsyncResultType, syntax));
362parameters.Add(synthesizedParam);
366parameters.Add(SynthesizedParameterSymbol.Create(this, asyncCallbackType, paramCount, RefKind.None, GetUniqueParameterName(parameters, "callback")));
367parameters.Add(SynthesizedParameterSymbol.Create(this, objectType, paramCount + 1, RefKind.None, GetUniqueParameterName(parameters, "object")));
406parameters.Add(synthesizedParam);
410parameters.Add(SynthesizedParameterSymbol.Create(this, iAsyncResultType, ordinal++, RefKind.None, GetUniqueParameterName(parameters, "result")));
Symbols\Source\SourceMemberContainerSymbol.cs (48)
1366symbols.Add(t);
2501membersBuilder.Add(toAdd);
2502membersUnorderedBuilder.Add(toAdd);
3434groupsBuilder.Add(insertedInitializers.ToImmutableAndFree());
3444groupsBuilder.Add(InstanceInitializersForPositionalMembers.ToImmutableAndFree());
3463InstanceInitializersForPositionalMembers.Add(initializer);
3480NonTypeMembers.Add(member);
3511builder.Add(group.ToImmutableAndFree());
3697builder.Add(new SynthesizedSimpleProgramEntryPointSymbol(this, singleDecl, diagnostics));
3843memberBuilder.Add(member);
4572result.NonTypeMembersWithPartialImplementations.Add(symbol);
4599initializers.Add(new FieldOrPropertyInitializer(fieldOpt, node));
4608allInitializers.Add(siblingsOpt);
4813members.Add(ctor);
4862members.Add(ctor);
4948members.Add(new SynthesizedRecordDeconstruct(this, ctor, positionalMembers, memberOffset: members.Count));
4997members.Add(copyCtor);
5022members.Add(new SynthesizedRecordClone(this, memberOffset: members.Count));
5050members.Add(printMembersMethod);
5124members.Add(toStringMethod);
5198existingOrAddedMembers.Add(field);
5212existingOrAddedMembers.Add(prop);
5226existingOrAddedMembers.Add(property);
5227members.Add(property);
5230members.Add(property.GetMethod);
5231members.Add(property.SetMethod);
5234members.Add(backingField);
5256members.Add(new SynthesizedRecordObjEquals(this, thisEquals, memberOffset: members.Count));
5280members.Add(getHashCode);
5310members.Add(equalityContract);
5311members.Add(equalityContract.GetMethod);
5379members.Add(thisEquals);
5420members.Add(new SynthesizedRecordBaseEquals(this, memberOffset: members.Count));
5426members.Add(new SynthesizedRecordEqualityOperator(this, memberOffset: members.Count, diagnostics));
5427members.Add(new SynthesizedRecordInequalityOperator(this, memberOffset: members.Count, diagnostics));
5581builder.NonTypeMembersWithPartialImplementations.Add(fieldSymbol);
5619builder.NonTypeMembersWithPartialImplementations.Add(method);
5634builder.NonTypeMembersWithPartialImplementations.Add(constructor);
5656builder.NonTypeMembersWithPartialImplementations.Add(destructor);
5670builder.NonTypeMembersWithPartialImplementations.Add(property);
5682builder.NonTypeMembersWithPartialImplementations.Add(backingField);
5724builder.NonTypeMembersWithPartialImplementations.Add(@event);
5776builder.NonTypeMembersWithPartialImplementations.Add(@event);
5796builder.NonTypeMembersWithPartialImplementations.Add(indexer);
5813builder.NonTypeMembersWithPartialImplementations.Add(method);
5828builder.NonTypeMembersWithPartialImplementations.Add(method);
5906symbols.Add(accessorOpt);
6049toSearch.Add(type);
Symbols\Synthesized\Records\SynthesizedRecordToString.cs (6)
63block.Add(F.Assignment(builderLocal, F.New(stringBuilderCtor)));
66block.Add(makeAppendString(F, builderLocal, ContainingType.Name));
69block.Add(makeAppendString(F, builderLocal, " { "));
72block.Add(F.If(F.Call(F.This(), _printMethod, builderLocal), makeAppendChar(F, builderLocal, ' ')));
75block.Add(makeAppendChar(F, builderLocal, '}'));
78block.Add(F.Return(F.Call(builderLocal, F.SpecialMethod(SpecialMember.System_Object__ToString))));
Symbols\Synthesized\SynthesizedEmbeddedNullableContextAttributeSymbol.cs (1)
62statements.Add(
Symbols\Synthesized\SynthesizedEmbeddedNullablePublicOnlyAttributeSymbol.cs (1)
59statements.Add(
Symbols\Synthesized\SynthesizedEmbeddedRefSafetyRulesAttributeSymbol.cs (1)
54statements.Add(