Esempio n. 1
0
        public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node)
        {
            ImmutableArray <BoundExpression> arguments =
                (ImmutableArray <BoundExpression>) this.VisitList(node.Arguments);
            TypeSymbol type         = this.VisitType(node.Type);
            TypeSymbol receiverType = this.VisitType(node.ReceiverType);

            var member = node.MemberSymbol;

            switch (member.Kind)
            {
            case SymbolKind.Field:
                member = VisitFieldSymbol((FieldSymbol)member);
                break;

            case SymbolKind.Property:
                member = VisitPropertySymbol((PropertySymbol)member);
                break;
            }

            return(node.Update(
                       member,
                       arguments,
                       node.ArgumentNamesOpt,
                       node.ArgumentRefKindsOpt,
                       node.Expanded,
                       node.ArgsToParamsOpt,
                       node.DefaultArguments,
                       node.ResultKind,
                       receiverType,
                       type
                       ));
        }
Esempio n. 2
0
        public override BoundNode VisitObjectInitializerMember(BoundObjectInitializerMember node)
        {
            ImmutableArray<BoundExpression> arguments = (ImmutableArray<BoundExpression>)this.VisitList(node.Arguments);
            TypeSymbol type = this.VisitType(node.Type);

            var member = node.MemberSymbol;

            switch (member.Kind)
            {
                case SymbolKind.Field:
                    member = VisitFieldSymbol((FieldSymbol)member);
                    break;
                case SymbolKind.Property:
                    member = VisitPropertySymbol((PropertySymbol)member);
                    break;
            }

            return node.Update(member, arguments, node.ArgumentNamesOpt, node.ArgumentRefKindsOpt, node.Expanded, node.ArgsToParamsOpt, node.ResultKind, type);
        }