@@ -3407,30 +3407,21 @@ bool Tokenizer::simplifyTokens1(const std::string &configuration)
34073407 return false ;
34083408 }
34093409
3410- if (mTimerResults ) {
3411- Timer t (" Tokenizer::simplifyTokens1::createAst" , mSettings .showtime , mTimerResults );
3412- list.createAst ();
3413- list.validateAst (mSettings .debugnormal );
3414- } else {
3410+ const SHOWTIME_MODES showTime = mTimerResults ? mSettings .showtime : SHOWTIME_MODES::SHOWTIME_NONE;
3411+
3412+ Timer::run (" Tokenizer::simplifyTokens1::createAst" , showTime, mTimerResults , [&]() {
34153413 list.createAst ();
34163414 list.validateAst (mSettings .debugnormal );
3417- }
3415+ });
34183416
3419- if (mTimerResults ) {
3420- Timer t (" Tokenizer::simplifyTokens1::createSymbolDatabase" , mSettings .showtime , mTimerResults );
3417+ Timer::run (" Tokenizer::simplifyTokens1::createSymbolDatabase" , showTime, mTimerResults , [&]() {
34213418 createSymbolDatabase ();
3422- } else {
3423- createSymbolDatabase ();
3424- }
3419+ });
34253420
3426- if (mTimerResults ) {
3427- Timer t (" Tokenizer::simplifyTokens1::setValueType" , mSettings .showtime , mTimerResults );
3428- mSymbolDatabase ->setValueTypeInTokenList (false );
3429- mSymbolDatabase ->setValueTypeInTokenList (true );
3430- } else {
3421+ Timer::run (" Tokenizer::simplifyTokens1::setValueType" , showTime, mTimerResults , [&]() {
34313422 mSymbolDatabase ->setValueTypeInTokenList (false );
34323423 mSymbolDatabase ->setValueTypeInTokenList (true );
3433- }
3424+ });
34343425
34353426 if (!mSettings .buildDir .empty ())
34363427 Summaries::create (*this , configuration);
@@ -3441,12 +3432,9 @@ bool Tokenizer::simplifyTokens1(const std::string &configuration)
34413432 const bool doValueFlow = !disableValueflowEnv || (std::strcmp (disableValueflowEnv, " 1" ) != 0 );
34423433
34433434 if (doValueFlow) {
3444- if (mTimerResults ) {
3445- Timer t (" Tokenizer::simplifyTokens1::ValueFlow" , mSettings .showtime , mTimerResults );
3435+ Timer::run (" Tokenizer::simplifyTokens1::ValueFlow" , showTime, mTimerResults , [&]() {
34463436 ValueFlow::setValues (list, *mSymbolDatabase , mErrorLogger , mSettings , mTimerResults );
3447- } else {
3448- ValueFlow::setValues (list, *mSymbolDatabase , mErrorLogger , mSettings , mTimerResults );
3449- }
3437+ });
34503438
34513439 arraySizeAfterValueFlow ();
34523440 }
@@ -5557,13 +5545,12 @@ bool Tokenizer::simplifyTokenList1(const char FileName[])
55575545
55585546 validate ();
55595547
5548+ const SHOWTIME_MODES showTime = mTimerResults ? mSettings .showtime : SHOWTIME_MODES::SHOWTIME_NONE;
5549+
55605550 // Bail out if code is garbage
5561- if (mTimerResults ) {
5562- Timer t (" Tokenizer::simplifyTokens1::simplifyTokenList1::findGarbageCode" , mSettings .showtime , mTimerResults );
5551+ Timer::run (" Tokenizer::simplifyTokens1::simplifyTokenList1::findGarbageCode" , showTime, mTimerResults , [&]() {
55635552 findGarbageCode ();
5564- } else {
5565- findGarbageCode ();
5566- }
5553+ });
55675554
55685555 checkConfiguration ();
55695556
@@ -5718,12 +5705,9 @@ bool Tokenizer::simplifyTokenList1(const char FileName[])
57185705 simplifyTypedefLHS ();
57195706
57205707 // typedef..
5721- if (mTimerResults ) {
5722- Timer t (" Tokenizer::simplifyTokens1::simplifyTokenList1::simplifyTypedef" , mSettings .showtime , mTimerResults );
5708+ Timer::run (" Tokenizer::simplifyTokens1::simplifyTokenList1::simplifyTypedef" , showTime, mTimerResults , [&]() {
57235709 simplifyTypedef ();
5724- } else {
5725- simplifyTypedef ();
5726- }
5710+ });
57275711
57285712 // using A = B;
57295713 while (simplifyUsing ())
@@ -5815,12 +5799,9 @@ bool Tokenizer::simplifyTokenList1(const char FileName[])
58155799 simplifyTypeIntrinsics ();
58165800
58175801 // Handle templates..
5818- if (mTimerResults ) {
5819- Timer t (" Tokenizer::simplifyTokens1::simplifyTokenList1::simplifyTemplates" , mSettings .showtime , mTimerResults );
5820- simplifyTemplates ();
5821- } else {
5802+ Timer::run (" Tokenizer::simplifyTokens1::simplifyTokenList1::simplifyTemplates" , showTime, mTimerResults , [&]() {
58225803 simplifyTemplates ();
5823- }
5804+ });
58245805
58255806 // The simplifyTemplates have inner loops
58265807 if (Settings::terminated ())
@@ -5845,12 +5826,9 @@ bool Tokenizer::simplifyTokenList1(const char FileName[])
58455826
58465827 validate (); // #6772 "segmentation fault (invalid code) in Tokenizer::setVarId"
58475828
5848- if (mTimerResults ) {
5849- Timer t (" Tokenizer::simplifyTokens1::simplifyTokenList1::setVarId" , mSettings .showtime , mTimerResults );
5850- setVarId ();
5851- } else {
5829+ Timer::run (" Tokenizer::simplifyTokens1::simplifyTokenList1::setVarId" , showTime, mTimerResults , [&](){
58525830 setVarId ();
5853- }
5831+ });
58545832
58555833 // Link < with >
58565834 createLinks2 ();
0 commit comments