diff --git a/.basedpyright/baseline.json b/.basedpyright/baseline.json index 13f159f..f25103f 100644 --- a/.basedpyright/baseline.json +++ b/.basedpyright/baseline.json @@ -271,86 +271,6 @@ } ], "./pymbolic/algorithm.py": [ - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 4, - "endColumn": 17, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 18, - "endColumn": 19, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 18, - "endColumn": 19, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 21, - "endColumn": 22, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 21, - "endColumn": 22, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 24, - "endColumn": 27, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 12, - "endColumn": 15, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 23, - "endColumn": 26, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 8, - "endColumn": 9, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 11, - "endColumn": 14, - "lineCount": 1 - } - }, { "code": "reportUnknownParameterType", "range": { @@ -3872,10 +3792,10 @@ } }, { - "code": "reportUnknownParameterType", + "code": "reportAny", "range": { - "startColumn": 8, - "endColumn": 21, + "startColumn": 15, + "endColumn": 39, "lineCount": 1 } }, @@ -3931,63 +3851,55 @@ "code": "reportImplicitOverride", "range": { "startColumn": 8, - "endColumn": 16, + "endColumn": 36, "lineCount": 1 } }, { - "code": "reportUnknownParameterType", + "code": "reportUnannotatedClassAttribute", "range": { "startColumn": 4, - "endColumn": 24, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 25, - "endColumn": 36, + "endColumn": 35, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportAny", "range": { - "startColumn": 25, - "endColumn": 36, + "startColumn": 16, + "endColumn": 19, "lineCount": 1 } }, { - "code": "reportUnknownParameterType", + "code": "reportAny", "range": { - "startColumn": 38, - "endColumn": 43, + "startColumn": 27, + "endColumn": 30, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnknownMemberType", "range": { - "startColumn": 38, - "endColumn": 43, + "startColumn": 19, + "endColumn": 29, "lineCount": 1 } }, { - "code": "reportUnknownVariableType", + "code": "reportUnknownArgumentType", "range": { - "startColumn": 12, - "endColumn": 18, + "startColumn": 19, + "endColumn": 29, "lineCount": 1 } }, { "code": "reportUnknownMemberType", "range": { - "startColumn": 30, - "endColumn": 49, + "startColumn": 55, + "endColumn": 65, "lineCount": 1 } }, @@ -3995,271 +3907,175 @@ "code": "reportUnknownVariableType", "range": { "startColumn": 12, - "endColumn": 23, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 11, - "endColumn": 17, - "lineCount": 1 - } - }, - { - "code": "reportMissingTypeArgument", - "range": { - "startColumn": 20, - "endColumn": 30, + "endColumn": 22, "lineCount": 1 } }, { - "code": "reportImplicitOverride", + "code": "reportUnknownMemberType", "range": { - "startColumn": 8, + "startColumn": 26, "endColumn": 36, "lineCount": 1 } }, { - "code": "reportMissingParameterType", - "range": { - "startColumn": 37, - "endColumn": 43, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 45, - "endColumn": 51, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", + "code": "reportAny", "range": { - "startColumn": 53, - "endColumn": 58, + "startColumn": 57, + "endColumn": 59, "lineCount": 1 } }, { - "code": "reportUnannotatedClassAttribute", + "code": "reportUnknownArgumentType", "range": { - "startColumn": 4, - "endColumn": 35, + "startColumn": 73, + "endColumn": 77, "lineCount": 1 } }, { - "code": "reportMissingTypeArgument", + "code": "reportUnknownArgumentType", "range": { - "startColumn": 24, - "endColumn": 34, + "startColumn": 66, + "endColumn": 76, "lineCount": 1 } }, { "code": "reportUnknownParameterType", "range": { - "startColumn": 8, - "endColumn": 36, - "lineCount": 1 - } - }, - { - "code": "reportImplicitOverride", - "range": { - "startColumn": 8, - "endColumn": 36, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 37, - "endColumn": 43, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 45, - "endColumn": 51, + "startColumn": 24, + "endColumn": 41, "lineCount": 1 } }, { "code": "reportMissingParameterType", "range": { - "startColumn": 53, - "endColumn": 58, - "lineCount": 1 - } - }, - { - "code": "reportImplicitOverride", - "range": { - "startColumn": 8, - "endColumn": 39, + "startColumn": 24, + "endColumn": 41, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnknownParameterType", "range": { - "startColumn": 40, - "endColumn": 46, + "startColumn": 43, + "endColumn": 57, "lineCount": 1 } }, { "code": "reportMissingParameterType", "range": { - "startColumn": 48, - "endColumn": 54, + "startColumn": 43, + "endColumn": 57, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnusedParameter", "range": { - "startColumn": 56, - "endColumn": 61, + "startColumn": 43, + "endColumn": 57, "lineCount": 1 } }, { - "code": "reportMissingTypeArgument", + "code": "reportUnknownVariableType", "range": { "startColumn": 20, - "endColumn": 30, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 36, + "endColumn": 28, "lineCount": 1 } }, { - "code": "reportImplicitOverride", + "code": "reportUnknownMemberType", "range": { - "startColumn": 8, - "endColumn": 36, + "startColumn": 31, + "endColumn": 48, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportAttributeAccessIssue", "range": { "startColumn": 37, - "endColumn": 43, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 45, - "endColumn": 51, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 53, - "endColumn": 58, + "endColumn": 48, "lineCount": 1 } }, { - "code": "reportImplicitOverride", + "code": "reportUnknownVariableType", "range": { - "startColumn": 8, - "endColumn": 39, + "startColumn": 16, + "endColumn": 24, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnknownVariableType", "range": { - "startColumn": 40, - "endColumn": 46, + "startColumn": 20, + "endColumn": 29, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnknownVariableType", "range": { - "startColumn": 48, - "endColumn": 54, + "startColumn": 20, + "endColumn": 29, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnknownMemberType", "range": { - "startColumn": 56, - "endColumn": 61, + "startColumn": 16, + "endColumn": 28, "lineCount": 1 } }, { - "code": "reportMissingTypeArgument", + "code": "reportUnknownMemberType", "range": { - "startColumn": 30, - "endColumn": 40, + "startColumn": 16, + "endColumn": 28, "lineCount": 1 } }, { - "code": "reportUnknownParameterType", + "code": "reportUnknownArgumentType", "range": { - "startColumn": 8, - "endColumn": 36, + "startColumn": 23, + "endColumn": 24, "lineCount": 1 } }, { - "code": "reportImplicitOverride", + "code": "reportUnknownVariableType", "range": { - "startColumn": 8, + "startColumn": 35, "endColumn": 36, "lineCount": 1 } }, { - "code": "reportMissingParameterType", - "range": { - "startColumn": 37, - "endColumn": 43, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", + "code": "reportUnknownArgumentType", "range": { - "startColumn": 45, - "endColumn": 51, + "startColumn": 52, + "endColumn": 57, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnknownArgumentType", "range": { - "startColumn": 53, - "endColumn": 58, + "startColumn": 36, + "endColumn": 41, "lineCount": 1 } }, @@ -4267,39 +4083,39 @@ "code": "reportImplicitOverride", "range": { "startColumn": 8, - "endColumn": 39, + "endColumn": 15, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnknownMemberType", "range": { - "startColumn": 40, - "endColumn": 46, + "startColumn": 15, + "endColumn": 29, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportImplicitOverride", "range": { - "startColumn": 48, - "endColumn": 54, + "startColumn": 8, + "endColumn": 16, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnknownParameterType", "range": { - "startColumn": 56, - "endColumn": 61, + "startColumn": 8, + "endColumn": 15, "lineCount": 1 } }, { "code": "reportMissingTypeArgument", "range": { - "startColumn": 31, - "endColumn": 41, + "startColumn": 25, + "endColumn": 36, "lineCount": 1 } }, @@ -4307,1490 +4123,210 @@ "code": "reportUnknownParameterType", "range": { "startColumn": 8, - "endColumn": 36, + "endColumn": 15, "lineCount": 1 } }, { - "code": "reportImplicitOverride", + "code": "reportUnknownParameterType", "range": { - "startColumn": 8, - "endColumn": 36, + "startColumn": 22, + "endColumn": 27, "lineCount": 1 } }, { "code": "reportMissingParameterType", "range": { - "startColumn": 37, - "endColumn": 43, + "startColumn": 22, + "endColumn": 27, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportMissingTypeArgument", "range": { - "startColumn": 45, - "endColumn": 51, + "startColumn": 32, + "endColumn": 43, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnknownArgumentType", "range": { - "startColumn": 53, - "endColumn": 58, + "startColumn": 27, + "endColumn": 35, "lineCount": 1 } }, { - "code": "reportImplicitOverride", + "code": "reportUnknownParameterType", "range": { "startColumn": 8, - "endColumn": 39, + "endColumn": 16, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnknownParameterType", "range": { - "startColumn": 40, - "endColumn": 46, + "startColumn": 23, + "endColumn": 28, "lineCount": 1 } }, { "code": "reportMissingParameterType", "range": { - "startColumn": 48, - "endColumn": 54, + "startColumn": 23, + "endColumn": 28, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnknownMemberType", "range": { - "startColumn": 56, - "endColumn": 61, + "startColumn": 15, + "endColumn": 27, "lineCount": 1 } }, { - "code": "reportMissingTypeArgument", + "code": "reportUnknownVariableType", "range": { - "startColumn": 21, - "endColumn": 31, + "startColumn": 15, + "endColumn": 34, "lineCount": 1 } }, { - "code": "reportUnknownParameterType", + "code": "reportUnknownArgumentType", "range": { - "startColumn": 8, - "endColumn": 36, + "startColumn": 28, + "endColumn": 33, "lineCount": 1 } }, { - "code": "reportImplicitOverride", + "code": "reportUnknownParameterType", "range": { "startColumn": 8, - "endColumn": 36, + "endColumn": 15, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnknownParameterType", "range": { - "startColumn": 37, - "endColumn": 43, + "startColumn": 22, + "endColumn": 27, "lineCount": 1 } }, { "code": "reportMissingParameterType", "range": { - "startColumn": 45, - "endColumn": 51, + "startColumn": 22, + "endColumn": 27, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnknownVariableType", "range": { - "startColumn": 53, - "endColumn": 58, + "startColumn": 15, + "endColumn": 30, "lineCount": 1 } }, { - "code": "reportImplicitOverride", + "code": "reportUnknownParameterType", "range": { "startColumn": 8, - "endColumn": 39, + "endColumn": 16, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnknownParameterType", "range": { - "startColumn": 40, - "endColumn": 46, + "startColumn": 23, + "endColumn": 28, "lineCount": 1 } }, { "code": "reportMissingParameterType", "range": { - "startColumn": 48, - "endColumn": 54, + "startColumn": 23, + "endColumn": 28, "lineCount": 1 } }, { - "code": "reportMissingParameterType", + "code": "reportUnknownVariableType", "range": { - "startColumn": 56, - "endColumn": 61, + "startColumn": 15, + "endColumn": 30, "lineCount": 1 } }, { "code": "reportUnknownParameterType", "range": { - "startColumn": 4, - "endColumn": 15, + "startColumn": 22, + "endColumn": 27, "lineCount": 1 } }, { - "code": "reportAny", + "code": "reportMissingParameterType", "range": { - "startColumn": 16, - "endColumn": 19, + "startColumn": 22, + "endColumn": 27, "lineCount": 1 } }, { - "code": "reportMissingTypeArgument", + "code": "reportUnknownParameterType", "range": { - "startColumn": 43, - "endColumn": 54, + "startColumn": 23, + "endColumn": 28, "lineCount": 1 } }, { - "code": "reportUnknownVariableType", + "code": "reportMissingParameterType", "range": { - "startColumn": 15, - "endColumn": 18, + "startColumn": 23, + "endColumn": 28, "lineCount": 1 } }, { - "code": "reportAny", + "code": "reportUnknownArgumentType", "range": { "startColumn": 27, - "endColumn": 30, - "lineCount": 1 - } - }, - { - "code": "reportUnannotatedClassAttribute", - "range": { - "startColumn": 4, - "endColumn": 17, + "endColumn": 32, "lineCount": 1 } }, { - "code": "reportMissingTypeArgument", + "code": "reportUnknownParameterType", "range": { - "startColumn": 19, + "startColumn": 21, "endColumn": 26, "lineCount": 1 } }, { - "code": "reportAny", - "range": { - "startColumn": 12, - "endColumn": 22, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 12, - "endColumn": 21, - "lineCount": 1 - } - }, - { - "code": "reportAny", - "range": { - "startColumn": 57, - "endColumn": 59, - "lineCount": 1 - } - }, - { - "code": "reportAny", - "range": { - "startColumn": 44, - "endColumn": 54, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 12, - "endColumn": 21, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 64, - "endColumn": 65, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 16, - "endColumn": 29, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 31, - "endColumn": 36, - "lineCount": 1 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 49, - "endColumn": 62, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 24, - "endColumn": 41, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 24, - "endColumn": 41, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 43, - "endColumn": 57, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 43, - "endColumn": 57, - "lineCount": 1 - } - }, - { - "code": "reportUnusedParameter", - "range": { - "startColumn": 43, - "endColumn": 57, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 20, - "endColumn": 28, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 31, - "endColumn": 48, - "lineCount": 1 - } - }, - { - "code": "reportAttributeAccessIssue", - "range": { - "startColumn": 37, - "endColumn": 48, - "lineCount": 1 - } - }, - { - "code": "reportAttributeAccessIssue", - "range": { - "startColumn": 37, - "endColumn": 48, - "lineCount": 1 - } - }, - { - "code": "reportAttributeAccessIssue", - "range": { - "startColumn": 37, - "endColumn": 48, - "lineCount": 1 - } - }, - { - "code": "reportAttributeAccessIssue", - "range": { - "startColumn": 37, - "endColumn": 48, - "lineCount": 1 - } - }, - { - "code": "reportAttributeAccessIssue", - "range": { - "startColumn": 37, - "endColumn": 48, - "lineCount": 1 - } - }, - { - "code": "reportAttributeAccessIssue", - "range": { - "startColumn": 37, - "endColumn": 48, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 16, - "endColumn": 24, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 20, - "endColumn": 29, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 20, - "endColumn": 29, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 16, - "endColumn": 28, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 16, - "endColumn": 28, - "lineCount": 1 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 23, - "endColumn": 24, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 35, - "endColumn": 36, - "lineCount": 1 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 52, - "endColumn": 57, - "lineCount": 1 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 36, - "endColumn": 41, - "lineCount": 1 - } - }, - { - "code": "reportImplicitOverride", - "range": { - "startColumn": 8, - "endColumn": 15, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 15, - "endColumn": 29, - "lineCount": 1 - } - }, - { - "code": "reportImplicitOverride", - "range": { - "startColumn": 8, - "endColumn": 16, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 15, - "lineCount": 1 - } - }, - { - "code": "reportMissingTypeArgument", - "range": { - "startColumn": 25, - "endColumn": 36, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 27, - "lineCount": 4 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 16, - "endColumn": 57, - "lineCount": 2 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 15, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 22, - "endColumn": 27, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 22, - "endColumn": 27, - "lineCount": 1 - } - }, - { - "code": "reportMissingTypeArgument", - "range": { - "startColumn": 32, - "endColumn": 43, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 8, - "endColumn": 13, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 47, - "endColumn": 57, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 12, - "endColumn": 21, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 18, - "endColumn": 28, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 18, - "endColumn": 32, - "lineCount": 1 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 27, - "endColumn": 36, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 48, - "lineCount": 1 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 27, - "endColumn": 35, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 16, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 23, - "endColumn": 28, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 23, - "endColumn": 28, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 15, - "endColumn": 27, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 34, - "lineCount": 1 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 28, - "endColumn": 33, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 15, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 22, - "endColumn": 27, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 22, - "endColumn": 27, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 30, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 16, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 23, - "endColumn": 28, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 23, - "endColumn": 28, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 30, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 24, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 20, - "endColumn": 25, - "lineCount": 1 - } - }, - { - "code": "reportMissingTypeArgument", - "range": { - "startColumn": 27, - "endColumn": 38, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 20, - "endColumn": 33, - "lineCount": 1 - } - }, - { - "code": "reportMissingTypeArgument", - "range": { - "startColumn": 35, - "endColumn": 45, - "lineCount": 1 - } - }, - { - "code": "reportMissingTypeArgument", - "range": { - "startColumn": 21, - "endColumn": 32, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 11, - "endColumn": 35, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 23, - "endColumn": 29, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 33, - "endColumn": 43, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 16, - "endColumn": 22, - "lineCount": 1 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 31, - "endColumn": 37, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 20, - "endColumn": 25, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 20, - "endColumn": 29, - "lineCount": 1 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 31, - "endColumn": 40, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 15, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 22, - "endColumn": 27, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 22, - "endColumn": 27, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 8, - "endColumn": 13, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 15, - "endColumn": 36, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 62, - "lineCount": 1 - } - }, - { - "code": "reportArgumentType", - "range": { - "startColumn": 44, - "endColumn": 61, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 16, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 23, - "endColumn": 28, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 23, - "endColumn": 28, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 15, - "endColumn": 33, - "lineCount": 2 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 58, - "lineCount": 2 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 27, - "endColumn": 32, - "lineCount": 1 - } - }, - { - "code": "reportArgumentType", - "range": { - "startColumn": 40, - "endColumn": 57, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 15, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 22, - "endColumn": 27, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 22, - "endColumn": 27, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 8, - "endColumn": 13, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 15, - "endColumn": 36, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 58, - "lineCount": 1 - } - }, - { - "code": "reportArgumentType", - "range": { - "startColumn": 44, - "endColumn": 57, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 16, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 23, - "endColumn": 28, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 23, - "endColumn": 28, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 15, - "endColumn": 33, - "lineCount": 2 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 54, - "lineCount": 2 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 27, - "endColumn": 32, - "lineCount": 1 - } - }, - { - "code": "reportArgumentType", - "range": { - "startColumn": 40, - "endColumn": 53, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 14, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", + "code": "reportMissingParameterType", "range": { "startColumn": 21, "endColumn": 26, "lineCount": 1 } }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 21, - "endColumn": 26, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 8, - "endColumn": 13, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 15, - "endColumn": 36, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 58, - "lineCount": 1 - } - }, - { - "code": "reportArgumentType", - "range": { - "startColumn": 44, - "endColumn": 57, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 15, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 22, - "endColumn": 27, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 22, - "endColumn": 27, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 15, - "endColumn": 33, - "lineCount": 2 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 54, - "lineCount": 2 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 27, - "endColumn": 32, - "lineCount": 1 - } - }, - { - "code": "reportArgumentType", - "range": { - "startColumn": 40, - "endColumn": 53, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 18, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 25, - "endColumn": 30, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 25, - "endColumn": 30, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 8, - "endColumn": 13, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 15, - "endColumn": 36, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 68, - "lineCount": 1 - } - }, - { - "code": "reportArgumentType", - "range": { - "startColumn": 44, - "endColumn": 67, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 19, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 26, - "endColumn": 31, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 26, - "endColumn": 31, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 15, - "endColumn": 33, - "lineCount": 2 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 64, - "lineCount": 2 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 27, - "endColumn": 32, - "lineCount": 1 - } - }, - { - "code": "reportArgumentType", - "range": { - "startColumn": 40, - "endColumn": 63, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 18, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 25, - "endColumn": 30, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 25, - "endColumn": 30, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 8, - "endColumn": 13, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 15, - "endColumn": 36, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 69, - "lineCount": 1 - } - }, - { - "code": "reportArgumentType", - "range": { - "startColumn": 44, - "endColumn": 68, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 19, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 26, - "endColumn": 31, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 26, - "endColumn": 31, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 15, - "endColumn": 33, - "lineCount": 2 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 65, - "lineCount": 2 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 27, - "endColumn": 32, - "lineCount": 1 - } - }, - { - "code": "reportArgumentType", - "range": { - "startColumn": 40, - "endColumn": 64, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 22, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 29, - "endColumn": 34, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 29, - "endColumn": 34, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 8, - "endColumn": 17, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 15, - "endColumn": 36, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 75, - "lineCount": 1 - } - }, - { - "code": "reportArgumentType", - "range": { - "startColumn": 48, - "endColumn": 62, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 9, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 16, - "endColumn": 21, - "lineCount": 1 - } - }, - { - "code": "reportMissingParameterType", - "range": { - "startColumn": 16, - "endColumn": 21, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 42, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 15, - "lineCount": 1 - } - }, { "code": "reportUnknownParameterType", "range": { @@ -5810,40 +4346,24 @@ { "code": "reportUnknownArgumentType", "range": { - "startColumn": 20, - "endColumn": 25, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 39, - "endColumn": 52, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 78, + "startColumn": 27, + "endColumn": 32, "lineCount": 1 } }, { - "code": "reportArgumentType", + "code": "reportUnknownParameterType", "range": { - "startColumn": 46, - "endColumn": 77, + "startColumn": 25, + "endColumn": 30, "lineCount": 1 } }, { - "code": "reportUnknownParameterType", + "code": "reportMissingParameterType", "range": { - "startColumn": 8, - "endColumn": 19, + "startColumn": 25, + "endColumn": 30, "lineCount": 1 } }, @@ -5864,82 +4384,66 @@ } }, { - "code": "reportUnknownVariableType", + "code": "reportUnknownArgumentType", "range": { - "startColumn": 8, - "endColumn": 13, + "startColumn": 27, + "endColumn": 32, "lineCount": 1 } }, { - "code": "reportUnknownVariableType", + "code": "reportUnknownParameterType", "range": { - "startColumn": 15, - "endColumn": 31, + "startColumn": 25, + "endColumn": 30, "lineCount": 1 } }, { - "code": "reportUnknownParameterType", + "code": "reportMissingParameterType", "range": { - "startColumn": 8, - "endColumn": 20, + "startColumn": 25, + "endColumn": 30, "lineCount": 1 } }, { "code": "reportUnknownParameterType", "range": { - "startColumn": 27, - "endColumn": 32, + "startColumn": 26, + "endColumn": 31, "lineCount": 1 } }, { "code": "reportMissingParameterType", "range": { - "startColumn": 27, - "endColumn": 32, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 8, - "endColumn": 13, + "startColumn": 26, + "endColumn": 31, "lineCount": 1 } }, { "code": "reportUnknownArgumentType", "range": { - "startColumn": 28, - "endColumn": 33, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 33, + "startColumn": 27, + "endColumn": 32, "lineCount": 1 } }, { - "code": "reportUnknownVariableType", + "code": "reportUnknownParameterType", "range": { - "startColumn": 4, - "endColumn": 11, + "startColumn": 29, + "endColumn": 34, "lineCount": 1 } }, { - "code": "reportUnannotatedClassAttribute", + "code": "reportMissingParameterType", "range": { - "startColumn": 4, - "endColumn": 11, + "startColumn": 29, + "endColumn": 34, "lineCount": 1 } }, @@ -5947,47 +4451,23 @@ "code": "reportUnknownParameterType", "range": { "startColumn": 8, - "endColumn": 11, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 8, - "endColumn": 12, + "endColumn": 9, "lineCount": 1 } }, { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 23, - "endColumn": 31, - "lineCount": 3 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 35, - "endColumn": 74, - "lineCount": 2 - } - }, - { - "code": "reportUnknownVariableType", + "code": "reportUnknownParameterType", "range": { - "startColumn": 12, - "endColumn": 17, + "startColumn": 16, + "endColumn": 21, "lineCount": 1 } }, { - "code": "reportUnknownVariableType", + "code": "reportMissingParameterType", "range": { - "startColumn": 8, - "endColumn": 13, + "startColumn": 16, + "endColumn": 21, "lineCount": 1 } }, @@ -5995,135 +4475,111 @@ "code": "reportUnknownVariableType", "range": { "startColumn": 15, - "endColumn": 53, - "lineCount": 1 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 27, - "endColumn": 40, + "endColumn": 42, "lineCount": 1 } }, { "code": "reportUnknownParameterType", "range": { - "startColumn": 8, - "endColumn": 11, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 48, + "startColumn": 26, + "endColumn": 31, "lineCount": 1 } }, { - "code": "reportUnknownArgumentType", + "code": "reportMissingParameterType", "range": { - "startColumn": 27, - "endColumn": 35, + "startColumn": 26, + "endColumn": 31, "lineCount": 1 } }, { "code": "reportUnknownParameterType", "range": { - "startColumn": 8, - "endColumn": 13, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 48, + "startColumn": 27, + "endColumn": 32, "lineCount": 1 } }, { - "code": "reportUnknownArgumentType", + "code": "reportMissingParameterType", "range": { "startColumn": 27, - "endColumn": 35, + "endColumn": 32, "lineCount": 1 } }, { - "code": "reportUnknownParameterType", + "code": "reportUnknownArgumentType", "range": { - "startColumn": 8, - "endColumn": 12, + "startColumn": 28, + "endColumn": 33, "lineCount": 1 } }, { "code": "reportUnknownVariableType", "range": { - "startColumn": 15, - "endColumn": 34, + "startColumn": 4, + "endColumn": 11, "lineCount": 1 } }, { - "code": "reportUnknownParameterType", + "code": "reportUnannotatedClassAttribute", "range": { - "startColumn": 8, - "endColumn": 15, + "startColumn": 4, + "endColumn": 11, "lineCount": 1 } }, { - "code": "reportUnknownVariableType", + "code": "reportUnknownArgumentType", "range": { - "startColumn": 15, - "endColumn": 26, - "lineCount": 1 + "startColumn": 35, + "endColumn": 61, + "lineCount": 5 } }, { - "code": "reportUnknownParameterType", + "code": "reportUnknownVariableType", "range": { "startColumn": 8, - "endColumn": 20, + "endColumn": 13, "lineCount": 1 } }, { - "code": "reportUnknownMemberType", + "code": "reportUnknownArgumentType", "range": { - "startColumn": 15, + "startColumn": 27, "endColumn": 40, "lineCount": 1 } }, { - "code": "reportUnknownVariableType", + "code": "reportUnknownArgumentType", "range": { - "startColumn": 15, - "endColumn": 46, + "startColumn": 27, + "endColumn": 35, "lineCount": 1 } }, { - "code": "reportUnknownParameterType", + "code": "reportUnknownArgumentType", "range": { - "startColumn": 8, - "endColumn": 15, + "startColumn": 27, + "endColumn": 35, "lineCount": 1 } }, { - "code": "reportUnknownVariableType", + "code": "reportUnknownMemberType", "range": { "startColumn": 15, - "endColumn": 39, + "endColumn": 40, "lineCount": 1 } }, @@ -6159,22 +4615,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 8, - "endColumn": 13, - "lineCount": 1 - } - }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 28, - "endColumn": 38, - "lineCount": 1 - } - }, { "code": "reportImplicitOverride", "range": { @@ -6215,14 +4655,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 22, - "lineCount": 1 - } - }, { "code": "reportUnknownParameterType", "range": { @@ -6239,22 +4671,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 48, - "lineCount": 1 - } - }, - { - "code": "reportUnknownArgumentType", - "range": { - "startColumn": 27, - "endColumn": 35, - "lineCount": 1 - } - }, { "code": "reportUnknownParameterType", "range": { @@ -6311,14 +4727,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 15, - "lineCount": 1 - } - }, { "code": "reportUnknownParameterType", "range": { @@ -6335,14 +4743,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 48, - "lineCount": 1 - } - }, { "code": "reportUnknownArgumentType", "range": { @@ -6351,14 +4751,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 16, - "lineCount": 1 - } - }, { "code": "reportUnknownParameterType", "range": { @@ -6399,14 +4791,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 19, - "endColumn": 46, - "lineCount": 1 - } - }, { "code": "reportUnknownMemberType", "range": { @@ -6431,14 +4815,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 19, - "endColumn": 34, - "lineCount": 1 - } - }, { "code": "reportUnknownArgumentType", "range": { @@ -6455,22 +4831,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 11, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 48, - "lineCount": 1 - } - }, { "code": "reportUnknownArgumentType", "range": { @@ -6479,22 +4839,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 12, - "lineCount": 1 - } - }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 48, - "lineCount": 1 - } - }, { "code": "reportUnknownArgumentType", "range": { @@ -6503,14 +4847,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 25, - "lineCount": 1 - } - }, { "code": "reportUnknownMemberType", "range": { @@ -6519,22 +4855,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 51, - "lineCount": 1 - } - }, - { - "code": "reportUnknownParameterType", - "range": { - "startColumn": 8, - "endColumn": 25, - "lineCount": 1 - } - }, { "code": "reportUnknownMemberType", "range": { @@ -6543,14 +4863,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 15, - "endColumn": 51, - "lineCount": 1 - } - }, { "code": "reportUnknownParameterType", "range": { @@ -6583,14 +4895,6 @@ "lineCount": 1 } }, - { - "code": "reportArgumentType", - "range": { - "startColumn": 16, - "endColumn": 39, - "lineCount": 1 - } - }, { "code": "reportUnknownArgumentType", "range": { @@ -6599,14 +4903,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownMemberType", - "range": { - "startColumn": 25, - "endColumn": 33, - "lineCount": 1 - } - }, { "code": "reportUnknownVariableType", "range": { @@ -32573,6 +30869,14 @@ "lineCount": 1 } }, + { + "code": "reportUnknownMemberType", + "range": { + "startColumn": 28, + "endColumn": 38, + "lineCount": 1 + } + }, { "code": "reportUnknownArgumentType", "range": { @@ -32605,6 +30909,22 @@ "lineCount": 1 } }, + { + "code": "reportUnknownMemberType", + "range": { + "startColumn": 37, + "endColumn": 47, + "lineCount": 1 + } + }, + { + "code": "reportUnknownArgumentType", + "range": { + "startColumn": 37, + "endColumn": 47, + "lineCount": 1 + } + }, { "code": "reportUnknownMemberType", "range": { @@ -35283,14 +33603,6 @@ "lineCount": 1 } }, - { - "code": "reportUnknownVariableType", - "range": { - "startColumn": 35, - "endColumn": 48, - "lineCount": 1 - } - }, { "code": "reportUnknownVariableType", "range": { @@ -36363,6 +34675,14 @@ "lineCount": 1 } }, + { + "code": "reportOperatorIssue", + "range": { + "startColumn": 15, + "endColumn": 59, + "lineCount": 1 + } + }, { "code": "reportUnknownArgumentType", "range": { @@ -36419,6 +34739,22 @@ "lineCount": 1 } }, + { + "code": "reportUnknownMemberType", + "range": { + "startColumn": 21, + "endColumn": 24, + "lineCount": 1 + } + }, + { + "code": "reportUnknownMemberType", + "range": { + "startColumn": 45, + "endColumn": 48, + "lineCount": 1 + } + }, { "code": "reportUnknownVariableType", "range": { @@ -36435,6 +34771,14 @@ "lineCount": 1 } }, + { + "code": "reportUnknownMemberType", + "range": { + "startColumn": 43, + "endColumn": 49, + "lineCount": 1 + } + }, { "code": "reportUnknownMemberType", "range": { @@ -36499,6 +34843,14 @@ "lineCount": 1 } }, + { + "code": "reportUnknownMemberType", + "range": { + "startColumn": 38, + "endColumn": 41, + "lineCount": 1 + } + }, { "code": "reportUnknownMemberType", "range": { @@ -36507,6 +34859,14 @@ "lineCount": 1 } }, + { + "code": "reportUnknownMemberType", + "range": { + "startColumn": 36, + "endColumn": 39, + "lineCount": 1 + } + }, { "code": "reportUnknownMemberType", "range": { diff --git a/pymbolic/algorithm.py b/pymbolic/algorithm.py index 716f646..068a41b 100644 --- a/pymbolic/algorithm.py +++ b/pymbolic/algorithm.py @@ -12,6 +12,10 @@ References ---------- +.. class:: _CanMultiplyT + + A type variable for a type that supports multiplication. + .. class:: NDArray See :data:`numpy.typing.NDArray`. @@ -54,7 +58,7 @@ import operator import sys -from typing import TYPE_CHECKING, overload +from typing import TYPE_CHECKING, Protocol, TypeVar, cast, overload from warnings import warn from pytools import MovedFunctionDeprecationWrapper, memoize @@ -71,12 +75,26 @@ # {{{ integer powers -def integer_power(x, n, one=1): +class _CanMultiply(Protocol): + def __mul__(self: _CanMultiplyT, other: _CanMultiplyT, /) -> _CanMultiplyT: ... + + +_CanMultiplyT = TypeVar("_CanMultiplyT", bound=_CanMultiply) + + +def integer_power( + x: _CanMultiplyT, + n: int, + one: _CanMultiplyT | None = None + ) -> _CanMultiplyT: """Compute :math:`x^n` using only multiplications. See also the `C2 wiki `__. """ + if one is None: + one = cast("_CanMultiplyT", cast("object", 1)) + assert isinstance(n, int) if n < 0: @@ -87,7 +105,7 @@ def integer_power(x, n, one=1): while n > 0: if n & 1: - aux *= x + aux = aux * x if n == 1: return aux x = x * x diff --git a/pymbolic/geometric_algebra/__init__.py b/pymbolic/geometric_algebra/__init__.py index c40cd51..85ea30c 100644 --- a/pymbolic/geometric_algebra/__init__.py +++ b/pymbolic/geometric_algebra/__init__.py @@ -27,14 +27,23 @@ from abc import ABC, abstractmethod from collections.abc import Callable, Iterable, Mapping, Sequence from dataclasses import dataclass -from typing import TYPE_CHECKING, Any, Generic, TypeVar, cast +from typing import ( + TYPE_CHECKING, + Any, + ClassVar, + Generic, + Literal, + Protocol, + TypeVar, + cast, +) import numpy as np +from typing_extensions import Self, override from pytools import memoize, memoize_method from pymbolic.primitives import expr_dataclass, is_zero -from pymbolic.typing import ArithmeticExpression, T if TYPE_CHECKING: @@ -131,6 +140,24 @@ """ +class _HasArithmetic(Protocol): + def __neg__(self: CoeffT) -> CoeffT: ... + def __abs__(self: CoeffT) -> CoeffT: ... + def __add__(self: CoeffT, other: CoeffT, /) -> CoeffT: ... + def __radd__(self: CoeffT, other: CoeffT, /) -> CoeffT: ... + def __sub__(self: CoeffT, other: CoeffT, /) -> CoeffT: ... + def __rsub__(self: CoeffT, other: CoeffT, /) -> CoeffT: ... + + def __mul__(self: CoeffT, other: CoeffT, /) -> CoeffT: ... + def __rmul__(self: CoeffT, other: CoeffT, /) -> CoeffT: ... + + def __pow__(self: CoeffT, other: CoeffT, /) -> CoeffT: ... + def __rpow__(self: CoeffT, other: CoeffT, /) -> CoeffT: ... + + +CoeffT = TypeVar("CoeffT", bound=_HasArithmetic) + + # {{{ helpers def permutation_sign(p: Iterable[int]) -> int: @@ -182,7 +209,7 @@ def canonical_reordering_sign(a_bits: int, b_bits: int) -> int: # {{{ space @dataclass(frozen=True, init=False) -class Space: +class Space(Generic[CoeffT]): """ .. autoattribute :: basis_names .. autoattribute :: metric_matrix @@ -261,16 +288,20 @@ def bits_and_sign(self, basis_indices: Sequence[int]) -> tuple[int, int]: return bits, permutation_sign(blade_permutation) + def __getitem__(self, idx: tuple[int, int]) -> CoeffT: + i, j = idx + return self.metric_matrix[i, j] + @property @memoize_method - def is_orthogonal(self): + def is_orthogonal(self) -> bool: """*True* if the metric is orthogonal (i.e. diagonal).""" return (self.metric_matrix - np.diag(np.diag(self.metric_matrix)) == 0).all() @property @memoize_method def is_euclidean(self) -> bool: - """*True* if the metric matrix corresponds to the Euclidian metric.""" + """*True* if the metric matrix corresponds to the Euclidean metric.""" return (self.metric_matrix == np.eye(self.metric_matrix.shape[0])).all() def blade_bits_to_str(self, bits: int, outer_operator: str = "^") -> str: @@ -279,6 +310,7 @@ def blade_bits_to_str(self, bits: int, outer_operator: str = "^") -> str: for bit_num, name in enumerate(self.basis_names) if bits & (1 << bit_num)) + @override def __repr__(self) -> str: if self is get_euclidean_space(self.dimensions): return f"Space({self.dimensions})" @@ -290,26 +322,23 @@ def __repr__(self) -> str: @memoize -def get_euclidean_space(n: int) -> Space: +def get_euclidean_space(n: int) -> Space[int]: """Return the canonical *n*-dimensional Euclidean :class:`Space`.""" - return Space(n) + return Space[int](n) # }}} -CoeffT = TypeVar("CoeffT", bound=ArithmeticExpression) - - # {{{ blade product weights -def _shared_metric_coeff(shared_bits, space): +def _shared_metric_coeff(shared_bits: int, space: Space[CoeffT]) -> CoeffT | Literal[1]: result = 1 basis_idx = 0 while shared_bits: bit = (1 << basis_idx) if shared_bits & bit: - result = result * space.metric_matrix[basis_idx, basis_idx] + result = result * space[basis_idx, basis_idx] shared_bits ^= bit basis_idx += 1 @@ -320,33 +349,49 @@ def _shared_metric_coeff(shared_bits, space): class _GAProduct(ABC, Generic[CoeffT]): @staticmethod @abstractmethod - def generic_blade_product_weight(a_bits: int, b_bits: int, space: Space) -> CoeffT: + def generic_blade_product_weight( + a_bits: int, + b_bits: int, + space: Space[CoeffT] + ) -> CoeffT | int: ... @staticmethod @abstractmethod def orthogonal_blade_product_weight( - a_bits: int, b_bits: int, space: Space - ) -> CoeffT: + a_bits: int, b_bits: int, space: Space[CoeffT] + ) -> CoeffT | int: ... -class _OuterProduct(_GAProduct): +class _OuterProduct(_GAProduct[CoeffT]): @staticmethod - def generic_blade_product_weight(a_bits, b_bits, space): + def generic_blade_product_weight( + a_bits: int, + b_bits: int, + space: Space[CoeffT] + ) -> CoeffT | int: return int(not a_bits & b_bits) orthogonal_blade_product_weight = generic_blade_product_weight -class _GeometricProduct(_GAProduct): +class _GeometricProduct(_GAProduct[CoeffT]): @staticmethod - def generic_blade_product_weight(a_bits, b_bits, space): + @override + def generic_blade_product_weight( + a_bits: int, + b_bits: int, + space: Space[CoeffT] + ) -> CoeffT | int: raise NotImplementedError("geometric product for spaces " "with non-diagonal metric (i.e. non-orthogonal basis)") @staticmethod - def orthogonal_blade_product_weight(a_bits, b_bits, space): + @override + def orthogonal_blade_product_weight( + a_bits: int, b_bits: int, space: Space[CoeffT] + ) -> CoeffT | int: shared_bits = a_bits & b_bits if shared_bits: @@ -355,14 +400,22 @@ def orthogonal_blade_product_weight(a_bits, b_bits, space): return 1 -class _InnerProduct(_GAProduct): +class _InnerProduct(_GAProduct[CoeffT]): @staticmethod - def generic_blade_product_weight(a_bits, b_bits, space): + @override + def generic_blade_product_weight( + a_bits: int, + b_bits: int, + space: Space[CoeffT] + ) -> CoeffT | int: raise NotImplementedError("inner product for spaces " "with non-diagonal metric (i.e. non-orthogonal basis)") @staticmethod - def orthogonal_blade_product_weight(a_bits, b_bits, space): + @override + def orthogonal_blade_product_weight( + a_bits: int, b_bits: int, space: Space[CoeffT] + ) -> CoeffT | int: shared_bits = a_bits & b_bits if shared_bits in (a_bits, b_bits): @@ -371,14 +424,22 @@ def orthogonal_blade_product_weight(a_bits, b_bits, space): return 0 -class _LeftContractionProduct(_GAProduct): +class _LeftContractionProduct(_GAProduct[CoeffT]): @staticmethod - def generic_blade_product_weight(a_bits, b_bits, space): + @override + def generic_blade_product_weight( + a_bits: int, + b_bits: int, + space: Space[CoeffT] + ) -> CoeffT | int: raise NotImplementedError("contraction product for spaces " "with non-diagonal metric (i.e. non-orthogonal basis)") @staticmethod - def orthogonal_blade_product_weight(a_bits, b_bits, space): + @override + def orthogonal_blade_product_weight( + a_bits: int, b_bits: int, space: Space[CoeffT] + ) -> CoeffT | int: shared_bits = a_bits & b_bits if shared_bits == a_bits: @@ -387,14 +448,22 @@ def orthogonal_blade_product_weight(a_bits, b_bits, space): return 0 -class _RightContractionProduct(_GAProduct): +class _RightContractionProduct(_GAProduct[CoeffT]): @staticmethod - def generic_blade_product_weight(a_bits, b_bits, space): + @override + def generic_blade_product_weight( + a_bits: int, + b_bits: int, + space: Space[CoeffT] + ) -> CoeffT: raise NotImplementedError("contraction product for spaces " "with non-diagonal metric (i.e. non-orthogonal basis)") @staticmethod - def orthogonal_blade_product_weight(a_bits, b_bits, space): + @override + def orthogonal_blade_product_weight( + a_bits: int, b_bits: int, space: Space[CoeffT] + ) -> CoeffT | int: shared_bits = a_bits & b_bits if shared_bits == b_bits: @@ -403,14 +472,22 @@ def orthogonal_blade_product_weight(a_bits, b_bits, space): return 0 -class _ScalarProduct(_GAProduct): +class _ScalarProduct(_GAProduct[CoeffT]): @staticmethod - def generic_blade_product_weight(a_bits, b_bits, space): + @override + def generic_blade_product_weight( + a_bits: int, + b_bits: int, + space: Space[CoeffT] + ) -> CoeffT: raise NotImplementedError("contraction product for spaces " "with non-diagonal metric (i.e. non-orthogonal basis)") @staticmethod - def orthogonal_blade_product_weight(a_bits, b_bits, space): + @override + def orthogonal_blade_product_weight( + a_bits: int, b_bits: int, space: Space[CoeffT] + ) -> CoeffT | int: if a_bits == b_bits: return _shared_metric_coeff(a_bits, space) else: @@ -421,9 +498,9 @@ def orthogonal_blade_product_weight(a_bits, b_bits, space): # {{{ multivector -def _cast_to_mv(obj: Any, space: Space) -> MultiVector: +def _cast_to_mv(obj: Any, space: Space[CoeffT]) -> MultiVector[CoeffT]: if isinstance(obj, MultiVector): - return obj + return cast("MultiVector[CoeffT]", obj) else: return MultiVector(obj, space) @@ -532,19 +609,20 @@ class MultiVector(Generic[CoeffT]): (see [DFM], Chapter 19 for idea and rationale) """ - space: Space + space: Space[CoeffT] - mapper_method = "map_multivector" + mapper_method: ClassVar[str] = "map_multivector" # {{{ construction def __init__( self, - data: (Mapping[int, CoeffT] - | Mapping[tuple[int, ...], CoeffT] + data: (Mapping[int, CoeffT | int] + | Mapping[tuple[int, ...], CoeffT | int] | NDArray[np.generic] - | CoeffT), - space: Space | None = None + | CoeffT + | int), + space: Space[CoeffT] | None = None ) -> None: """ :arg data: This may be one of the following: @@ -563,18 +641,19 @@ def __init__( works when a :class:`numpy.ndarray` is being passed for *data*. """ - data_dict: Mapping + data_dict: Mapping[tuple[int, ...], CoeffT | int] | Mapping[int, CoeffT | int] if isinstance(data, np.ndarray): if len(data.shape) != 1: raise ValueError( "Only numpy vectors (not higher-rank objects) " f"are supported for 'data': shape {data.shape}") + dimensions: int dimensions, = data.shape data_dict = {(i,): cast("CoeffT", xi) for i, xi in enumerate(data)} if space is None: - space = get_euclidean_space(dimensions) + space = cast("Space[CoeffT]", get_euclidean_space(dimensions)) if space.dimensions != dimensions: raise ValueError( @@ -594,13 +673,13 @@ def __init__( if data_dict and single_valued(isinstance(k, tuple) for k in data_dict): # data is in non-normalized non-bits tuple form - new_data: dict[int, CoeffT] = {} + new_data: dict[int, CoeffT | int] = {} for basis_indices, coeff in data_dict.items(): assert isinstance(basis_indices, tuple) bits, sign = space.bits_and_sign(basis_indices) - new_coeff = cast("CoeffT", - new_data.setdefault(bits, cast("CoeffT", 0)) # type: ignore[operator] + new_coeff = ( + new_data.setdefault(bits, 0) + sign*coeff) if is_zero(new_coeff): @@ -608,7 +687,7 @@ def __init__( else: new_data[bits] = new_coeff else: - new_data = cast("dict[int, CoeffT]", data_dict) + new_data = cast("dict[int, CoeffT | int]", data_dict) # }}} @@ -693,8 +772,8 @@ def __add__(self, other) -> MultiVector: from pymbolic.primitives import is_zero new_data = {} for bits in all_bits: - new_coeff = (self.data.get(bits, cast("CoeffT", 0)) - + other.data.get(bits, cast("CoeffT", 0))) + new_coeff = (self.data.get(bits, 0) + + other.data.get(bits, 0)) if not is_zero(new_coeff): new_data[bits] = new_coeff @@ -715,9 +794,9 @@ def __rsub__(self, other): # {{{ multiplicative operators def _generic_product(self, - other: MultiVector, - product_class: _GAProduct - ) -> MultiVector: + other: MultiVector[CoeffT], + product_class: type[_GAProduct[CoeffT]], + ) -> Self: """ :arg product_class: A subclass of :class:`_GAProduct`. """ @@ -732,7 +811,7 @@ def _generic_product(self, "from identical spaces") from pymbolic.primitives import is_zero - new_data: dict[int, CoeffT] = {} + new_data: dict[int, CoeffT | int] = {} for sbits, scoeff in self.data.items(): for obits, ocoeff in other.data.items(): new_bits = sbits ^ obits @@ -743,21 +822,21 @@ def _generic_product(self, coeff = (weight * canonical_reordering_sign(sbits, obits) * scoeff * ocoeff) - new_coeff = new_data.setdefault(new_bits, cast("CoeffT", 0)) + coeff + new_coeff = new_data.setdefault(new_bits, 0) + coeff if is_zero(new_coeff): del new_data[new_bits] else: new_data[new_bits] = new_coeff - return MultiVector(new_data, self.space) + return type(self)(new_data, self.space) - def __mul__(self, other): - other = _cast_to_mv(other, self.space) + def __mul__(self, other: Self | int | CoeffT) -> Self: + c_other = _cast_to_mv(other, self.space) - return self._generic_product(other, _GeometricProduct) + return self._generic_product(c_other, _GeometricProduct) - def __rmul__(self, other): - return MultiVector(other, self.space) \ + def __rmul__(self, other: int | CoeffT) -> Self: + return type(self)(other, self.space) \ ._generic_product(self, _GeometricProduct) def __xor__(self, other): @@ -796,7 +875,7 @@ def __rrshift__(self, other): return MultiVector(other, self.space)\ ._generic_product(self, _RightContractionProduct) - def scalar_product(self, other): + def scalar_product(self, other) -> CoeffT | int: r"""Return the scalar product, as a scalar, not a :class:`MultiVector`. Often written :math:`A*B`. @@ -815,13 +894,16 @@ def x(self, other): """ return (self*other - other*self)/2 - def __pow__(self, other): + def __pow__(self, other: int): """Return *self* to the integer power *other*.""" other = int(other) from pymbolic.algorithm import integer_power - return integer_power(self, other, one=MultiVector({0: 1}, self.space)) + return integer_power( + self, + other, + one=MultiVector[CoeffT]({0: 1}, self.space)) def __truediv__(self, other): """Return ``self*(1/other)``. @@ -855,7 +937,10 @@ def inv(self): if len(self.data) > 1: if self.get_pure_grade() in [0, 1, self.space.dimensions]: return MultiVector({ - bits: coeff/nsqr for bits, coeff in self.data.items()}, + bits: + # FIXME: Coefficients with division + coeff/nsqr # pyright: ignore[reportOperatorIssue] + for bits, coeff in self.data.items()}, self.space) else: @@ -868,7 +953,8 @@ def inv(self): if grade*(grade-1)//2 % 2: coeff = -coeff - coeff = coeff/nsqr + # FIXME: Coefficients with division + coeff = coeff/nsqr # pyright: ignore[reportOperatorIssue] return MultiVector({bits: coeff}, self.space) @@ -916,7 +1002,7 @@ def __inv__(self): """Return the dual of *self*, see :meth:`dual`.""" return self.dual() - def norm_squared(self): + def norm_squared(self) -> CoeffT | int: return self.rev().scalar_product(self) def __abs__(self): @@ -961,10 +1047,12 @@ def zap_near_zeros(self, tol=None): if tol is None: tol = 1e-12 - new_data = {} - for bits, coeff in self.data.items(): - if abs(coeff) > tol: - new_data[bits] = coeff + new_data = { + bits: coeff + for bits, coeff in self.data.items() + # FIXME: coefficients with greater-than + if abs(coeff) > tol # pyright: ignore[reportOperatorIssue] + } return MultiVector(new_data, self.space) @@ -1069,7 +1157,7 @@ def project_max_grade(self): return self.project(max(self.all_grades())) - def as_scalar(self): + def as_scalar(self) -> CoeffT | int: result = 0 for bits, coeff in self.data.items(): if bits != 0: @@ -1093,7 +1181,8 @@ def as_vector(self, dtype=None): log_table = {2**i: i for i in range(self.space.dimensions)} try: for bits, coeff in self.data.items(): - result[log_table[bits]] = coeff + # type ignore because: too hard to make precise + result[log_table[bits]] = coeff # pyright: ignore[reportArgumentType] except KeyError: raise ValueError("multivector is not a purely grade-1") from None @@ -1129,6 +1218,9 @@ def map(self, f: Callable[[CoeffT], CoeffT]) -> MultiVector[CoeffT]: # }}} +T = TypeVar("T") + + def componentwise(f: Callable[[CoeffT], CoeffT], expr: T) -> T: """Apply function *f* componentwise to object arrays and :class:`MultiVector` instances. *expr* is also allowed to @@ -1136,7 +1228,7 @@ def componentwise(f: Callable[[CoeffT], CoeffT], expr: T) -> T: """ if isinstance(expr, MultiVector): - return cast("T", expr.map(f)) + return cast("T", cast("MultiVector[CoeffT]", expr).map(f)) from pytools.obj_array import obj_array_vectorize return obj_array_vectorize(f, expr) diff --git a/pymbolic/primitives.py b/pymbolic/primitives.py index 8ea114a..d9bb2a2 100644 --- a/pymbolic/primitives.py +++ b/pymbolic/primitives.py @@ -619,10 +619,10 @@ def __rand__(self, other: object) -> BitwiseAnd: # {{{ misc - def __neg__(self) -> ArithmeticExpression: + def __neg__(self) -> ExpressionNode: return -1*self - def __pos__(self) -> ArithmeticExpression: + def __pos__(self) -> ExpressionNode: return self def __call__(self, *args, **kwargs) -> Call | CallWithKwargs: diff --git a/pyproject.toml b/pyproject.toml index 4a32f2c..f7323ef 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -130,6 +130,7 @@ pythonPlatform = "All" [[tool.basedpyright.executionEnvironments]] root = "test" reportUnknownArgumentType = "hint" + [[tool.basedpyright.executionEnvironments]] root = "pymbolic/interop/symengine.py" reportMissingTypeStubs = "none"