Example #1
0
        private object ReadObjectCore(ClassDef classDef)
        {
            // XXX: This needs a better implementation - maybe, you know, constructing
            //      the requested type?
            var builder = HessianObject.Builder.New(classDef.Name);

            objectRefs.Add(builder.Object);

            foreach (var field in classDef.Fields)
            {
                builder.Add(field, ReadValue());
            }

            return(builder.Create());
        }
Example #2
0
        public ClassDef ReadClassDefinition()
        {
            var tag = reader.ReadByte();

            if (tag != 'C')
            {
                throw new UnexpectedTagException(tag, "classdef");
            }
            var name       = ReadString();
            var fieldCount = ReadInteger();
            var fields     = new string[fieldCount];

            for (var i = 0; i < fields.Length; ++i)
            {
                fields[i] = ReadString();
            }

            var classDef = new ClassDef(name, fields);

            classDefs.Add(classDef);

            return(classDef);
        }