public Sifter(string[] args) { var sc = new ServiceContainer(); testGen = new TestGenerationService(sc) { OutputDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) }; fsSvc = new FileSystemServiceImpl(); this.cfgSvc = RekoConfigurationService.Load(sc, "reko/reko.config"); sc.AddService <ITestGenerationService>(testGen); sc.AddService <IFileSystemService>(fsSvc); sc.AddService <IConfigurationService>(cfgSvc); this.processInstr = new Action <byte[], MachineInstruction?>(ProcessInstruction); IProcessorArchitecture?arch; (arch, this.instrRenderer) = ProcessArgs(args); if (arch is null) { throw new ApplicationException("Unable to load Reko architecture."); } this.arch = arch; this.baseAddress = Address.Create(arch.PointerType, 0x00000000); //$TODO allow customization? this.progress = new Progress(); }
public MutableTestGenerationService(ITestGenerationService svc) { this.svc = svc; this.lockObject = new object(); }