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()); } }
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); }
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); }
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); }