public void IDynamicObjectCreationExpression_PublicExtensionMethodTests() { // Test null argument IDynamicObjectCreationOperation nullDynamicExpression = null; Assert.Throws <ArgumentNullException>(() => nullDynamicExpression.GetArgumentName(0)); Assert.Throws <ArgumentNullException>(() => nullDynamicExpression.GetArgumentRefKind(0)); Func < ImmutableArray <IOperation>, ImmutableArray <string>, ImmutableArray <RefKind>, HasDynamicArgumentsExpression > createDynamicExpression = (arguments, argumentNames, argumentRefKinds) => new DynamicObjectCreationOperation( initializer: null, arguments, argumentNames, argumentRefKinds, semanticModel: null, syntax: null, type: null, isImplicit: false ); TestCore(createDynamicExpression); }
public override TAbstractAnalysisValue VisitDynamicObjectCreation(IDynamicObjectCreationOperation operation, object argument) { var value = base.VisitDynamicObjectCreation(operation, argument); PointsToAbstractValue instanceLocation = GetPointsToAbstractValue(operation); return(HandleInstanceCreation(operation, instanceLocation, value)); }
/// <summary> /// Get an optional argument <see cref="RefKind"/> for an argument at the given <paramref name="index"/> to the given <paramref name="dynamicOperation"/>. /// Returns a non-null argument <see cref="RefKind"/> for C#. /// Always returns null for VB as <see cref="RefKind"/> cannot be specified for an argument in VB. /// </summary> /// <param name="dynamicOperation">Dynamic or late bound operation.</param> /// <param name="index">Argument index.</param> public static RefKind?GetArgumentRefKind(this IDynamicObjectCreationOperation dynamicOperation, int index) { if (dynamicOperation == null) { throw new ArgumentNullException(nameof(dynamicOperation)); } return(GetArgumentRefKind((HasDynamicArgumentsExpression)dynamicOperation, index)); }
public void IDynamicObjectCreationExpression_PublicExtensionMethodTests() { // Test null argument IDynamicObjectCreationOperation nullDynamicExpression = null; Assert.Throws <ArgumentNullException>(() => nullDynamicExpression.GetArgumentName(0)); Assert.Throws <ArgumentNullException>(() => nullDynamicExpression.GetArgumentRefKind(0)); Func <ImmutableArray <IOperation>, ImmutableArray <string>, ImmutableArray <RefKind>, HasDynamicArgumentsExpression> createDynamicExpression = (arguments, argumentNames, argumentRefKinds) => new DynamicObjectCreationOperation(arguments, argumentNames, argumentRefKinds, null, null, null, null, null, false); TestCore(createDynamicExpression); }
public override void VisitDynamicObjectCreation(IDynamicObjectCreationOperation operation) { Assert.Equal(OperationKind.DynamicObjectCreation, operation.Kind); IEnumerable <IOperation> children = operation.Arguments; if (operation.Initializer != null) { children = children.Concat(new[] { operation.Initializer }); } AssertEx.Equal(children, operation.Children); }
public override IOperation VisitDynamicObjectCreation( IDynamicObjectCreationOperation operation, object?argument ) { return(new DynamicObjectCreationOperation( Visit(operation.Initializer), VisitArray(operation.Arguments), ((HasDynamicArgumentsExpression)operation).ArgumentNames, ((HasDynamicArgumentsExpression)operation).ArgumentRefKinds, ((Operation)operation).OwningSemanticModel, operation.Syntax, operation.Type, operation.IsImplicit )); }
public override PointsToAbstractValue VisitDynamicObjectCreation(IDynamicObjectCreationOperation operation, object argument) { return(VisitTypeCreationWithArgumentsAndInitializer(operation.Arguments, operation.Initializer, operation, argument)); }
public override NullAbstractValue VisitDynamicObjectCreation(IDynamicObjectCreationOperation operation, object argument) { var _ = base.VisitDynamicObjectCreation(operation, argument); return(NullAbstractValue.NotNull); }
public virtual void VisitDynamicObjectCreation(IDynamicObjectCreationOperation operation) { DefaultVisit(operation); }
public override void VisitDynamicObjectCreation([NotNull] IDynamicObjectCreationOperation operation) { }
public override void VisitDynamicObjectCreation([NotNull] IDynamicObjectCreationOperation operation) { Result.SetImmediate(); }
public override void VisitDynamicObjectCreation(IDynamicObjectCreationOperation operation) { VisitDynamicArguments((HasDynamicArgumentsExpression)operation); base.VisitDynamicObjectCreation(operation); }
public override bool VisitDynamicObjectCreation([NotNull] IDynamicObjectCreationOperation operation1, [CanBeNull] IOperation argument) { return(argument is IDynamicObjectCreationOperation operation2 && AreBaseOperationsEqual(operation1, operation2)); }