Skip to content

Commit 62cf897

Browse files
[Andrew Polyakov] Do not substitute second parameter for NDArray for mypy
1 parent 0d3dcd2 commit 62cf897

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

utbot-python/src/main/kotlin/org/utbot/python/framework/codegen/model/PythonCodeGenerator.kt

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,18 @@ class PythonCodeGenerator(
107107
imports.forEach { renderer.renderPythonImport(it) }
108108

109109
val paramNames = method.argumentsNames
110-
val parameters = paramNames.map { argument ->
111-
"${argument}: ${methodAnnotations[argument]?.pythonTypeRepresentation() ?: pythonAnyType.pythonTypeRepresentation()}"
110+
val parameters: List<String> = paramNames.map { argument ->
111+
if (methodAnnotations[argument]?.meta.toString() == "numpy.ndarray") {
112+
val re = """, .*[^]]""".toRegex()
113+
val type = re.find(methodAnnotations[argument]?.pythonTypeRepresentation().toString())?.value
114+
val newAnnotation: String =
115+
type?.let {
116+
methodAnnotations[argument]?.pythonTypeRepresentation().toString()
117+
.replace(it, ", ${pythonAnyType.pythonTypeRepresentation()}")
118+
} ?: pythonAnyType.pythonTypeRepresentation()
119+
"${argument}: $newAnnotation"
120+
} else
121+
"${argument}: ${methodAnnotations[argument]?.pythonTypeRepresentation() ?: pythonAnyType.pythonTypeRepresentation()}"
112122
}
113123

114124
val functionPrefix = "__mypy_check"

0 commit comments

Comments
 (0)