Ejemplo n.º 1
0
 protected void ReadEntity(CacheReader f, UxlEntityFlags flags)
 {
     if (flags.HasFlag(UxlEntityFlags.Elements))
     {
         f.ReadList(Elements, UxlElement.Read);
     }
     if (flags.HasFlag(UxlEntityFlags.CopyFiles))
     {
         f.ReadList(CopyFiles, r => f.ReadCopyFile());
     }
     if (flags.HasFlag(UxlEntityFlags.ImageFiles))
     {
         f.ReadList(ImageFiles, r => f.ReadImageFile());
     }
 }
Ejemplo n.º 2
0
        public static UxlMethod Read(CacheReader f)
        {
            var flags = (UxlMethodFlags)f.ReadByte();
            var sig   = f.ReadGlobalValue();

            SourceValue?cond = null;

            if (flags.HasFlag(UxlMethodFlags.HasCondition))
            {
                cond = f.ReadGlobalValue();
            }

            var result = new UxlMethod(sig, cond, flags.HasFlag(UxlMethodFlags.IsDefault));

            if (flags.HasFlag(UxlMethodFlags.Implementations))
            {
                f.ReadList(result.Implementations, UxlImplementation.Read);
            }

            result.ReadEntity(f, (UxlEntityFlags)flags);
            return(result);
        }
Ejemplo n.º 3
0
        public static UxlType Read(CacheReader f)
        {
            var flags = (UxlTypeFlags)f.ReadByte();
            var name  = f.ReadGlobalValue();

            SourceValue?cond = null;

            if (flags.HasFlag(UxlTypeFlags.HasCondition))
            {
                cond = f.ReadGlobalValue();
            }

            var result = new UxlType(name, cond, flags.HasFlag(UxlTypeFlags.IsDefault));

            if (flags.HasFlag(UxlTypeFlags.Methods))
            {
                f.ReadList(result.Methods, UxlMethod.Read);
            }

            result.ReadEntity(f, (UxlEntityFlags)flags);
            return(result);
        }
Ejemplo n.º 4
0
        public static UxlDocument Read(CacheReader f, SourcePackage upk)
        {
            var backend = (UxlBackendType)f.ReadByte();
            var flags   = (UxlDocumentFlags)f.ReadByte();

            SourceValue?cond = null;

            if (flags.HasFlag(UxlDocumentFlags.HasCondition))
            {
                cond = f.ReadGlobalValue();
            }

            var doc = new UxlDocument(upk, backend, cond);

            if (flags.HasFlag(UxlDocumentFlags.Defines))
            {
                f.ReadList(doc.Defines, UxlDefine.Read);
            }
            if (flags.HasFlag(UxlDocumentFlags.Usings))
            {
                f.ReadList(doc.Usings, r => r.ReadGlobalValue());
            }
            if (flags.HasFlag(UxlDocumentFlags.Declarations))
            {
                f.ReadList(doc.Declarations, UxlDeclare.Read);
            }
            if (flags.HasFlag(UxlDocumentFlags.Deprecations))
            {
                f.ReadList(doc.Deprecations, UxlDeprecate.Read);
            }
            if (flags.HasFlag(UxlDocumentFlags.Templates))
            {
                f.ReadList(doc.Templates, UxlTemplate.Read);
            }
            if (flags.HasFlag(UxlDocumentFlags.Types))
            {
                f.ReadList(doc.Types, UxlType.Read);
            }

            var entityFlags = (UxlEntityFlags)f.ReadByte();

            doc.ReadEntity(f, entityFlags);
            return(doc);
        }