internal void RunRefinements(IProject targetProject) { State = ESimState.DesignAnalysis; while (_refinementQ.Any()) { BeginRefinement(); IRefinementCycle refine = _refinementQ.Dequeue(); refine.Refine(this, targetProject); Elaborate(); State = ESimState.DesignAnalysis; BehavioralAnalyzer.DoBehavioralAnalysis(this); } State = ESimState.RefinementsCompleted; }
/// <summary> /// Enqueues a design refinement. /// </summary> /// <param name="refinement">refinement implementation</param> public void QueueRefinement(IRefinementCycle refinement) { _refinementQ.Enqueue(refinement); }