public EnqueueUserProcedure ( Address addr, FunctionType sig ) : void | ||
addr | Address | |
sig | FunctionType | |
Résultat | void |
public void EnqueueUserProcedure(Address addr, FunctionType sig)
{
if (program.Procedures.ContainsKey(addr))
return; // Already scanned. Do nothing.
var proc = EnsureProcedure(addr, null);
proc.Signature = sig;
queue.Enqueue(PriorityEntryPoint, new ProcedureWorkItem(this, program, addr, proc.Name));
}
Scanner::EnqueueUserProcedure ( |
private void DoRewriteCore() { Project project = LoadProject(); project.Programs.Add(prog); scanner = new Scanner(prog, new Dictionary<Address, ProcedureSignature>(), new ImportResolver(project), new FakeDecompilerEventListener()); EntryPoint ep = new EntryPoint(baseAddress, prog.Architecture.CreateProcessorState()); scanner.EnqueueEntryPoint(ep); var program = project.Programs[0]; foreach (Procedure_v1 sp in program.UserProcedures.Values) { scanner.EnqueueUserProcedure(sp); } scanner.ScanImage(); }