• Home
  • Raw
  • Download

Lines Matching refs:node

120 void ETSWarningAnalyzer::ETSWarningSuggestFinal(const ir::AstNode *node)  in ETSWarningSuggestFinal()  argument
122 …if (node->IsClassDeclaration() && !program_->NodeContainsETSNolint(node, ETSWarnings::SUGGEST_FINA… in ETSWarningSuggestFinal()
123 if (node->AsClassDeclaration()->Definition()->IsClassDefinition()) { in ETSWarningSuggestFinal()
124 AnalyzeClassDefForFinalModifier(node->AsClassDeclaration()->Definition()); in ETSWarningSuggestFinal()
127 const auto classBody = node->AsClassDeclaration()->Definition()->Body(); in ETSWarningSuggestFinal()
130 …AnalyzeClassMethodForFinalModifier(it->AsMethodDefinition(), node->AsClassDeclaration()->Definitio… in ETSWarningSuggestFinal()
134 node->Iterate([&](auto *childNode) { ETSWarningSuggestFinal(childNode); }); in ETSWarningSuggestFinal()
172 void ETSWarningAnalyzer::ETSWarningsProhibitTopLevelStatements(const ir::AstNode *node) in ETSWarningsProhibitTopLevelStatements() argument
174 if (!node->IsClassDeclaration() || in ETSWarningsProhibitTopLevelStatements()
175 program_->NodeContainsETSNolint(node, ETSWarnings::PROHIBIT_TOP_LEVEL_STATEMENTS)) { in ETSWarningsProhibitTopLevelStatements()
176 node->Iterate([&](auto *childNode) { ETSWarningsProhibitTopLevelStatements(childNode); }); in ETSWarningsProhibitTopLevelStatements()
180 const auto *classDef = node->AsClassDeclaration()->Definition(); in ETSWarningsProhibitTopLevelStatements()
182 node->Iterate([&](auto *childNode) { ETSWarningsProhibitTopLevelStatements(childNode); }); in ETSWarningsProhibitTopLevelStatements()
209 void ETSWarningAnalyzer::ETSWarningBoostEqualityStatement(const ir::AstNode *node) in ETSWarningBoostEqualityStatement() argument
211 ASSERT(node != nullptr); in ETSWarningBoostEqualityStatement()
213 …if (node->IsBinaryExpression() && !program_->NodeContainsETSNolint(node, ETSWarnings::BOOST_EQUALI… in ETSWarningBoostEqualityStatement()
214 const auto binExpr = node->AsBinaryExpression(); in ETSWarningBoostEqualityStatement()
218 … ETSThrowWarning("Boost Equality Statement. Change sides of binary expression", node->Start()); in ETSWarningBoostEqualityStatement()
222 node->Iterate([&](auto *childNode) { ETSWarningBoostEqualityStatement(childNode); }); in ETSWarningBoostEqualityStatement()
225 void ETSWarningAnalyzer::ETSWarningRemoveAsync(const ir::AstNode *node) in ETSWarningRemoveAsync() argument
227 …if (node->IsMethodDefinition() && !program_->NodeContainsETSNolint(node, ETSWarnings::REMOVE_ASYNC… in ETSWarningRemoveAsync()
228 const auto methodDefinition = node->AsMethodDefinition(); in ETSWarningRemoveAsync()
233 node->Iterate([&](auto *childNode) { ETSWarningRemoveAsync(childNode); }); in ETSWarningRemoveAsync()
236 void ETSWarningAnalyzer::ETSWarningRemoveLambda(const ir::AstNode *node) in ETSWarningRemoveLambda() argument
238 ASSERT(node != nullptr); in ETSWarningRemoveLambda()
240 …if (node->IsArrowFunctionExpression() && !program_->NodeContainsETSNolint(node, ETSWarnings::REMOV… in ETSWarningRemoveLambda()
241 ETSThrowWarning("Replace the lambda function with a regular function", node->Start()); in ETSWarningRemoveLambda()
243 node->Iterate([&](auto *childNode) { ETSWarningRemoveLambda(childNode); }); in ETSWarningRemoveLambda()
246 void ETSWarningAnalyzer::CheckTypeOfBoxing(const ir::AstNode *node) in CheckTypeOfBoxing() argument
248 ASSERT(node != nullptr); in CheckTypeOfBoxing()
249 const auto flags = node->GetBoxingUnboxingFlags(); in CheckTypeOfBoxing()
253 … ETSThrowWarning("Implicit Boxing to Int" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfBoxing()
256 … ETSThrowWarning("Implicit Boxing to Boolean" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfBoxing()
259 … ETSThrowWarning("Implicit Boxing to Byte" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfBoxing()
262 … ETSThrowWarning("Implicit Boxing to Char" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfBoxing()
265 … ETSThrowWarning("Implicit Boxing to Double" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfBoxing()
268 … ETSThrowWarning("Implicit Boxing to Float" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfBoxing()
271 … ETSThrowWarning("Implicit Boxing to Long" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfBoxing()
274 … ETSThrowWarning("Implicit Boxing to Short" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfBoxing()
282 void ETSWarningAnalyzer::CheckTypeOfUnboxing(const ir::AstNode *node) in CheckTypeOfUnboxing() argument
284 ASSERT(node != nullptr); in CheckTypeOfUnboxing()
285 const auto flags = node->GetBoxingUnboxingFlags(); in CheckTypeOfUnboxing()
289 … ETSThrowWarning("Implicit Unboxing to int" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfUnboxing()
292 … ETSThrowWarning("Implicit Unboxing to boolean" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfUnboxing()
295 … ETSThrowWarning("Implicit Unboxing to byte" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfUnboxing()
298 … ETSThrowWarning("Implicit Unboxing to char" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfUnboxing()
301 … ETSThrowWarning("Implicit Unboxing to double" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfUnboxing()
304 … ETSThrowWarning("Implicit Unboxing to float" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfUnboxing()
307 … ETSThrowWarning("Implicit Unboxing to long" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfUnboxing()
310 … ETSThrowWarning("Implicit Unboxing to short" + GetBoxingUnboxingType(node), node->Start()); in CheckTypeOfUnboxing()
318 void ETSWarningAnalyzer::CheckTypeOfBoxingUnboxing(const ir::AstNode *node) in CheckTypeOfBoxingUnboxing() argument
320 ASSERT(node != nullptr); in CheckTypeOfBoxingUnboxing()
322 CheckTypeOfBoxing(node); in CheckTypeOfBoxingUnboxing()
323 CheckTypeOfUnboxing(node); in CheckTypeOfBoxingUnboxing()
326 std::string ETSWarningAnalyzer::GetBoxingUnboxingType(const ir::AstNode *node) in GetBoxingUnboxingType() argument
328 ASSERT(node->Parent() != nullptr); in GetBoxingUnboxingType()
329 switch (node->Parent()->Type()) { in GetBoxingUnboxingType()
359 void ETSWarningAnalyzer::ETSWarningImplicitBoxingUnboxing(const ir::AstNode *node) in ETSWarningImplicitBoxingUnboxing() argument
361 ASSERT(node != nullptr); in ETSWarningImplicitBoxingUnboxing()
363 switch (node->Type()) { in ETSWarningImplicitBoxingUnboxing()
372 if (!program_->NodeContainsETSNolint(node, ETSWarnings::IMPLICIT_BOXING_UNBOXING)) { in ETSWarningImplicitBoxingUnboxing()
373 node->Iterate([this](auto *childNode) { CheckTypeOfBoxingUnboxing(childNode); }); in ETSWarningImplicitBoxingUnboxing()
382 node->Iterate([&](auto *childNode) { ETSWarningImplicitBoxingUnboxing(childNode); }); in ETSWarningImplicitBoxingUnboxing()