예제 #1
0
        internal override void WriteBodyTo(IPrivateWriter writer)
        {
            if (NullFlagOn())
            {
                writer.WriteNull(Type());
                return;
            }

            Debug.Assert(_children != null);

            var type = Type();

            if (type != IonType.Datagram)
            {
                writer.StepIn(type);
            }

            foreach (var val in _children)
            {
                val.WriteTo(writer);
            }

            if (type != IonType.Datagram)
            {
                writer.StepOut();
            }
        }
예제 #2
0
        internal override void WriteBodyTo(IPrivateWriter writer)
        {
            if (this.NullFlagOn())
            {
                writer.WriteNull(IonType.Struct);
                return;
            }

            Debug.Assert(this.values != null, "values is null");
            writer.StepIn(IonType.Struct);
            foreach (var v in this.values)
            {
                v.WriteTo(writer);
            }

            writer.StepOut();
        }
예제 #3
0
        internal override void WriteBodyTo(IPrivateWriter writer)
        {
            if (NullFlagOn())
            {
                writer.WriteNull(IonType.Struct);
                return;
            }

            Debug.Assert(_values != null);
            writer.StepIn(IonType.Struct);
            foreach (var v in _values)
            {
                //writeto() will attemp to write field name
                v.WriteTo(writer);
            }

            writer.StepOut();
        }
예제 #4
0
        internal override void WriteBodyTo(IPrivateWriter writer)
        {
            if (NullFlagOn())
            {
                writer.WriteNull(Type);
                return;
            }

            Debug.Assert(_children != null);

            writer.StepIn(Type);
            foreach (var val in _children)
            {
                val.WriteTo(writer);
            }

            writer.StepOut();
        }