From 8239459b68cea74433860587fd55fb8f6d48721a Mon Sep 17 00:00:00 2001 From: Koudai Aono Date: Sat, 4 Sep 2021 15:49:58 +0900 Subject: [PATCH 1/4] Fix NullPointerException in PydanticTypeCheckerInspection.kt --- src/com/koxudaxi/pydantic/PydanticTypeCheckerInspection.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/koxudaxi/pydantic/PydanticTypeCheckerInspection.kt b/src/com/koxudaxi/pydantic/PydanticTypeCheckerInspection.kt index 4e44eab6..178853a3 100644 --- a/src/com/koxudaxi/pydantic/PydanticTypeCheckerInspection.kt +++ b/src/com/koxudaxi/pydantic/PydanticTypeCheckerInspection.kt @@ -110,7 +110,7 @@ class PydanticTypeCheckerInspection : PyTypeCheckerInspection() { for ((argument, parameter) in PyCallExpressionHelper.getRegularMappedParameters(mappedParameters)) { val expected = parameter.getArgumentType(myTypeEvalContext) val promotedToLiteral = promoteToLiteral(argument, expected, myTypeEvalContext) - val actual = promotedToLiteral ?: myTypeEvalContext.getType(argument)!! + val actual = promotedToLiteral ?: myTypeEvalContext.getType(argument) val strictMatched = matchParameterAndArgument(expected, actual, substitutions) val strictResult = AnalyzeArgumentResult(expected, actual, strictMatched) if (!strictResult.isMatched) { From 897a6772c85d65f4fcbe3dc446acbd34ee925249 Mon Sep 17 00:00:00 2001 From: Koudai Aono Date: Sat, 4 Sep 2021 16:31:08 +0900 Subject: [PATCH 2/4] Add unittest --- testData/typecheckerinspection/acceptableType.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/testData/typecheckerinspection/acceptableType.py b/testData/typecheckerinspection/acceptableType.py index c3a8be1f..2861b6f9 100644 --- a/testData/typecheckerinspection/acceptableType.py +++ b/testData/typecheckerinspection/acceptableType.py @@ -10,3 +10,9 @@ class A(BaseModel): A(a=str('123')) A(a=int(123)) + +def get_unknown_type_value(): + raise Exception() + +A(a=get_unknown_type_value()) +A(a=None) \ No newline at end of file From 374d9ad0171a4cc3d6aaa2e0ab04bad9fd9b0e89 Mon Sep 17 00:00:00 2001 From: Koudai Aono Date: Sat, 4 Sep 2021 16:35:14 +0900 Subject: [PATCH 3/4] Update history --- resources/META-INF/plugin.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/resources/META-INF/plugin.xml b/resources/META-INF/plugin.xml index 6302c9c9..c566c794 100644 --- a/resources/META-INF/plugin.xml +++ b/resources/META-INF/plugin.xml @@ -1,9 +1,14 @@ com.koxudaxi.pydantic Pydantic - 0.3.5 + 0.3.6 Koudai Aono @koxudaxi version 0.3.6 +

BugFixes

+
    +
  • Fix NullPointerException in PydanticTypeCheckerInspection.kt [#362]
  • +

version 0.3.5

Features

    From 51a3dad9f519823dd6bc9738b52e7d025bfe2b73 Mon Sep 17 00:00:00 2001 From: Koudai Aono Date: Sat, 4 Sep 2021 18:11:59 +0900 Subject: [PATCH 4/4] Update unittest --- testData/typecheckerinspection/acceptableType.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/testData/typecheckerinspection/acceptableType.py b/testData/typecheckerinspection/acceptableType.py index 2861b6f9..ce242fa1 100644 --- a/testData/typecheckerinspection/acceptableType.py +++ b/testData/typecheckerinspection/acceptableType.py @@ -15,4 +15,9 @@ def get_unknown_type_value(): raise Exception() A(a=get_unknown_type_value()) -A(a=None) \ No newline at end of file +A(a=None) + +class B: + pass + +A(a=B())