Base:
property
Constructor
Microsoft.CodeAnalysis.CSharp.BoundObjectCreationExpressionBase.Constructor
1 write to Constructor
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
6237this.Constructor = constructor;
70 references to Constructor
Microsoft.CodeAnalysis.CSharp (45)
Binder\Binder.ValueChecks.cs (2)
3679var constructorSymbol = objectCreation.Constructor; 4132var constructorSymbol = objectCreation.Constructor;
Binder\Binder_Expressions.cs (2)
5753CheckRequiredMembersInObjectInitializer(creation.Constructor, creation.InitializerExpressionOpt?.Initializers ?? default, creation.Syntax, diagnostics); 5903return creation.Update(creation.Constructor, creation.ConstructorsGroup, creation.Arguments, creation.ArgumentNamesOpt,
Binder\RefSafetyAnalysis.cs (1)
642var constructor = node.Constructor;
BoundTree\BoundExpression.cs (2)
469get { return this.Constructor; } 482constructor: Constructor,
CodeGen\EmitExpression.cs (6)
2055if (objCreation.Constructor.IsVararg) 2206MethodSymbol constructor = expression.Constructor; 2250expression.Constructor.OriginalDefinition == (object)this._module.Compilation.GetWellKnownTypeMember(WellKnownMember.System_ReadOnlySpan_T__ctor_Array)) || 2252expression.Constructor.OriginalDefinition == (object)this._module.Compilation.GetWellKnownTypeMember(WellKnownMember.System_ReadOnlySpan_T__ctor_Array_Start_Length))) && 2413var ctor = objCreation.Constructor; 2489var constructor = objCreation.Constructor;
CodeGen\Optimizer.cs (3)
951((BoundObjectCreationExpression)right).Constructor.ParameterCount != 0); 1251var constructor = node.Constructor; 2079return node.Update(node.Constructor, arguments, node.ArgumentNamesOpt, node.ArgumentRefKindsOpt, node.Expanded, node.ArgsToParamsOpt, node.DefaultArguments, node.ConstantValueOpt, initializerExpressionOpt: null, type);
Compilation\CSharpSemanticModel.cs (3)
3653if ((object)boundObjectCreation.Constructor != null) 3655Debug.Assert(boundObjectCreation.ConstructorsGroup.Contains(boundObjectCreation.Constructor)); 3656symbols = ImmutableArray.Create<Symbol>(boundObjectCreation.Constructor);
FlowAnalysis\AbstractFlowPass.cs (1)
1923VisitArguments(node.Arguments, node.ArgumentRefKindsOpt, node.Constructor);
FlowAnalysis\DefiniteAssignment.cs (1)
914return !init.Constructor.IsImplicitlyDeclared || init.InitializerExpressionOpt != null;
Generated\BoundNodes.xml.Generated.cs (4)
6267if (!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)) 11374return node.Update(node.Constructor, node.ConstructorsGroup, arguments, node.ArgumentNamesOpt, node.ArgumentRefKindsOpt, node.Expanded, node.ArgsToParamsOpt, node.DefaultArguments, node.ConstantValueOpt, initializerExpressionOpt, node.WasTargetTyped, type); 13538MethodSymbol constructor = GetUpdatedSymbol(node, node.Constructor); 15883new TreeDumperNode("constructor", node.Constructor, null),
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (3)
965if ((object)node.Constructor == null || 967node.Constructor.IsDefaultValueTypeConstructor()) 972var ctor = _bound.ConstructorInfo(node.Constructor);
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
479VisitCall(node.Constructor, null, node.Arguments, node.ArgumentRefKindsOpt, node.ArgumentNamesOpt, node.DefaultArguments, node);
Lowering\Extensions.cs (2)
54return creation.Constructor.ParameterCount != 0; 100return creation.Constructor.ParameterCount == 0;
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
634loweredInput.Constructor, arguments: newArguments.ToImmutableAndFree(), loweredInput.ArgumentNamesOpt, loweredInput.ArgumentRefKindsOpt,
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (1)
472else if (unloweredExpr is BoundObjectCreationExpression { Constructor: MethodSymbol constructor, Arguments: { Length: 2 } arguments, ArgsToParamsOpt: { IsDefaultOrEmpty: true }, InitializerExpressionOpt: null } &&
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (5)
47node.Constructor, 60node.Constructor, 76rewrittenObjectCreation = node.UpdateArgumentsAndInitializer(rewrittenArguments, argumentRefKindsOpt, MakeObjectCreationInitializerForExpressionTree(node.InitializerExpressionOpt), changeTypeOpt: node.Constructor.ContainingType); 87rewrittenObjectCreation = node.UpdateArgumentsAndInitializer(rewrittenArguments, argumentRefKindsOpt, newInitializerExpression: null, changeTypeOpt: node.Constructor.ContainingType); 90if (node.Constructor.IsDefaultValueTypeConstructor())
Lowering\LocalRewriter\LocalRewriter_TupleCreationExpression.cs (1)
96currentCreation.Constructor,
Lowering\MethodToClassRewriter.cs (2)
556if (!TypeSymbol.Equals(rewritten.Type, node.Type, TypeCompareKind.ConsiderEverything2) && (object)node.Constructor != null) 558MethodSymbol ctor = VisitMethodSymbol(node.Constructor);
Lowering\SpillSequenceSpiller.cs (1)
1325return 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 (1)
700MethodSymbol constructor = boundObjectCreationExpression.Constructor;
Operations\CSharpOperationFactory_Methods.cs (1)
224return DeriveArguments(objectCreation.Constructor,
Symbols\Source\ParameterHelpers.cs (1)
869return 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);