void (PsiExpression expression, PsiExpression toFail, Pair<PsiType, PsiType> typePair) { final TypeConversionDescriptorBase conversion = myLabeler.getRules().findConversion(typePair.getFirst(), typePair.getSecond(), null, expression, myLabeler); if (conversion == null) { myLabeler.markFailedConversion(typePair.getSecond(), toFail); } else { myLabeler.setConversionMapping(expression, conversion); final PsiType psiType = myTypeEvaluator.evaluateType(expression); LOG.assertTrue(psiType != null, expression); myTypeEvaluator.setType(new TypeMigrationUsageInfo(expression), psiType); } }