[FE] Make message of SAFE_CALL_WILL_CHANGE_NULLABILITY warning more clear

^KT-46860
This commit is contained in:
Dmitriy Novozhilov
2022-03-28 11:35:03 +04:00
committed by teamcity
parent 078acb1bfe
commit 60eff871dc
2 changed files with 13 additions and 2 deletions
@@ -1693,7 +1693,13 @@ object FirErrorsDefaultMessages : BaseDiagnosticRendererFactory() {
map.put(NOT_NULL_ASSERTION_ON_LAMBDA_EXPRESSION, "Non-null assertion (!!) is called on a lambda expression")
map.put(NOT_NULL_ASSERTION_ON_CALLABLE_REFERENCE, "Non-null assertion (!!) is called on a callable reference expression")
map.put(UNNECESSARY_SAFE_CALL, "Unnecessary safe call on a non-null receiver of type {0}", RENDER_TYPE)
map.put(SAFE_CALL_WILL_CHANGE_NULLABILITY, "Safe call on a non-null receiver will have nullable type in future releases")
map.put(
SAFE_CALL_WILL_CHANGE_NULLABILITY,
"""
|Safe call on a non-null receiver will have nullable type in future releases
| Right now safe call on non nullable receiver has not null type: SomeType
| In future releases all safe calls will have nullable type: SomeType?""".trimMargin()
)
map.put(UNEXPECTED_SAFE_CALL, "Safe-call is not allowed here")
map.put(USELESS_ELVIS, "Elvis operator (?:) always returns the left operand of non-nullable type {0}", RENDER_TYPE)
map.put(USELESS_ELVIS_RIGHT_IS_NULL, "Right operand of elvis operator (?:) is useless if it is null")
@@ -738,7 +738,12 @@ public class DefaultErrorMessages {
MAP.put(EXCEPTION_FROM_ANALYZER, "Internal Error occurred while analyzing this expression:\n{0}", THROWABLE);
MAP.put(MISSING_STDLIB, "{0}. Ensure you have the standard Kotlin library in dependencies", STRING);
MAP.put(UNNECESSARY_SAFE_CALL, "Unnecessary safe call on a non-null receiver of type {0}", RENDER_TYPE);
MAP.put(SAFE_CALL_WILL_CHANGE_NULLABILITY, "Safe call on a non-null receiver will have nullable type in future releases");
MAP.put(
SAFE_CALL_WILL_CHANGE_NULLABILITY,
"Safe call on a non-null receiver will have nullable type in future releases\n" +
" Right now safe call on non nullable receiver has not null type: `\"hello\"?.length` has type Int\n" +
" In future releases all safe calls will have nullable type: `\"hello\"?.length` will have type Int?"
);
MAP.put(UNEXPECTED_SAFE_CALL, "Safe-call is not allowed here");
MAP.put(UNNECESSARY_NOT_NULL_ASSERTION, "Unnecessary non-null assertion (!!) on a non-null receiver of type {0}", RENDER_TYPE);
MAP.put(NOT_NULL_ASSERTION_ON_LAMBDA_EXPRESSION, "Non-null assertion (!!) is called on a lambda expression");