示例#1
0
            /// <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);
                }
            }
示例#2
0
 /// <summary>Construct an initially empty PackedIndex; you must await Initialize() for the data to be populated.</summary>
 public PackedIndex(PackedExecution packedExecution)
 {
     PackedExecution = packedExecution;
 }