示例#1
0
        public override void VisitCollectionElementInitializer(ICollectionElementInitializerOperation operation)
        {
            var addMethod = operation.AddMethod;
            var isDynamic = operation.IsDynamic;

            base.VisitCollectionElementInitializer(operation);
        }
示例#2
0
 public override bool VisitCollectionElementInitializer([NotNull] ICollectionElementInitializerOperation operation1,
                                                        [CanBeNull] IOperation argument)
 {
     return(argument is ICollectionElementInitializerOperation operation2 &&
            AreBaseOperationsEqual(operation1, operation2) &&
            AreSymbolsEqual(operation1.AddMethod, operation2.AddMethod) && operation1.IsDynamic == operation2.IsDynamic);
 }
示例#3
0
        public override void VisitCollectionElementInitializer(ICollectionElementInitializerOperation operation)
        {
            Assert.Equal(OperationKind.CollectionElementInitializer, operation.Kind);
            var addMethod = operation.AddMethod;
            var isDynamic = operation.IsDynamic;

            AssertEx.Equal(operation.Arguments, operation.Children);
        }
        public override TAbstractAnalysisValue VisitCollectionElementInitializer(ICollectionElementInitializerOperation operation, object argument)
        {
            var         objectCreation        = operation.GetAncestor <IObjectCreationOperation>(OperationKind.ObjectCreation);
            ITypeSymbol collectionElementType = operation.AddMethod?.Parameters.FirstOrDefault()?.Type;

            if (collectionElementType != null)
            {
                var index = (uint)argument;
                for (int i = 0; i < operation.Arguments.Length; i++, index++)
                {
                    AbstractIndex          abstractIndex      = AbstractIndex.Create(index);
                    IOperation             elementInitializer = operation.Arguments[i];
                    TAbstractAnalysisValue argumentValue      = Visit(elementInitializer, argument: null);
                    SetAbstractValueForElementInitializer(objectCreation, ImmutableArray.Create(abstractIndex), collectionElementType, elementInitializer, argumentValue);
                }
            }
            else
            {
                var _ = base.VisitCollectionElementInitializer(operation, argument: null);
            }

            return(UnknownOrMayBeValue);
        }
            public override NullAbstractValue VisitCollectionElementInitializer(ICollectionElementInitializerOperation operation, object argument)
            {
                var _ = base.VisitCollectionElementInitializer(operation, argument);

                return(NullAbstractValue.NotNull);
            }
示例#6
0
 public virtual void VisitCollectionElementInitializer(ICollectionElementInitializerOperation operation)
 {
     DefaultVisit(operation);
 }
 public override IOperation VisitCollectionElementInitializer(ICollectionElementInitializerOperation operation, object argument)
 {
     return(new CollectionElementInitializerExpression(operation.AddMethod, operation.IsDynamic, VisitArray(operation.Arguments), ((Operation)operation).SemanticModel, operation.Syntax, operation.Type, operation.ConstantValue, operation.IsImplicit));
 }
示例#8
0
 public override void VisitCollectionElementInitializer([NotNull] ICollectionElementInitializerOperation operation)
 {
     base.VisitCollectionElementInitializer(operation);
 }
 public override void VisitCollectionElementInitializer([NotNull] ICollectionElementInitializerOperation operation)
 {
     Result.SetImmediate();
 }