Esempio n. 1
0
        private KeyValueHandlerPair ReadKeyValueTypeHandlers(IReadBuffer buffer, IContext
                                                             context)
        {
            buffer.ReadInt();
            buffer.ReadInt();
            ITypeHandler4 untypedHandler = (ITypeHandler4)Container(context).Handlers.OpenTypeHandler
                                               ();

            return(new KeyValueHandlerPair(untypedHandler, untypedHandler));
        }
Esempio n. 2
0
 protected override void SeekSecondaryOffset(IReadBuffer buffer, ITypeHandler4 typeHandler
                                             )
 {
     if (Handlers4.HandlesPrimitiveArray(typeHandler))
     {
         buffer.Seek(buffer.ReadInt());
     }
 }
Esempio n. 3
0
		protected override void SeekSecondaryOffset(IReadBuffer buffer, ITypeHandler4 typeHandler
			)
		{
			if (Handlers4.HandlesPrimitiveArray(typeHandler))
			{
				buffer.Seek(buffer.ReadInt());
			}
		}
Esempio n. 4
0
		public virtual string ReadLengthAndString(IReadBuffer buffer)
		{
			int length = buffer.ReadInt();
			if (length == 0)
			{
				return string.Empty;
			}
			return Read(buffer, length);
		}
Esempio n. 5
0
        public virtual object DoWithSlotIndirection(IReadBuffer buffer, IClosure4 closure
                                                    )
        {
            int payLoadOffset = buffer.ReadInt();

            buffer.ReadInt();
            // length, not used
            int    savedOffset = buffer.Offset();
            object res         = null;

            if (payLoadOffset != 0)
            {
                buffer.Seek(payLoadOffset);
                res = closure.Run();
            }
            buffer.Seek(savedOffset);
            return(res);
        }
Esempio n. 6
0
        public virtual string ReadLengthAndString(IReadBuffer buffer)
        {
            var length = buffer.ReadInt();

            if (length == 0)
            {
                return(string.Empty);
            }
            return(Read(buffer, length));
        }
 private void ReadDimensions(ArrayInfo info, IReadBuffer buffer, int dimensionCount
     )
 {
     var dim = new int[dimensionCount];
     for (var i = 0; i < dim.Length; i++)
     {
         dim[i] = buffer.ReadInt();
     }
     ((MultidimensionalArrayInfo) info).Dimensions(dim);
     info.ElementCount(ElementCount(dim));
 }
Esempio n. 8
0
 private void ReadDimensions(ArrayInfo info, IReadBuffer buffer, int dimensionCount
                             )
 {
     int[] dim = new int[dimensionCount];
     for (int i = 0; i < dim.Length; i++)
     {
         dim[i] = buffer.ReadInt();
     }
     ((MultidimensionalArrayInfo)info).Dimensions(dim);
     info.ElementCount(ElementCount(dim));
 }
Esempio n. 9
0
        private static ITypeHandler4 ReadElementTypeHandler(IReadBuffer buffer, IContext context)
        {
            int elementTypeId = buffer.ReadInt();

            if (elementTypeId == 0)
            {
                return(OpenTypeHandlerFrom(context));
            }

            ITypeHandler4 elementHandler = Container(context).TypeHandlerForClassMetadataID(elementTypeId);

            return(elementHandler ?? OpenTypeHandlerFrom(context));
        }
Esempio n. 10
0
        protected virtual void ReadInfo(Transaction trans, IReadBuffer buffer, ArrayInfo
                                        info)
        {
            var classID = buffer.ReadInt();

            if (IsPreVersion0Format(classID))
            {
                throw new UnsupportedOldFormatException();
            }
            _versionHelper.ReadTypeInfo(trans, buffer, info, classID);
            ReflectClassFromElementsEntry(Container(trans), info, classID);
            ReadDimensions(info, buffer);
            if (Debug4.ExceedsMaximumArrayEntries(info.ElementCount(), _usePrimitiveClassReflector
                                                  ))
            {
                info.ElementCount(0);
            }
        }
Esempio n. 11
0
 public int ReadAspectCount(IReadBuffer buffer)
 {
     var count = buffer.ReadInt();
     if (count > _aspects.Length)
     {
         return _aspects.Length;
     }
     return count;
 }
Esempio n. 12
0
        private static ITypeHandler4 ReadElementTypeHandler(IReadBuffer buffer, IContext context)
        {
            int elementHandlerId = buffer.ReadInt();
            if (elementHandlerId == 0) return OpenTypeHandlerFrom(context);

            ITypeHandler4 elementHandler = Container(context).TypeHandlerForClassMetadataID(elementHandlerId);
            return elementHandler ?? OpenTypeHandlerFrom(context);
        }
Esempio n. 13
0
		protected virtual void ReadDimensions(ArrayInfo info, IReadBuffer buffer)
		{
			info.ElementCount(buffer.ReadInt());
		}
Esempio n. 14
0
		protected virtual void ReadInfo(Transaction trans, IReadBuffer buffer, ArrayInfo 
			info)
		{
			int classID = buffer.ReadInt();
			if (IsPreVersion0Format(classID))
			{
				throw new UnsupportedOldFormatException();
			}
			else
			{
				_versionHelper.ReadTypeInfo(trans, buffer, info, classID);
				ReflectClassFromElementsEntry(Container(trans), info, classID);
				ReadDimensions(info, buffer);
			}
			if (Debug4.ExceedsMaximumArrayEntries(info.ElementCount(), _usePrimitiveClassReflector
				))
			{
				info.ElementCount(0);
			}
		}
Esempio n. 15
0
 private ITypeHandler4 ReadElementTypeHandler(IReadBuffer buffer, IContext context
                                              )
 {
     buffer.ReadInt();
     return(Container(context).Handlers.OpenTypeHandler());
 }
 public virtual int ReadInt()
 {
     return(_buffer.ReadInt());
 }
Esempio n. 17
0
 protected override void ReadDimensions(ArrayInfo info, IReadBuffer buffer)
 {
     ReadDimensions(info, buffer, buffer.ReadInt());
 }
Esempio n. 18
0
		private KeyValueHandlerPair ReadKeyValueTypeHandlers(IReadBuffer buffer, IContext
			 context)
		{
			buffer.ReadInt();
			buffer.ReadInt();
			ITypeHandler4 untypedHandler = (ITypeHandler4)Container(context).Handlers.OpenTypeHandler
				();
			return new KeyValueHandlerPair(untypedHandler, untypedHandler);
		}
Esempio n. 19
0
        private static void SkipData(IReadBuffer deleteContext)
        {
            int numBytes = deleteContext.ReadInt();

            deleteContext.Seek(deleteContext.Offset() + numBytes);
        }
 protected override void ReadDimensions(ArrayInfo info, IReadBuffer buffer)
 {
     ReadDimensions(info, buffer, buffer.ReadInt());
 }
Esempio n. 21
0
 protected virtual void ReadDimensions(ArrayInfo info, IReadBuffer buffer)
 {
     info.ElementCount(buffer.ReadInt());
 }
Esempio n. 22
0
		private ITypeHandler4 ReadElementTypeHandler(IReadBuffer buffer, IContext context
			)
		{
			buffer.ReadInt();
			return (ITypeHandler4)Container(context).Handlers.OpenTypeHandler();
		}
Esempio n. 23
0
		public virtual object DoWithSlotIndirection(IReadBuffer buffer, IClosure4 closure
			)
		{
			int payLoadOffset = buffer.ReadInt();
			buffer.ReadInt();
			// length, not used
			int savedOffset = buffer.Offset();
			object res = null;
			if (payLoadOffset != 0)
			{
				buffer.Seek(payLoadOffset);
				res = closure.Run();
			}
			buffer.Seek(savedOffset);
			return res;
		}
Esempio n. 24
0
 private static void SkipData(IReadBuffer deleteContext)
 {
     int numBytes = deleteContext.ReadInt();
     deleteContext.Seek(deleteContext.Offset() + numBytes);
 }