@@ -155,35 +155,20 @@ static bool isClassStructUnionEnumStart(const Token * tok)
155155
156156// ---------------------------------------------------------------------------
157157
158- Tokenizer::Tokenizer () :
159- list(nullptr ),
160- mSettings(nullptr ),
161- mErrorLogger(nullptr ),
162- mSymbolDatabase(nullptr ),
163- mTemplateSimplifier(nullptr ),
164- mVarId(0 ),
165- mUnnamedCount(0 ),
166- mCodeWithTemplates(false ), // is there any templates?
167- mTimerResults(nullptr ),
168- mPreprocessor(nullptr )
169- {}
170-
171- Tokenizer::Tokenizer (const Settings *settings, ErrorLogger *errorLogger) :
158+ Tokenizer::Tokenizer (const Settings *settings, ErrorLogger *errorLogger, const Preprocessor *preprocessor) :
172159 list(settings),
173160 mSettings(settings),
174161 mErrorLogger(errorLogger),
175162 mSymbolDatabase(nullptr ),
176- mTemplateSimplifier(nullptr ),
163+ mTemplateSimplifier(new TemplateSimplifier( this ) ),
177164 mVarId(0 ),
178165 mUnnamedCount(0 ),
179166 mCodeWithTemplates(false ), // is there any templates?
180167 mTimerResults(nullptr ),
181- mPreprocessor(nullptr )
168+ mPreprocessor(preprocessor )
182169{
183170 // make sure settings are specified
184171 assert (mSettings );
185-
186- mTemplateSimplifier = new TemplateSimplifier (this );
187172}
188173
189174Tokenizer::~Tokenizer ()
@@ -2768,16 +2753,11 @@ bool Tokenizer::simplifyUsing()
27682753bool Tokenizer::createTokens (std::istream &code,
27692754 const std::string& FileName)
27702755{
2771- // make sure settings specified
2772- assert (mSettings );
2773-
27742756 return list.createTokens (code, FileName);
27752757}
27762758
27772759void Tokenizer::createTokens (simplecpp::TokenList&& tokenList)
27782760{
2779- // make sure settings specified
2780- assert (mSettings );
27812761 list.createTokens (std::move (tokenList));
27822762}
27832763
@@ -9860,6 +9840,7 @@ void Tokenizer::simplifyNamespaceAliases()
98609840
98619841bool Tokenizer::hasIfdef (const Token *start, const Token *end) const
98629842{
9843+ assert (mPreprocessor );
98639844 if (!mPreprocessor )
98649845 return false ;
98659846 return std::any_of (mPreprocessor ->getDirectives ().cbegin (), mPreprocessor ->getDirectives ().cend (), [&](const Directive& d) {
0 commit comments