Пример #1
0
        public void AddAnalysis(ICFGAnalysis analysis, uint priority)
        {
            Preconditions.NotNull(analysis, "analysis");
            string message = "Two analyses cannot have the same priority (" + priority + ").";

            Preconditions.IsFalse(_analyses.ContainsKey(priority), message, "priority");

            _analyses.Add(priority, analysis);
        }
Пример #2
0
 public CFGTraverser(ITraversalTechnique traversalStrategy, ICFGAnalysis analysis, IWorklist<CFGBlock> worklist)
 {
     Preconditions.NotNull(traversalStrategy, "traversalStrategy");
     Preconditions.NotNull(analysis, "analysis");
     Preconditions.NotNull(worklist, "worklist");
     this._traversalTechnique = traversalStrategy;
     this._analysis = analysis;
     this._workList = worklist;
     this._visited = new HashSet<CFGBlock>();
 }
Пример #3
0
 public CFGTraverser(ITraversalTechnique traversalStrategy, ICFGAnalysis analysis, IWorklist <CFGBlock> worklist)
 {
     Preconditions.NotNull(traversalStrategy, "traversalStrategy");
     Preconditions.NotNull(analysis, "analysis");
     Preconditions.NotNull(worklist, "worklist");
     this._traversalTechnique = traversalStrategy;
     this._analysis           = analysis;
     this._workList           = worklist;
     this._visited            = new HashSet <CFGBlock>();
 }