J2K: Avoid to convert to deprecated String methods, namely toByteArray.
This commit is contained in:
@@ -333,8 +333,16 @@ enum class SpecialMethod(val qualifiedClassName: String?, val methodName: String
|
|||||||
},
|
},
|
||||||
|
|
||||||
STRING_GET_BYTES(JAVA_LANG_STRING, "getBytes", null) {
|
STRING_GET_BYTES(JAVA_LANG_STRING, "getBytes", null) {
|
||||||
override fun convertCall(qualifier: PsiExpression?, arguments: Array<PsiExpression>, typeArgumentsConverted: List<Type>, codeConverter: CodeConverter)
|
override fun convertCall(qualifier: PsiExpression?, arguments: Array<PsiExpression>, typeArgumentsConverted: List<Type>, codeConverter: CodeConverter): MethodCallExpression {
|
||||||
= MethodCallExpression.build(codeConverter.convertExpression(qualifier), "toByteArray", codeConverter.convertExpressions(arguments), emptyList(), false)
|
val charsetArg = arguments.lastOrNull()?.check { it.type?.canonicalText == JAVA_LANG_STRING }
|
||||||
|
val convertedArguments = codeConverter.convertExpressions(arguments).map {
|
||||||
|
if (charsetArg != null && it.prototypes?.singleOrNull()?.element == charsetArg)
|
||||||
|
MethodCallExpression.buildNotNull(null, "charset", listOf(it)).assignNoPrototype()
|
||||||
|
else
|
||||||
|
it
|
||||||
|
}
|
||||||
|
return MethodCallExpression.build(codeConverter.convertExpression(qualifier), "toByteArray", convertedArguments, emptyList(), false)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
STRING_GET_CHARS(JAVA_LANG_STRING, "getChars", 4) {
|
STRING_GET_CHARS(JAVA_LANG_STRING, "getChars", 4) {
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ internal class A {
|
|||||||
|
|
||||||
s.toByteArray()
|
s.toByteArray()
|
||||||
s.toByteArray(Charset.forName("utf-8"))
|
s.toByteArray(Charset.forName("utf-8"))
|
||||||
s.toByteArray("utf-8")
|
s.toByteArray(charset("utf-8"))
|
||||||
|
|
||||||
val chars = CharArray(10)
|
val chars = CharArray(10)
|
||||||
s.toCharArray(chars, 0, 1, 11)
|
s.toCharArray(chars, 0, 1, 11)
|
||||||
|
|||||||
Reference in New Issue
Block a user