/// <nodoc /> public Builder(PackedExecution packedExecution) { PackedExecution = packedExecution; // these are sorted as much as possible given construction order constraints StringTableBuilder = new PackedTable.StringTable.CachingBuilder(PackedExecution.StringTable); PathTableBuilder = new NameTable.Builder(PackedExecution.PathTable, StringTableBuilder); DirectoryTableBuilder = new DirectoryTable.CachingBuilder(PackedExecution.DirectoryTable, PathTableBuilder); FileTableBuilder = new FileTable.CachingBuilder(PackedExecution.FileTable, PathTableBuilder); PipTableBuilder = new PipTable.Builder(PackedExecution.PipTable, StringTableBuilder); PipExecutionTableBuilder = new PipExecutionTable.Builder <PipExecutionTable>(PackedExecution.PipExecutionTable); ProcessExecutionTableBuilder = new ProcessExecutionTable.Builder <ProcessExecutionTable>(PackedExecution.ProcessExecutionTable); ProcessPipExecutionTableBuilder = new ProcessPipExecutionTable.Builder <ProcessPipExecutionTable>(PackedExecution.ProcessPipExecutionTable); PipTableBuilder = new PipTable.Builder(PackedExecution.PipTable, StringTableBuilder); WorkerTableBuilder = new WorkerTable.CachingBuilder(PackedExecution.WorkerTable, StringTableBuilder); if (packedExecution.ConsumedFiles != null) { ConsumedFilesBuilder = new RelationTable <PipId, FileId> .Builder(packedExecution.ConsumedFiles); DeclaredInputDirectoriesBuilder = new RelationTable <PipId, DirectoryId> .Builder(packedExecution.DeclaredInputDirectories); DeclaredInputFilesBuilder = new RelationTable <PipId, FileId> .Builder(packedExecution.DeclaredInputFiles); DirectoryContentsBuilder = new RelationTable <DirectoryId, FileId> .Builder(packedExecution.DirectoryContents); } }
/// <summary> /// Construct a CachingBuilder. /// </summary> public CachingBuilder(WorkerTable workerTable, PackedTable.StringTable.CachingBuilder stringTableBuilder) : base(workerTable) { m_stringTableBuilder = stringTableBuilder; }
/// <summary> /// Construct a Builder. /// </summary> public Builder(PipTable table, PackedTable.StringTable.CachingBuilder stringTableBuilder) : base(table) { NameTableBuilder = new NameTable.Builder(table.PipNameTable, stringTableBuilder); }