private void BuildTest(Address addrBase, IPlatform platform , Action<X86Assembler> asmProg)
{
var sc = new ServiceContainer();
sc.AddService<DecompilerEventListener>(new FakeDecompilerEventListener());
sc.AddService<DecompilerHost>(new FakeDecompilerHost());
sc.AddService<IFileSystemService>(new FileSystemServiceImpl());
var entryPoints = new List<EntryPoint>();
var asm = new X86Assembler(sc, platform, addrBase, entryPoints);
asmProg(asm);
var lr = asm.GetImage();
program = new Program(
lr.Image,
lr.ImageMap,
arch,
platform);
var project = new Project { Programs = { program } };
scanner = new Scanner(
program,
new Dictionary<Address, ProcedureSignature>(),
new ImportResolver(project),
sc);
scanner.EnqueueEntryPoint(new EntryPoint(addrBase, arch.CreateProcessorState()));
scanner.ScanImage();
}