Reko.Scanning.Scanner.EnqueueUserProcedure C# (CSharp) Method

EnqueueUserProcedure() public method

public EnqueueUserProcedure ( Address addr, FunctionType sig ) : void
addr Address
sig FunctionType
return 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));
        }

Same methods

Scanner::EnqueueUserProcedure ( Procedure_v1 sp ) : void

Usage Example

Beispiel #1
0
 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();
 }
All Usage Examples Of Reko.Scanning.Scanner::EnqueueUserProcedure