Lines Matching defs:binaryExpression
311 void CheckerContext::CheckBinarySmartCastCondition(ir::BinaryExpression *const binaryExpression) noexcept
313 if (!IsInTestExpression() || !IsInValidChain(binaryExpression->Parent())) {
317 if (auto const operatorType = binaryExpression->OperatorType(); operatorType == lexer::TokenType::KEYW_INSTANCEOF) {
319 if (binaryExpression->Left()->IsIdentifier()) {
320 testCondition_ = {binaryExpression->Left()->AsIdentifier()->Variable(),
321 binaryExpression->Right()->TsType()};
328 CheckSmartCastEqualityCondition(binaryExpression);
333 void CheckerContext::CheckSmartCastEqualityCondition(ir::BinaryExpression *const binaryExpression) noexcept
337 auto const operatorType = binaryExpression->OperatorType();
355 if (binaryExpression->Left()->IsIdentifier()) {
356 getTestedType(binaryExpression->Left()->AsIdentifier(), binaryExpression->Right());
359 if (testedType == nullptr && binaryExpression->Right()->IsIdentifier()) {
360 getTestedType(binaryExpression->Right()->AsIdentifier(), binaryExpression->Left());