/// <summary> /// Enumerates the content of archived files owned by a specified part /// </summary> public IEnumerable <ApiCodeBlock> HostBlocks(ApiHostUri host) { var file = HostFile(host); if (file.Exists) { foreach (var item in Read(file)) { if (item.IsNonEmpty) { yield return(item); } } } }
public Index <ApiCodeBlock> Read(ApiHostUri host) { var file = FS.file(host.Part, host.HostName, Ext); var path = Paths().Where(f => f.FileName.Name == file.Name).FirstOrDefault(FS.FilePath.Empty); if (path.IsEmpty) { Wf.Warn(Msg.HostFileMissing.Format(host, path)); return(sys.empty <ApiCodeBlock>()); } var flow = Wf.Running(path); var data = Read(path); Wf.Ran(flow, data.Length); return(data); }
public FS.FilePath HostFile(ApiHostUri host) => Root + FS.file(host.Part, host.HostName, Ext);
public FS.FilePath AsmPath(ApiHostUri host) => AsmSourceDir(host.Part) + FS.file(host, FS.Asm);
public FS.FilePath ParsedExtractPath(ApiHostUri host) => ExtractRoot() + FS.file(host, "extracts.parsed", FS.XPack);
public FS.FilePath RawExtractPath(ApiHostUri host) => ExtractRoot() + FS.file(host, "extracts.raw", FS.XPack);
public JittedMethod(ApiHostUri host, MethodInfo method, MemoryAddress location = default) { Host = host; Method = method; Location = location; }