Emit\EditAndContinue\DeltaMetadataWriter.cs (16)
295methods.Add(MetadataTokens.MethodDefinitionHandle(_methodDefs.GetRowId(def)));
307types.Add(GetTypeDefinitionHandle(def));
560newMemberDefs.Add(new DeletedSourceMethodDefinition(deletedMethodDef, deletedMethodHandle, lazyDeletedMethodIL.Value, typesUsedByDeletedMembers, deletedAttribute));
568newMemberDefs.Add(new DeletedSourcePropertyDefinition(deletedPropertyDef, deletedPropertyHandle, typesUsedByDeletedMembers, deletedAttribute));
574newMemberDefs.Add(new DeletedSourceEventDefinition(deletedEventDef, deletedEventHandle, typesUsedByDeletedMembers, deletedAttribute));
605newMemberDefs.Add(new DeletedPEMethodDefinition(deletedClosureMethod, il));
611newMemberDefs.Add(new DeletedSourceMethodDefinition(deletedClosureMethodDef, deletedClosureMethodHandle, il, typesUsedByDeletedMembers, deletedAttribute: null));
744implementingMethods.Add(methodDefRowId);
927encInfos.Add(CreateEncLocalInfo(local, signature));
1052_customAttributeRowIds.Add(MetadataTokens.GetRowNumber(handle));
1082_customAttributeRowIds.Add(lastCustomAttributeRowId);
1240paramEncMapRows.Add(parameterFirstId + i);
1254paramEncMapRows.Add(MetadataTokens.GetRowNumber(param));
1450tokens.Add(MetadataTokens.Handle(tableIndex, firstRowId + i));
1459tokens.Add(MetadataTokens.Handle(tableIndex, index.GetRowId(member)));
1467tokens.Add(MetadataTokens.Handle(tableIndex, row));
Binder\Binder.ValueChecks.cs (18)
685namesBuilder.Add(null);
689namesBuilder.Add((name, NoLocation.Singleton));
2401argsToParamsBuilder.Add(0);
2404argsToParamsBuilder.Add(methodInvocationInfo.ArgsToParamsOpt[i] + 1);
2635escapeArguments.Add(tuple);
2639mixableArguments.Add(new MixableDestination(tuple.Parameter, receiver));
2675mixableArguments.Add(new MixableDestination(parameter, argument));
2689escapeArguments.Add(new EscapeArgument(parameter, argument, refKind));
2772escapeArguments.Add(new EscapeArgument(parameter: null, argument, refKind, isArgList: true));
2776mixableArguments.Add(new MixableDestination(argument, EscapeLevel.CallingMethod));
2900escapeValues.Add(new EscapeValue(parameter, argument, escapeLevel, isArgumentRefEscape));
2986escapeValues.Add(new EscapeValue(parameter: null, argument, EscapeLevel.ReturnOnly, isRefEscape: true));
2991escapeValues.Add(new EscapeValue(parameter: null, argument, EscapeLevel.CallingMethod, isRefEscape: false));
2999escapeValues.Add(new EscapeValue(parameter, argument, valEscapeLevel, isRefEscape: false));
3006escapeValues.Add(new EscapeValue(parameter, argument, refEscapeLevel, isRefEscape: true));
3051escapeValues.Add(new EscapeValue(parameter: null, argument, EscapeLevel.CallingMethod, isRefEscape: false));
3059escapeValues.Add(new EscapeValue(parameter, argument, EscapeLevel.CallingMethod, isRefEscape: false));
3070escapeValues.Add(new EscapeValue(parameter, argument, EscapeLevel.CallingMethod, isRefEscape: true));
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 (49)
346boundArgs.Add(BindToNaturalType(arg, diagnostics, reportNoTargetType));
976builder.Add(BindDeclarationVariablesForErrorRecovery(declTypeWithAnnotations, n, n, diagnostics));
977namesBuilder.Add(InferTupleElementName(n));
1042elementLocations.Add(nameSyntax.Location);
1046elementLocations.Add(argumentSyntax.Location);
1058boundArguments.Add(boundArgument);
1061elementTypesWithAnnotations.Add(elementTypeWithAnnotations);
1164builder.Add(true);
1168builder.Add(false);
3365result.RefKinds.Add(RefKind.None);
3372result.RefKinds.Add(refKind);
3386result.Names.Add(null);
3404result.Names.Add(null);
3407result.Arguments.Add(boundArgumentExpression);
3570paramsArgsBuilder.Add(arguments[arg]);
3878argumentPlaceholdersBuilder.Add(
3888argumentRefKindsBuilder.Add(refKind == RefKind.RefReadOnlyParameter ? RefKind.In : refKind);
4075sizes.Add(size);
4097sizes.Add(size);
4231exprBuilder.Add(boundExpression);
4263exprBuilder.Add(boundExpression);
4309initializers.Add(convertedExpression);
4337initializers.Add(init);
4559builder.Add(BindToTypeForErrorRecovery(BindExpression(size, BindingDiagnosticBag.Discarded)));
5282builder.Add(bindElement(element, diagnostics, this, nestingLevel));
5630children.Add(boundInitializer);
5729initializers.Add(boundMemberInitializer);
6313initializerBuilder.Add(boundElementInitializer);
6414exprBuilder.Add(BindValue(childElementInitializer, diagnostics, BindValueKind.RValue));
6651builder?.Add(constructor);
6930childNodes.Add(MakeBoundInitializerOpt(typeNode, type, initializerSyntaxOpt, initializerTypeOpt, diagnostics));
8315if ((object)m != null) builder.Add(m);
8383extensionMethodArguments.Arguments.Add(receiver);
8392extensionMethodArguments.Names.Add(null);
8398extensionMethodArguments.RefKinds.Add(RefKind.None);
8413extensionPropertyArguments.Arguments.Add(receiver);
8834properties.Add(property);
9291methodOrPropertyGroup.Add(symbol);
10014indexerGroup.Add((PropertySymbol)symbol);
10440analyzedArguments.Arguments.Add(intPlaceholder);
10512analyzedArguments.Arguments.Add(startArgumentPlaceholder);
10513analyzedArguments.Arguments.Add(lengthArgumentPlaceholder);
10884methods.Add(m);
10941methods.Add(substituted);
10946methods.Add(reduced);
11093methods.Add(substituted);
11152methods.Add(substituted);
11306fieldsBuilder.Add(
11317fieldsBuilder.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)
279newSequence.Add(testsSimplified.Pop());
380tests.Add(new Tests.One(new BoundDagTypeTest(syntax, iTupleType, input)));
382tests.Add(new Tests.One(valueAsITupleEvaluation));
387tests.Add(new Tests.One(lengthEvaluation));
389tests.Add(new Tests.One(new BoundDagValueTest(syntax, ConstantValue.Create(patternLength), lengthTemp)));
395tests.Add(new Tests.One(indexEvaluation));
397tests.Add(MakeTestsAndBindings(indexTemp, pattern.Subpatterns[i].Pattern, bindings));
454bindings.Add(new BoundPatternBinding(variableAccess, input));
487tests.Add(new Tests.One(new BoundDagNonNullTest(syntax, isExplicitTest, input)));
517tests.Add(new Tests.One(new BoundDagTypeTest(syntax, type, input)));
522tests.Add(new Tests.One(evaluation));
552tests.Add(Tests.False.Instance);
556tests.Add(new Tests.One(new BoundDagValueTest(constant.Syntax, constant.ConstantValue, input)));
580tests.Add(new Tests.One(evaluation));
588tests.Add(MakeTestsAndBindings(element, pattern, bindings));
610tests.Add(new Tests.One(evaluation));
612tests.Add(MakeTestsAndBindings(element, pattern, bindings));
620tests.Add(new Tests.One(new BoundDagTypeTest(recursive.Syntax, ErrorType(), input, hasErrors: true)));
634tests.Add(new Tests.One(new BoundDagTypeTest(recursive.Syntax, ErrorType(), input, hasErrors: true)));
638tests.Add(MakeTestsAndBindings(currentInput, pattern, bindings));
646bindings.Add(new BoundPatternBinding(recursive.VariableAccess, input));
676tests.Add(new Tests.One(evaluation));
722builder.Add(leftTests);
723builder.Add(@this.MakeTestsAndBindings(input, bin.Right, bindings));
733builder.Add(result);
736builder.Add(new Tests.One(evaluation));
742builder.Add(leftTests);
743builder.Add(@this.MakeTestsAndBindings(leftOutput, bin.Right, out var rightOutput, bindings));
765tests.Add(Tests.False.Instance);
769tests.Add(new Tests.One(new BoundDagRelationalTest(rel.Syntax, rel.Relation, rel.ConstantValue, output, rel.HasErrors)));
928rewrittenCases.Add(rewrittenCase);
1162whenTrueBuilder.Add(whenTrueState);
1165whenFalseBuilder.Add(whenFalseState);
1267builder.Add(new StateForCase(
1546(conditions ??= ArrayBuilder<Tests>.GetInstance()).Add(new Tests.One(new BoundDagValueTest(syntax, ConstantValue.Create(lengthValue), s1LengthTemp)));
1871builder.Add(this[i]);
1874builder.Add(this[i]);
2339builder.Add(Not.Create(t));
2476newSequence.Add(testsRewritten.Pop());
2529newSequence.Add(testsRewritten.Pop());
2728builder.Add(t1);
2729builder.Add(t2);
2807builder.Add(t1);
2808builder.Add(t2);
Binder\DecisionDagBuilder_CheckOrReachability.cs (5)
129existingCases.Add(builder.MakeTestsForPattern(++index, switchArm.Syntax, rootIdentifier, switchArm.Pattern, whenClause: switchArm.WhenClause, label: switchArm.Label));
183existingCases.Add(builder.MakeTestsForPattern(++index, label.Syntax, rootIdentifier, label.Pattern, label.WhenClause, label.Label));
451currentCases.Add(wrappedPattern);
557builder.Add(current.Left);
569builder.Add(pattern);
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);
1016operators.Add(new BinaryOperatorSignature(BinaryOperatorKind.UserDefined | kind, leftOperandType, rightOperandType, resultType, op, constrainedToTypeOpt));
1033operators.Add(new BinaryOperatorSignature(
1039operators.Add(new BinaryOperatorSignature(
1490operators.Add(op);
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (8)
131operators.Add(op);
521operators.Add(pointerOperator.Value);
538results.Add(UnaryOperatorAnalysisResult.Applicable(op, conversion));
542results.Add(UnaryOperatorAnalysisResult.Inapplicable(op, conversion));
574operators.Add(new UnaryOperatorSignature(kind | UnaryOperatorKind.Enum, enumType, enumType));
575operators.Add(new UnaryOperatorSignature(kind | UnaryOperatorKind.Lifted | UnaryOperatorKind.Enum, nullableEnum, nullableEnum));
835operators.Add(new UnaryOperatorSignature(UnaryOperatorKind.UserDefined | kind, operandType, resultType, op, constrainedToTypeOpt));
865operators.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()));
Emitter\Model\PEModuleBuilder.cs (10)
279debugDocuments.Add(debugDocument);
593builder.Add(new Cci.ExportedType((Cci.ITypeReference)symbol.GetCciAdapter(), parentIndex, isForwarder: false));
649groupingTypes.Add(groupingType);
857builder.Add(new Cci.ExportedType(type.GetCciAdapter(), parentIndex, isForwarder: true));
890builder.Add(new Cci.ExportedType(groupingType, index, isForwarder: true));
894builder.Add(new Cci.ExportedType(markerType, groupingIndex, isForwarder: true));
907builder.Add(new Cci.ExportedType(item.GroupingType, index, isForwarder: true));
911builder.Add(new Cci.ExportedType(markerType, groupingIndex, isForwarder: true));
1560builder.Add(CreateParameterTypeInformationWrapper(param));
2249builder.Add(type);
FlowAnalysis\NullableWalker.cs (32)
3104_returnTypesOpt.Add((node, result.ToTypeWithAnnotations(compilation)));
3256localFuncs.Add(localFunc);
3878resultBuilder.Add(_visitResult);
3920elementConversionCompletions.Add((_, targetCollectionType) =>
3988elementConversionCompletions.Add((elementType, _) => completion(elementType));
4662builder.Add(
4874expressionsNoConversions.Add(expressionNoConversion);
4875conversions.Add(conversion);
4878expressionTypes.Add(expressionType);
4882placeholderBuilder.Add(CreatePlaceholderIfNecessary(expressionNoConversion, expressionType.ToTypeWithAnnotations(compilation)));
5001resultTypes.Add(resultType);
5002placeholdersBuilder.Add(CreatePlaceholderIfNecessary(returnExpr, resultType));
5048builder.Add(child);
5711slotBuilder.Add(slot);
6811builder.Add(0);
6814builder.Add(argsToParamsOpt[i] + 1);
7443notNullParametersBuilder?.Add(parameter);
7789resultsBuilder.Add(result);
7793resultsBuilder.Add(VisitArgumentEvaluate(arguments[i], GetRefKind(refKindsOpt, i), parameterAnnotationsOpt.IsDefault ? default : parameterAnnotationsOpt[i]));
7948conversionResultsBuilder?.Add(_visitResult);
7969conversionResultsBuilder?.Add(result);
7972conversionResultsBuilder?.Add(result);
8312argumentsBuilder.Add(argument);
8313conversionsBuilder.Add(conversion);
8540builder.Add(getArgumentForMethodTypeInference(arguments[i], visitArgumentResult));
8571elementsBuilder.Add(getArgumentForMethodTypeInference(elementNoConversion, collectionExpressionVisitResults[i]));
8575elementsBuilder.Add(collection.Elements[i]);
10468arguments.Add(CreatePlaceholderIfNecessary(receiverOpt, receiverType.ToTypeWithAnnotations(compilation)));
10476arguments.Add(new BoundExpressionWithNullability(syntax, new BoundParameter(syntax, parameter), parameterType.NullableAnnotation, parameterType.Type));
10849placeholderArgs.Add(CreatePlaceholderIfNecessary(right, rightResult.ToTypeWithAnnotations(compilation)));
10852placeholderArgs.Add(new BoundExpressionWithNullability(variables[i].Expression.Syntax, variables[i].Expression, NullableAnnotation.Oblivious, conversion.DeconstructionInfo.OutputPlaceholders[i].Type));
11026builder.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)
401sideEffects.Add(assignmentToTemp);
426sideEffects.Add(rewrittenElement);
625_additionalLocals.Add(temp.LocalSymbol);
642sideEffects.Add(assignmentToTemp);
643_additionalLocals.Add(inlineArrayLocal.LocalSymbol);
654sideEffects.Add(assignment);
838localsBuilder.Add(indexTemp);
839sideEffects.Add(assignmentToTemp);
848localsBuilder.Add(arrayTemp);
849sideEffects.Add(assignmentToTemp);
866expressions.Add(
876expressions.Add(
1074sideEffects.Add(assignmentToTemp);
1075localsBuilder.Add((BoundLocal)spreadOperandAsSpan);
1081sideEffects.Add(_factory.Call(spreadOperandAsSpan, copyToMethod.AsMember((NamedTypeSymbol)spreadOperandAsSpan.Type!), targetSlice));
1084sideEffects.Add(new BoundAssignmentOperator(rewrittenSpreadOperand.Syntax, indexTemp, _factory.Binary(BinaryOperatorKind.Addition, indexTemp.Type, indexTemp, spreadLength), isRef: false, indexTemp.Type));
1137localsBuilder.Add(knownLengthTemp);
1138sideEffects.Add(assignmentToTemp);
1158localsBuilder.Add(listTemp);
1159sideEffects.Add(assignmentToTemp);
1170sideEffects.Add(_factory.Call(receiver: null, setCount, listTemp, knownLengthTemp));
1174localsBuilder.Add(spanTemp);
1175sideEffects.Add(assignmentToTemp);
1184localsBuilder.Add(indexTemp);
1185sideEffects.Add(assignmentToTemp);
1202expressions.Add(
1212expressions.Add(
1243expressions.Add(
1258sideEffects.Add(_factory.Call(listTemp, addRangeMethod, rewrittenSpreadOperand));
1293locals.Add(temp);
1294sideEffects.Add(assignmentToTemp);
1334sideEffects.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, AssignmentKind.SimpleAssignment));
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, AssignmentKind.SimpleAssignment));
495temps.Add(temp.LocalSymbol);
496result.Add(store);
506result.Add(MakeStaticAssignmentOperator(assignment.Syntax, rewrittenAccess, rewrittenRight, false, used: false, AssignmentKind.SimpleAssignment));
540result.Add(MakeStaticAssignmentOperator(assignment.Syntax, rewrittenAccess, rewrittenRight, isRef: false, used: false, AssignmentKind.SimpleAssignment));
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, AssignmentKind.SimpleAssignment));
670tempSymbols.Add(incrementResult.LocalSymbol);
671tempInitializers.Add(assignmentToTemp);
672tempInitializers.Add(MakeAssignmentOperator(syntax, transformedLHS, incrementResult, used: false, isChecked: isChecked, AssignmentKind.IncrementDecrement));
676tempInitializers.Add(MakeAssignmentOperator(syntax, transformedLHS, isPrefix ? boundTemp : newValue, used: false, isChecked: isChecked, AssignmentKind.IncrementDecrement));
719tempInitializers.Add(operandAssignment);
src\Compilers\CSharp\CSharpAnalyzerDriver\CSharpDeclarationComputer.cs (26)
84builder.Add(declInfo);
92builder.Add(new DeclarationInfo(name, ImmutableArray<SyntaxNode>.Empty, declaredSymbol));
113codeBlocks.Add(initializer);
116builder.Add(GetDeclarationInfo(node, associatedSymbol, codeBlocks));
137builder.Add(GetDeclarationInfo(model, node, getSymbol, attributes, cancellationToken));
153builder.Add(GetDeclarationInfo(model, node, getSymbol, attributes, cancellationToken));
162codeBlocks.Add(t.EqualsValue);
165builder.Add(GetDeclarationInfo(model, node, getSymbol, codeBlocks, cancellationToken));
179builder.Add(GetDeclarationInfo(model, node, getSymbol, attributes, cancellationToken));
196builder.Add(GetDeclarationInfo(model, node, getSymbol, attributes, cancellationToken));
211codeBlocks.Add(decl.Initializer);
214builder.Add(GetDeclarationInfo(model, decl, getSymbol, codeBlocks, cancellationToken));
227builder.Add(GetExpressionBodyDeclarationInfo(parentProperty, (ArrowExpressionClauseSyntax)node, model, getSymbol, cancellationToken));
250codeBlocks.Add(t.Initializer);
252builder.Add(GetDeclarationInfo(model, node, getSymbol, codeBlocks, cancellationToken));
278builder.Add(GetDeclarationInfo(model, node, getSymbol, codeBlocks, cancellationToken));
295builder.Add(GetDeclarationInfo(model, node, getSymbol, blocks, cancellationToken));
310codeBlocks.Add(t.Body);
314codeBlocks.Add(ctorDecl.Initializer);
320codeBlocks.Add(expressionBody);
330builder.Add(GetDeclarationInfo(model, node, getSymbol, codeBlocks, cancellationToken));
343codeBlocks.Add(t);
345builder.Add(GetDeclarationInfo(model, node, getSymbol, codeBlocks, cancellationToken));
359builder.Add(GetDeclarationInfo(model, node, getSymbol: false, attributes, cancellationToken));
378builder.Add(attribute);
396builder.Add(parameter.Default);
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 (21)
163Builder.Add(CreatePart(SymbolDisplayPartKind.TypeParameterName, symbol, symbol.Name));
170Builder.Add(CreatePart(SymbolDisplayPartKind.Keyword, symbol, symbol.Name));
181Builder.Add(CreatePart(SymbolDisplayPartKind.ModuleName, symbol, fileLocalNamePrefix));
194Builder.Add(CreatePart(SymbolDisplayPartKind.Punctuation, symbol, "@"));
195Builder.Add(CreatePart(SymbolDisplayPartKind.ModuleName, symbol, fileDescription));
345Builder.Add(CreatePart(SymbolDisplayPartKind.ClassName, symbol, symbol.ExtensionGroupingName));
395Builder.Add(CreatePart(partKind, symbol, "?"));
400Builder.Add(CreatePart(partKind, symbol, symbolName));
413Builder.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"));
1004Builder.Add(CreatePart(SymbolDisplayPartKind.ClassName, extension, extension.ExtensionMarkerName));
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));
959diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_BadTypeArgument, typeArgument.Type))));
972diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(diagnosticInfo)));
977diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_RuntimeDoesNotSupportByRefLikeGenerics))));
984diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_NotRefStructConstraintNotSatisfied, containingSymbol.ConstructedFrom(), typeParameter, typeArgument.Type))));
992diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_GenericArgIsStaticClass, typeArgument.Type))));
1001diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_RefConstraintNotSatisfied, containingSymbol.ConstructedFrom(), typeParameter, typeArgument.Type))));
1017diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_UnmanagedConstraintNotSatisfied, containingSymbol.ConstructedFrom(), typeParameter, typeArgument.Type))));
1032diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(csDiagnosticInfo)));
1043diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_ValConstraintNotSatisfied, containingSymbol.ConstructedFrom(), typeParameter, typeArgument.Type))));
1093diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter,
1128diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_NewConstraintNotSatisfied, containingSymbol.ConstructedFrom(), typeParameter, typeArgument.Type))));
1132diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.ERR_NewConstraintCannotHaveRequiredMembers, containingSymbol.ConstructedFrom(), typeParameter, typeArgument.Type))));
1151nullabilityDiagnosticsBuilderOpt.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.WRN_NullabilityMismatchInTypeParameterNotNullConstraint, containingSymbol.ConstructedFrom(), typeParameter, typeArgument))));
1158nullabilityDiagnosticsBuilderOpt.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.WRN_NullabilityMismatchInTypeParameterReferenceTypeConstraint, containingSymbol.ConstructedFrom(), typeParameter, typeArgument))));
1182nullabilityDiagnosticsBuilderOpt.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(ErrorCode.WRN_NullabilityMismatchInTypeParameterConstraint, containingSymbol.ConstructedFrom(), constraintType, typeParameter, typeArgument))));
1223diagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(new CSDiagnosticInfo(errorCode, containingSymbol.ConstructedFrom(), constraintTypeErrorArgument, typeParameter, typeArgumentErrorArgument))));
1305ensureUseSiteDiagnosticsBuilder(ref useSiteDiagnosticsBuilder).Add(new TypeParameterDiagnosticInfo(typeParameter,
1333useSiteDiagnosticsBuilder.Add(new TypeParameterDiagnosticInfo(typeParameter, new UseSiteInfo<AssemblySymbol>(info)));
1467builder.Add(@interface);
Symbols\Metadata\PE\PENamedTypeSymbol.cs (15)
809symbols.Add(namedTypeSymbol);
1166fieldDefs.Add(fieldDef);
1183builder.Add(new PEFieldSymbol(moduleSymbol, this, fieldDef));
1252eventFields.Add(associatedField);
1289result.Add(field);
1346methodDefs.Add(methodDef);
1555members.Add(field);
1563members.Add(syntheticCtor);
1612members.Add(field);
1696members.Add(member);
2235groupingNestedTypes.Add(marker);
2336fieldMembers.Add(symbol);
2379members.Add(method);
2416members.Add(PEPropertySymbol.Create(moduleSymbol, this, propertyDef, getMethod, setMethod));
2457members.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));
364parameters.Add(synthesizedParam);
368parameters.Add(SynthesizedParameterSymbol.Create(this, asyncCallbackType, paramCount, RefKind.None, GetUniqueParameterName(parameters, "callback")));
369parameters.Add(SynthesizedParameterSymbol.Create(this, objectType, paramCount + 1, RefKind.None, GetUniqueParameterName(parameters, "object")));
410parameters.Add(synthesizedParam);
414parameters.Add(SynthesizedParameterSymbol.Create(this, iAsyncResultType, ordinal++, RefKind.None, GetUniqueParameterName(parameters, "result")));
Symbols\Source\SourceMemberContainerSymbol.cs (48)
1379symbols.Add(t);
2514membersBuilder.Add(toAdd);
2515membersUnorderedBuilder.Add(toAdd);
3398groupsBuilder.Add(insertedInitializers.ToImmutableAndFree());
3408groupsBuilder.Add(InstanceInitializersForPositionalMembers.ToImmutableAndFree());
3427InstanceInitializersForPositionalMembers.Add(initializer);
3444NonTypeMembers.Add(member);
3475builder.Add(group.ToImmutableAndFree());
3661builder.Add(new SynthesizedSimpleProgramEntryPointSymbol(this, singleDecl, diagnostics));
3807memberBuilder.Add(member);
4518result.NonTypeMembersWithPartialImplementations.Add(symbol);
4545initializers.Add(new FieldOrPropertyInitializer(fieldOpt, node));
4554allInitializers.Add(siblingsOpt);
4759members.Add(ctor);
4808members.Add(ctor);
4894members.Add(new SynthesizedRecordDeconstruct(this, ctor, positionalMembers, memberOffset: members.Count));
4943members.Add(copyCtor);
4968members.Add(new SynthesizedRecordClone(this, memberOffset: members.Count));
4996members.Add(printMembersMethod);
5070members.Add(toStringMethod);
5144existingOrAddedMembers.Add(field);
5158existingOrAddedMembers.Add(prop);
5172existingOrAddedMembers.Add(property);
5173members.Add(property);
5176members.Add(property.GetMethod);
5177members.Add(property.SetMethod);
5180members.Add(backingField);
5202members.Add(new SynthesizedRecordObjEquals(this, thisEquals, memberOffset: members.Count));
5226members.Add(getHashCode);
5256members.Add(equalityContract);
5257members.Add(equalityContract.GetMethod);
5325members.Add(thisEquals);
5366members.Add(new SynthesizedRecordBaseEquals(this, memberOffset: members.Count));
5372members.Add(new SynthesizedRecordEqualityOperator(this, memberOffset: members.Count, diagnostics));
5373members.Add(new SynthesizedRecordInequalityOperator(this, memberOffset: members.Count, diagnostics));
5527builder.NonTypeMembersWithPartialImplementations.Add(fieldSymbol);
5565builder.NonTypeMembersWithPartialImplementations.Add(method);
5580builder.NonTypeMembersWithPartialImplementations.Add(constructor);
5602builder.NonTypeMembersWithPartialImplementations.Add(destructor);
5616builder.NonTypeMembersWithPartialImplementations.Add(property);
5628builder.NonTypeMembersWithPartialImplementations.Add(backingField);
5670builder.NonTypeMembersWithPartialImplementations.Add(@event);
5722builder.NonTypeMembersWithPartialImplementations.Add(@event);
5742builder.NonTypeMembersWithPartialImplementations.Add(indexer);
5759builder.NonTypeMembersWithPartialImplementations.Add(method);
5774builder.NonTypeMembersWithPartialImplementations.Add(method);
5852symbols.Add(accessorOpt);
6003toSearch.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(