Base:
property
Constructor
Microsoft.CodeAnalysis.CSharp.BoundObjectCreationExpressionBase.Constructor
1 write to Constructor
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
6342this.Constructor = constructor;
68 references to Constructor
Microsoft.CodeAnalysis.CSharp (43)
Binder\Binder.ValueChecks.cs (2)
4381var constructorSymbol = objectCreation.Constructor; 5162var constructorSymbol = objectCreation.Constructor;
Binder\Binder_Conversions.cs (1)
896(collectionCreation is BoundObjectCreationExpression creation && creation.Expanded == isExpanded && creation.Constructor == constructor));
Binder\Binder_Expressions.cs (3)
6852CheckRequiredMembersInObjectInitializer(creation.Constructor, creation.InitializerExpressionOpt?.Initializers ?? default, creation.Syntax, diagnostics); 7030return creation.Update(creation.Constructor, creation.ConstructorsGroup, creation.Arguments, creation.ArgumentNamesOpt, 9590else if (convertedIndex is BoundObjectCreationExpression { Constructor: MethodSymbol constructor, Arguments: { Length: 2 } arguments, ArgsToParamsOpt: { IsDefaultOrEmpty: true }, InitializerExpressionOpt: null } &&
BoundTree\BoundExpression.cs (1)
537get { return this.Constructor; }
CodeGen\CodeGenerator_RefSafety.cs (1)
31parameters: node.Constructor.Parameters);
CodeGen\EmitExpression.cs (6)
2291if (objCreation.Constructor.IsVararg) 2439MethodSymbol constructor = expression.Constructor; 2489expression.Constructor.OriginalDefinition == (object)this._module.Compilation.GetWellKnownTypeMember(WellKnownMember.System_ReadOnlySpan_T__ctor_Array)) || 2491expression.Constructor.OriginalDefinition == (object)this._module.Compilation.GetWellKnownTypeMember(WellKnownMember.System_ReadOnlySpan_T__ctor_Array_Start_Length))) && 2651var ctor = objCreation.Constructor; 2727var constructor = objCreation.Constructor;
CodeGen\Optimizer.cs (3)
951((BoundObjectCreationExpression)right).Constructor.ParameterCount != 0); 1327var constructor = node.Constructor; 2155return node.Update(node.Constructor, arguments, node.ArgumentNamesOpt, node.ArgumentRefKindsOpt, node.Expanded, node.ArgsToParamsOpt, node.DefaultArguments, node.ConstantValueOpt, initializerExpressionOpt: null, type);
Compilation\CSharpSemanticModel.cs (3)
3676if ((object)boundObjectCreation.Constructor != null) 3678Debug.Assert(boundObjectCreation.ConstructorsGroup.Contains(boundObjectCreation.Constructor)); 3679symbols = OneOrMany.Create<Symbol>(boundObjectCreation.Constructor);
FlowAnalysis\AbstractFlowPass.cs (1)
2069VisitArguments(node.Arguments, node.ArgumentRefKindsOpt, node.Constructor, node.ArgsToParamsOpt, node.Expanded);
FlowAnalysis\DefiniteAssignment.cs (1)
945return !init.Constructor.IsImplicitlyDeclared || init.InitializerExpressionOpt != null;
Generated\BoundNodes.xml.Generated.cs (4)
6372if (!Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(constructor, this.Constructor) || constructorsGroup != this.ConstructorsGroup || arguments != this.Arguments || argumentNamesOpt != this.ArgumentNamesOpt || argumentRefKindsOpt != this.ArgumentRefKindsOpt || expanded != this.Expanded || argsToParamsOpt != this.ArgsToParamsOpt || defaultArguments != this.DefaultArguments || constantValueOpt != this.ConstantValueOpt || initializerExpressionOpt != this.InitializerExpressionOpt || wasTargetTyped != this.WasTargetTyped || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything)) 11908MethodSymbol constructor = this.VisitMethodSymbol(node.Constructor); 14166MethodSymbol constructor = GetUpdatedSymbol(node, node.Constructor); 16606new TreeDumperNode("constructor", node.Constructor, null),
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (3)
1055if ((object)node.Constructor == null || 1057node.Constructor.IsDefaultValueTypeConstructor()) 1062var ctor = _bound.ConstructorInfo(node.Constructor);
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
559VisitCall(node.Constructor, null, node.Arguments, node.ArgumentRefKindsOpt, node.ArgumentNamesOpt, node.ArgsToParamsOpt, node.DefaultArguments, node);
Lowering\Extensions.cs (2)
54return creation.Constructor.ParameterCount != 0; 100return creation.Constructor.ParameterCount == 0;
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
638loweredInput.Constructor, arguments: newArguments.ToImmutableAndFree(), loweredInput.ArgumentNamesOpt, loweredInput.ArgumentRefKindsOpt,
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (1)
729else if (unloweredExpr is BoundObjectCreationExpression { Constructor: MethodSymbol constructor, Arguments: { Length: 2 } arguments, ArgsToParamsOpt: { IsDefaultOrEmpty: true }, InitializerExpressionOpt: null } &&
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (1)
35var constructor = node.Constructor;
Lowering\LocalRewriter\LocalRewriter_TupleCreationExpression.cs (1)
100currentCreation.Constructor,
Lowering\SpillSequenceSpiller.cs (3)
484objectCreationExpression.Constructor.OriginalDefinition == _F.Compilation.GetSpecialTypeMember(SpecialMember.System_ReadOnlySpan_T__ctor_Reference)) 488return objectCreationExpression.Update(objectCreationExpression.Constructor, 1417return UpdateExpression(builder, node.Update(node.Constructor, arguments, node.ArgumentNamesOpt, node.ArgumentRefKindsOpt, node.Expanded, node.ArgsToParamsOpt, node.DefaultArguments, node.ConstantValueOpt, node.InitializerExpressionOpt, node.Type));
Operations\CSharpOperationFactory.cs (2)
703MethodSymbol constructor = boundObjectCreationExpression.Constructor; 1249return (expr.CollectionCreation as BoundObjectCreationExpression)?.Constructor;
Operations\CSharpOperationFactory_Methods.cs (1)
220return DeriveArguments(objectCreation.Constructor,
Symbols\Source\ParameterHelpers.cs (1)
1097return expression.Constructor.IsDefaultValueTypeConstructor() && expression.InitializerExpressionOpt == null;
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (25)
Semantics\SemanticAnalyzerTests.cs (25)
1337Assert.Equal(".ctor", call.Constructor.Name); 1338Assert.Equal(0, call.Constructor.Parameters.Length); 1340Assert.Equal("ArrayList", call.Constructor.ContainingSymbol.Name); 1365Assert.Equal(".ctor", call.Constructor.Name); 1366Assert.Equal("ArrayList", call.Constructor.ContainingSymbol.Name); 1367Assert.Equal(1, call.Constructor.Parameters.Length); 1393Assert.Equal(".ctor", call.Constructor.Name); 1394Assert.Equal("ArrayList", call.Constructor.ContainingSymbol.Name); 1395Assert.Equal(1, call.Constructor.Parameters.Length); 1396Assert.Equal("capacity", call.Constructor.Parameters[0].Name); 1430Assert.Equal(".ctor", call.Constructor.Name); 1431Assert.Equal(0, call.Constructor.Parameters.Length); 1433Assert.Equal("T", call.Constructor.ContainingSymbol.Name); 1464Assert.Equal(".ctor", call.Constructor.Name); 1466Assert.Equal(1, call.Constructor.Parameters.Length); 1467Assert.Equal("a", call.Constructor.Parameters[0].Name); 1468Assert.Equal("Int32", call.Constructor.Parameters[0].TypeWithAnnotations.Type.Name); 1499Assert.Equal(".ctor", call.Constructor.Name); 1501Assert.Equal(1, call.Constructor.Parameters.Length); 1502Assert.Equal("a", call.Constructor.Parameters[0].Name); 1503Assert.Equal("String", call.Constructor.Parameters[0].TypeWithAnnotations.Type.Name); 1534Assert.Equal(".ctor", newExpr.Constructor.Name); 1536Assert.Equal(1, newExpr.Constructor.Parameters.Length); 1537Assert.Equal("a", newExpr.Constructor.Parameters[0].Name); 1538Assert.Equal("Int32", newExpr.Constructor.Parameters[0].TypeWithAnnotations.Type.Name);