Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod SetTimeStampDoFinalizeDone (LibOpt_SnapshotComponent snapshot, LibOpt_Run run) 
 | 
{ 
 | 
  Description: 
 | 
  [* 
 | 
    Set the `PrecisionTimeStampDoFinalizeDone` attribute. 
 | 
    This method should be called after all 'Finalize' methods of the `LibOpt_SnapshotComponent.Task` have been executed. This includes `LibOpt_Component.OnFinalize`, which is called when a `LibOpt_Task` is deleted. 
 | 
    This method is also called by the `LibOpt_Task.HandleExceptionFinalize` method, to ensure that the execution time of the finalize part of a component is also correct after an exception. 
 | 
  *] 
 | 
  TextBody: 
 | 
  [* 
 | 
    // evr3 Sep-14-2020 (created) 
 | 
     
 | 
    // It shouldn't be possible that the PrecisionTimeStampDoFinalize attribute is not yet set.  
 | 
    // However, this method can also be called by HandleExceptionFinalize right after an exception occurs. 
 | 
    // Therefore, it doesn't hurt to do check this anyway. 
 | 
    if( run.HasSnapshots() and snapshot.PrecisionTimeStampDoFinalize() > 0 ) 
 | 
    { 
 | 
      snapshot.PrecisionTimeStampDoFinalizeDone( OS::PrecisionCounter() / OS::PrecisionCounterFrequency() ); 
 | 
    } 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |