예제 #1
0
        public override void Serialize(IntermediateFormatWriter writer)
        {
            writer.RegisterDeclaration(Previous.m_declaration);
            IScalabilityCache scalabilityCache = writer.PersistenceHelper as IScalabilityCache;

            while (writer.NextMember())
            {
                switch (writer.CurrentMember.MemberName)
                {
                case MemberName.OdpContext:
                {
                    int value = scalabilityCache.StoreStaticReference(this.m_odpContext);
                    writer.Write(value);
                    break;
                }

                case MemberName.PreviousValues:
                    writer.WriteVariantListVariantDictionary(this.m_previousValues);
                    break;

                case MemberName.Values:
                    writer.WriteVariantListVariantDictionary(this.m_values);
                    break;

                case MemberName.StartHidden:
                    writer.Write(this.m_startIndex);
                    break;

                case MemberName.IsScopedInEvaluationScope:
                    writer.Write(this.m_isScopedInEvaluationScope);
                    break;

                case MemberName.Previous:
                    writer.Write(this.m_previous);
                    break;

                case MemberName.PreviousEnabled:
                    writer.Write(this.m_previousEnabled);
                    break;

                case MemberName.HasNoExplicitScope:
                    writer.Write(this.m_hasNoExplicitScope);
                    break;

                case MemberName.Value:
                    writer.Write(this.m_value);
                    break;

                default:
                    Global.Tracer.Assert(false);
                    break;
                }
            }
        }