@zzzen/pyright-internal 1.2.0-dev.20240428 → 1.2.0-dev.20240512
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analyzer/analyzerFileInfo.js +3 -2
- package/dist/analyzer/analyzerFileInfo.js.map +1 -1
- package/dist/analyzer/binder.js +6 -0
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +62 -35
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +1 -0
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/operations.js +3 -2
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/patternMatching.js +20 -14
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/scope.d.ts +4 -0
- package/dist/analyzer/scope.js +9 -2
- package/dist/analyzer/scope.js.map +1 -1
- package/dist/analyzer/sourceFile.js +13 -5
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +56 -17
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +1 -1
- package/dist/analyzer/typeGuards.js +38 -19
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeUtils.js +1 -5
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.js +8 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/common/envVarUtils.js +1 -2
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/pythonVersion.d.ts +1 -0
- package/dist/common/pythonVersion.js +2 -1
- package/dist/common/pythonVersion.js.map +1 -1
- package/dist/languageServerBase.d.ts +3 -2
- package/dist/languageServerBase.js +13 -35
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +1 -1
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/dynamicFeature.d.ts +18 -0
- package/dist/languageService/dynamicFeature.js +54 -0
- package/dist/languageService/dynamicFeature.js.map +1 -0
- package/dist/languageService/fileWatcherDynamicFeature.d.ts +12 -0
- package/dist/languageService/fileWatcherDynamicFeature.js +49 -0
- package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -0
- package/dist/localization/package.nls.cs.json +28 -26
- package/dist/localization/package.nls.de.json +28 -26
- package/dist/localization/package.nls.en-us.json +2 -2
- package/dist/localization/package.nls.es.json +27 -25
- package/dist/localization/package.nls.fr.json +28 -26
- package/dist/localization/package.nls.it.json +28 -26
- package/dist/localization/package.nls.ja.json +28 -26
- package/dist/localization/package.nls.ko.json +28 -26
- package/dist/localization/package.nls.pl.json +27 -25
- package/dist/localization/package.nls.pt-br.json +28 -26
- package/dist/localization/package.nls.qps-ploc.json +25 -23
- package/dist/localization/package.nls.ru.json +28 -26
- package/dist/localization/package.nls.tr.json +28 -26
- package/dist/localization/package.nls.zh-cn.json +28 -26
- package/dist/localization/package.nls.zh-tw.json +28 -26
- package/dist/parser/tokenizer.js +7 -1
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/tests/envVarUtils.test.js +20 -0
- package/dist/tests/envVarUtils.test.js.map +1 -1
- package/dist/tests/parser.test.js +7 -2
- package/dist/tests/parser.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +59 -479
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +4 -486
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +0 -604
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +1 -423
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator6.test.d.ts +1 -0
- package/dist/tests/typeEvaluator6.test.js +712 -0
- package/dist/tests/typeEvaluator6.test.js.map +1 -0
- package/dist/tests/typeEvaluator7.test.d.ts +1 -0
- package/dist/tests/typeEvaluator7.test.js +677 -0
- package/dist/tests/typeEvaluator7.test.js.map +1 -0
- package/dist/tests/typeEvaluator8.test.d.ts +1 -0
- package/dist/tests/typeEvaluator8.test.js +660 -0
- package/dist/tests/typeEvaluator8.test.js.map +1 -0
- package/package.json +1 -1
@@ -17,10 +17,10 @@
|
|
17
17
|
"abstractMethodInvocation": "无法调用方法“{method}”,因为它是抽象的且未实施",
|
18
18
|
"annotatedParamCountMismatch": "参数批注计数不匹配: 应为 {expected},但收到 {received}",
|
19
19
|
"annotatedTypeArgMissing": "“Annotated”应为一个类型参数和一个或多个批注",
|
20
|
-
"annotationBytesString": "
|
20
|
+
"annotationBytesString": "类型批注不能使用字节字符串文本",
|
21
21
|
"annotationFormatString": "类型批注不能使用格式字符串文本 (f 字符串)",
|
22
22
|
"annotationNotSupported": "此语句不支持类型批注",
|
23
|
-
"annotationRawString": "
|
23
|
+
"annotationRawString": "类型批注不能使用原始字符串文本",
|
24
24
|
"annotationSpansStrings": "类型批注不能跨越多个字符串文本",
|
25
25
|
"annotationStringEscape": "类型批注不能包含转义字符",
|
26
26
|
"argAssignment": "无法将“{argType}”类型的参数分配给“{paramType}”类型的参数",
|
@@ -103,6 +103,7 @@
|
|
103
103
|
"dataClassBaseClassNotFrozen": "冻结类不能从未冻结的类继承",
|
104
104
|
"dataClassConverterFunction": "类型“{argType}”的参数不是类型为“{fieldType}”的字段“{fieldName}”的有效转换器",
|
105
105
|
"dataClassConverterOverloads": "“{funcName}”的重载不是类型为“{fieldType}”的字段“{fieldName}”的有效转换器",
|
106
|
+
"dataClassFieldInheritedDefault": "“{fieldName}”替代同名字段,但缺少默认值",
|
106
107
|
"dataClassFieldWithDefault": "没有默认值的字段不能出现在具有默认值的字段之后",
|
107
108
|
"dataClassFieldWithPrivateName": "数据类字段不能使用专用名称",
|
108
109
|
"dataClassFieldWithoutAnnotation": "不带类型批注的数据类字段将导致运行时异常",
|
@@ -188,7 +189,7 @@
|
|
188
189
|
"expectedIn": "应为 \"in\"",
|
189
190
|
"expectedInExpr": "\"in\"后应为表达式",
|
190
191
|
"expectedIndentedBlock": "应为缩进块",
|
191
|
-
"expectedMemberName": "
|
192
|
+
"expectedMemberName": "\".\" 后应为属性名称",
|
192
193
|
"expectedModuleName": "预期模块名称",
|
193
194
|
"expectedNameAfterAs": "\"as\" 后应有符号名",
|
194
195
|
"expectedNamedParameter": "关键字参数必须跟在 “*” 之后",
|
@@ -251,6 +252,7 @@
|
|
251
252
|
"incompatibleMethodOverride": "方法“{name}”以不兼容的方式替代类“{className}”",
|
252
253
|
"inconsistentIndent": "取消缩进量与以前的缩进不匹配",
|
253
254
|
"inconsistentTabs": "缩进中制表符和空格的使用不一致",
|
255
|
+
"initMethodSelfParamTypeVar": "\"__init__\" 方法 “self” 参数的类型批注不能包含类范围的类型变量",
|
254
256
|
"initMustReturnNone": "“__init__”的返回类型必须为 None",
|
255
257
|
"initSubclassCallFailed": "__init_subclass__ 方法的关键字参数不正确",
|
256
258
|
"initSubclassClsParam": "__init_subclass__替代应采用“cls”参数",
|
@@ -277,16 +279,16 @@
|
|
277
279
|
"listAssignmentMismatch": "无法将 \"{type}\" 类型的表达式分配给目标列表",
|
278
280
|
"listInAnnotation": "类型批注中不允许使用列表表达式",
|
279
281
|
"literalEmptyArgs": "“Literal”后应有一个或多个类型参数",
|
280
|
-
"literalNamedUnicodeEscape": "
|
282
|
+
"literalNamedUnicodeEscape": "“文本”字符串批注不支持已命名的 unicode 转义序列",
|
281
283
|
"literalNotAllowed": "如果没有类型参数,则 \"Literal\" 不能用于此上下文",
|
282
284
|
"literalNotCallable": "无法实例化文本类型",
|
283
285
|
"literalUnsupportedType": "“Literal” 的类型参数必须是 None、int、bool、str 或 bytes)(文本值,或者是枚举值",
|
284
286
|
"matchIncompatible": "匹配语句需要 Python 3.10 或更高版本",
|
285
287
|
"matchIsNotExhaustive": "match 语句中的事例不会彻底处理所有值",
|
286
288
|
"maxParseDepthExceeded": "超出最大分析深度;将表达式分解为较小的子表达式",
|
287
|
-
"memberAccess": "
|
288
|
-
"memberDelete": "
|
289
|
-
"memberSet": "
|
289
|
+
"memberAccess": "无法访问类“{type}”的属性“{name}”",
|
290
|
+
"memberDelete": "无法删除类“{type}”的属性“{name}”",
|
291
|
+
"memberSet": "无法为类“{type}”的属性“{name}”赋值。",
|
290
292
|
"metaclassConflict": "派生类的元类必须是其所有基类的元类的子类",
|
291
293
|
"metaclassDuplicate": "只能提供一个元类",
|
292
294
|
"metaclassIsGeneric": "元类不能是泛型",
|
@@ -298,7 +300,7 @@
|
|
298
300
|
"missingSuperCall": "方法“{methodName}”在父类中不调用同名方法",
|
299
301
|
"moduleAsType": "模块不能用作类型",
|
300
302
|
"moduleNotCallable": "模块不可调用",
|
301
|
-
"moduleUnknownMember": "“{memberName}”不是模块“{moduleName}
|
303
|
+
"moduleUnknownMember": "“{memberName}”不是模块“{moduleName}”的已知属性",
|
302
304
|
"namedExceptAfterCatchAll": "在 catch-all(除子句外)后不能出现命名的 except 子句",
|
303
305
|
"namedParamAfterParamSpecArgs": "关键字参数“{name}”不能出现在 ParamSpec args 参数之后的签名中",
|
304
306
|
"namedTupleEmptyName": "命名元组中的名称不能为空",
|
@@ -332,7 +334,7 @@
|
|
332
334
|
"noneNotSubscriptable": "类型为“None”的对象不可下标",
|
333
335
|
"noneNotUsableWith": "类型为“None”的对象不能与“with”一起使用",
|
334
336
|
"noneOperator": "“None”不支持运算符\"{operator}\"",
|
335
|
-
"noneUnknownMember": "“{name}
|
337
|
+
"noneUnknownMember": "“{name}”不是 \"None\" 的已知属性",
|
336
338
|
"notRequiredArgCount": "“NotRequired” 之后应为单个类型参数",
|
337
339
|
"notRequiredNotInTypedDict": "此上下文中不允许使用“NotRequired”",
|
338
340
|
"objectNotCallable": "类型为“{type}”的对象不可调用",
|
@@ -363,18 +365,18 @@
|
|
363
365
|
"paramAnnotationMissing": "参数“{name}”缺少类型批注",
|
364
366
|
"paramAssignmentMismatch": "无法将\"{sourceType}\"类型的表达式分配给\"{paramType}\"类型的参数",
|
365
367
|
"paramNameMissing": "没有名为“{name}”的参数",
|
366
|
-
"paramSpecArgsKwargsUsage": "ParamSpec
|
368
|
+
"paramSpecArgsKwargsUsage": "ParamSpec 的 \"args\" 和 \"kwargs\" 属性必须同时出现在函数签名中",
|
367
369
|
"paramSpecArgsMissing": "缺少 ParamSpec“{type}”的参数",
|
368
|
-
"paramSpecArgsUsage": "ParamSpec 的
|
370
|
+
"paramSpecArgsUsage": "ParamSpec 的 \"args\" 属性仅在与 *args 参数一起使用时有效",
|
369
371
|
"paramSpecAssignedName": "必须将 ParamSpec 分配给名为“{name}”的变量",
|
370
372
|
"paramSpecContext": "此上下文中不允许使用 ParamSpec",
|
371
373
|
"paramSpecDefaultNotTuple": "ParamSpec 的默认值应为省略号、元组表达式或 ParamSpec",
|
372
374
|
"paramSpecFirstArg": "ParamSpec 作为第一个参数的预期名称",
|
373
|
-
"paramSpecKwargsUsage": "ParamSpec
|
375
|
+
"paramSpecKwargsUsage": "ParamSpec 的 \"kwargs\" 属性仅在与 **kwargs 参数一起使用时有效",
|
374
376
|
"paramSpecNotUsedByOuterScope": "ParamSpec“{name}”在此上下文中没有意义",
|
375
377
|
"paramSpecScopedToReturnType": "ParamSpec \"{name}\"在返回类型内的作用域为可调用,不能在函数体中引用",
|
376
378
|
"paramSpecUnknownArg": "ParamSpec 不支持多个参数",
|
377
|
-
"paramSpecUnknownMember": "“{name}”不是 ParamSpec
|
379
|
+
"paramSpecUnknownMember": "“{name}”不是 ParamSpec 的已知属性",
|
378
380
|
"paramSpecUnknownParam": "“{name}”是 ParamSpec 的未知参数",
|
379
381
|
"paramTypeCovariant": "不能在参数类型中使用协变类型变量",
|
380
382
|
"paramTypePartiallyUnknown": "参数\"{paramName}\"的类型部分未知",
|
@@ -418,7 +420,7 @@
|
|
418
420
|
"returnMissing": "所声明的返回类型为“{returnType}”的函数必须在所有代码路径上返回值",
|
419
421
|
"returnOutsideFunction": "“return”只能在函数中使用",
|
420
422
|
"returnTypeContravariant": "逆变类型变量不能用于返回类型",
|
421
|
-
"returnTypeMismatch": "
|
423
|
+
"returnTypeMismatch": "类型“{exprType}”的表达式与返回类型“{returnType}”不兼容",
|
422
424
|
"returnTypePartiallyUnknown": "返回类型“{returnType}”部分未知",
|
423
425
|
"returnTypeUnknown": "返回类型未知",
|
424
426
|
"revealLocalsArgs": "“reveal_locals”调用应没有参数",
|
@@ -484,8 +486,8 @@
|
|
484
486
|
"typeArgsMissingForClass": "泛型类“{name}”的预期类型参数",
|
485
487
|
"typeArgsTooFew": "为“{name}”提供的类型参数太少;应为 {expected},但收到 {received}",
|
486
488
|
"typeArgsTooMany": "为“{name}”提供的类型参数太多;应为 {expected},但收到 {received}",
|
487
|
-
"typeAssignmentMismatch": "
|
488
|
-
"typeAssignmentMismatchWildcard": "导入符号“{name}
|
489
|
+
"typeAssignmentMismatch": "类型“{sourceType}”的表达式与声明的类型“{destType}”不兼容",
|
490
|
+
"typeAssignmentMismatchWildcard": "导入符号“{name}”的类型“{sourceType}”与声明的类型“{destType}”不兼容",
|
489
491
|
"typeCallNotAllowed": "type() 调用不应用于类型批注",
|
490
492
|
"typeCheckOnly": "“{name}”标记为 @type_check_only,并且只能在类型注释中使用",
|
491
493
|
"typeCommentDeprecated": "已弃用类型注释;请改用类型批注",
|
@@ -520,7 +522,7 @@
|
|
520
522
|
"typeVarDefaultIllegal": "类型变量默认类型需要 Python 3.13 或更高版本",
|
521
523
|
"typeVarDefaultInvalidTypeVar": "类型参数“{name}”的默认类型是指超出范围的一个或多个类型变量",
|
522
524
|
"typeVarFirstArg": "TypeVar 作为第一个参数的预期名称",
|
523
|
-
"typeVarNoMember": "TypeVar
|
525
|
+
"typeVarNoMember": "TypeVar“{type}”没有属性“{name}”",
|
524
526
|
"typeVarNotSubscriptable": "TypeVar“{type}”不可下标",
|
525
527
|
"typeVarNotUsedByOuterScope": "类型变量“{name}”在此上下文中没有意义",
|
526
528
|
"typeVarPossiblyUnsolvable": "如果调用方没有为参数提供参数\"{param}\",则类型变量\"{name}\"可能无法解析",
|
@@ -634,7 +636,7 @@
|
|
634
636
|
"argsPositionOnly": "仅位置参数不匹配;应为 {expected},但收到 {received}",
|
635
637
|
"argumentType": "参数类型为“{type}”",
|
636
638
|
"argumentTypes": "参数类型:({types})",
|
637
|
-
"assignToNone": "
|
639
|
+
"assignToNone": "类型与 \"None\" 不兼容",
|
638
640
|
"asyncHelp": "是否表示“async with”?",
|
639
641
|
"baseClassIncompatible": "基类“{baseClass}”与类型“{type}”不兼容",
|
640
642
|
"baseClassIncompatibleSubclass": "基类“{baseClass}”派生自与类型“{type}”不兼容的“{subclass}”",
|
@@ -670,30 +672,30 @@
|
|
670
672
|
"keyUndefined": "“{name}”不是“{type}”中定义的密钥",
|
671
673
|
"kwargsParamMissing": "参数“**{paramName}”没有相应的参数",
|
672
674
|
"listAssignmentMismatch": "类型“{type}”与目标列表不兼容",
|
673
|
-
"literalAssignmentMismatch": "
|
675
|
+
"literalAssignmentMismatch": "“{sourceType}”与类型“{destType}”不兼容",
|
674
676
|
"matchIsNotExhaustiveHint": "如果未进行详尽处理,请添加\"case _: pass\"",
|
675
677
|
"matchIsNotExhaustiveType": "未处理的类型: \"{type}\"",
|
676
|
-
"memberAssignment": "
|
678
|
+
"memberAssignment": "无法将类型“{type}”的表达式分配给类“{classType}”的属性“{name}”",
|
677
679
|
"memberIsAbstract": "未实现“{type}.{name}”",
|
678
680
|
"memberIsAbstractMore": "还有 {count} 个...",
|
679
681
|
"memberIsClassVarInProtocol": "“{name}”在协议中定义为 ClassVar",
|
680
682
|
"memberIsFinalInProtocol": "\"{name}\"在协议中标记为 Final",
|
681
|
-
"memberIsInitVar": "
|
683
|
+
"memberIsInitVar": "“{name}”是仅限 init 的字段",
|
682
684
|
"memberIsInvariant": "“{name}”是固定的,因为它是可变的",
|
683
685
|
"memberIsNotClassVarInClass": "“{name}”必须定义为 ClassVar 才能与协议兼容",
|
684
686
|
"memberIsNotClassVarInProtocol": "“{name}”未在协议中定义为 ClassVar",
|
685
687
|
"memberIsNotFinalInProtocol": "“{name}”未在协议中标记为 Final",
|
686
688
|
"memberIsWritableInProtocol": "“{name}”在协议中是可写入的",
|
687
|
-
"memberSetClassVar": "
|
689
|
+
"memberSetClassVar": "无法通过类实例分配属性“{name}”,因为它是 ClassVar",
|
688
690
|
"memberTypeMismatch": "\"{name}\"是不兼容的类型",
|
689
|
-
"memberUnknown": "
|
691
|
+
"memberUnknown": "属性“{name}”未知",
|
690
692
|
"metaclassConflict": "元类“{metaclass1}”与“{metaclass2}”存在冲突",
|
691
693
|
"missingDeleter": "缺少属性 deleter方法",
|
692
694
|
"missingGetter": "缺少属性 getter 方法",
|
693
695
|
"missingSetter": "缺少属性 setter 方法",
|
694
696
|
"namedParamMissingInDest": "源中缺少关键字参数 \"{name}\"",
|
695
697
|
"namedParamMissingInSource": "源中缺少关键字参数“{name}”",
|
696
|
-
"namedParamTypeMismatch": "
|
698
|
+
"namedParamTypeMismatch": "类型为“{sourceType}”的关键字参数“{name}”与类型“{destType}”不兼容",
|
697
699
|
"namedTupleNotAllowed": "不能对实例或类检查使用 NamedTuple",
|
698
700
|
"newMethodLocation": "__new__方法已在类“{type}”中定义",
|
699
701
|
"newMethodSignature": "__new__的签名为“{type}”",
|
@@ -725,7 +727,7 @@
|
|
725
727
|
"overridePositionalParamCount": "位置参数计数不匹配;基方法具有 {baseCount},但替代具有 {overrideCount}",
|
726
728
|
"overrideReturnType": "返回类型不匹配:基方法返回类型\"{baseType}\",替代返回类型\"{overrideType}\"",
|
727
729
|
"overrideType": "基类将类型定义为\"{type}\"",
|
728
|
-
"paramAssignment": "参数 {index}:
|
730
|
+
"paramAssignment": "参数 {index}: 类型“{sourceType}”与类型“{destType}”不兼容",
|
729
731
|
"paramSpecMissingInOverride": "替代方法中缺少 ParamSpec 参数",
|
730
732
|
"paramType": "参数类型为“{paramType}”",
|
731
733
|
"privateImportFromPyTypedSource": "改为从\"{module}\"导入",
|
@@ -755,7 +757,7 @@
|
|
755
757
|
"tupleSizeMismatch": "元组大小不匹配;应为 {expected},但收到 {received}",
|
756
758
|
"tupleSizeMismatchIndeterminateDest": "元组大小不匹配;应为 {expected} 或更多,但收到 {received}",
|
757
759
|
"typeAliasInstanceCheck": "使用 \"type\" 语句创建的类型别名不能与实例和类检查一起使用",
|
758
|
-
"typeAssignmentMismatch": "
|
760
|
+
"typeAssignmentMismatch": "类型“{sourceType}”与类型“{destType}”不兼容",
|
759
761
|
"typeBound": "类型\"{sourceType}\"与类型变量\"{destType}\"的绑定类型\"{name}\"不兼容",
|
760
762
|
"typeConstrainedTypeVar": "类型\"{type}\"与受约束的类型变量\"{name}\"不兼容",
|
761
763
|
"typeIncompatible": "“{sourceType}”与“{destType}”不兼容",
|
@@ -17,10 +17,10 @@
|
|
17
17
|
"abstractMethodInvocation": "無法呼叫方法 \"{method}\",因為它是抽象且未執行",
|
18
18
|
"annotatedParamCountMismatch": "參數註釋計數不符: 應為 {expected},但收到 {received}",
|
19
19
|
"annotatedTypeArgMissing": "預期 \"Annotated\" 有一個類型引數和一或多個註釋",
|
20
|
-
"annotationBytesString": "
|
20
|
+
"annotationBytesString": "類型註釋無法使用位元組字串常值",
|
21
21
|
"annotationFormatString": "類型註釋不能使用格式字串常值 (f-strings)",
|
22
22
|
"annotationNotSupported": "此陳述式不支援類型註釋",
|
23
|
-
"annotationRawString": "
|
23
|
+
"annotationRawString": "類型註釋無法使用原始字串常值",
|
24
24
|
"annotationSpansStrings": "型別註釋無法跨越多個字串常值",
|
25
25
|
"annotationStringEscape": "型別註釋不可包含逸出字元",
|
26
26
|
"argAssignment": "類型 \"{argType}\" 的引數不能指派至類型 \"{paramType}\" 的參數",
|
@@ -103,6 +103,7 @@
|
|
103
103
|
"dataClassBaseClassNotFrozen": "凍結的類別不能從未凍結的類別繼承",
|
104
104
|
"dataClassConverterFunction": "類型 \"{argType}\" 的引數不是類型 \"{fieldType}\" 欄位 \"{fieldName}\" 的有效轉換程式",
|
105
105
|
"dataClassConverterOverloads": "\"{funcName}\" 沒有任何多載是類型 \"{fieldType}\" 欄位 \"{fieldName}\" 的有效轉換程式",
|
106
|
+
"dataClassFieldInheritedDefault": "\"{fieldName}\" 覆寫相同名稱的欄位,但缺少預設值",
|
106
107
|
"dataClassFieldWithDefault": "沒有預設值的欄位無法出現在具有預設值的欄位後面",
|
107
108
|
"dataClassFieldWithPrivateName": "Dataclass 欄位不能使用私人名稱",
|
108
109
|
"dataClassFieldWithoutAnnotation": "沒有型別註釋的 Dataclass 欄位會造成執行階段例外狀況",
|
@@ -188,7 +189,7 @@
|
|
188
189
|
"expectedIn": "預期為 \"in\"",
|
189
190
|
"expectedInExpr": "\"in\" 後預期為運算式",
|
190
191
|
"expectedIndentedBlock": "預期為縮排區塊",
|
191
|
-
"expectedMemberName": "\".\"
|
192
|
+
"expectedMemberName": "\".\" 後面應該接著屬性名稱。",
|
192
193
|
"expectedModuleName": "應為模組名稱",
|
193
194
|
"expectedNameAfterAs": "\"as\" 後面應有符號名稱",
|
194
195
|
"expectedNamedParameter": "關鍵字參數必須接著 \"*\"",
|
@@ -251,6 +252,7 @@
|
|
251
252
|
"incompatibleMethodOverride": "方法 \"{name}\" 會以不相容的方式覆寫類別 \"{className}\"",
|
252
253
|
"inconsistentIndent": "取消縮排量與先前縮排不符",
|
253
254
|
"inconsistentTabs": "在縮排中使用 Tab 字元和空格不一致",
|
255
|
+
"initMethodSelfParamTypeVar": "\"__init__\" 方法之 \"self\" 參數的類型註釋不得包含類別範圍的類型變數",
|
254
256
|
"initMustReturnNone": "\"__init__\" 的傳回類型必須為 None",
|
255
257
|
"initSubclassCallFailed": "__init_subclass__ 方法不正確的關鍵字引數",
|
256
258
|
"initSubclassClsParam": "__init_subclass__ 覆寫應接受 \"cls\" 參數",
|
@@ -277,16 +279,16 @@
|
|
277
279
|
"listAssignmentMismatch": "類型 \"{type}\" 的運算式不能指派至目標清單",
|
278
280
|
"listInAnnotation": "類型註釋中不允許清單運算式",
|
279
281
|
"literalEmptyArgs": "\"Literal\" 後面應有一或多個型別引數",
|
280
|
-
"literalNamedUnicodeEscape": "
|
282
|
+
"literalNamedUnicodeEscape": "\"Literal\" 字串常值中不支援具名 Unicode 逸出序列",
|
281
283
|
"literalNotAllowed": "沒有類型參數,\"Literal\" 不能在此內容中使用",
|
282
284
|
"literalNotCallable": "常值類型不能具現化",
|
283
285
|
"literalUnsupportedType": "\"Literal\" 的類型引數必須是 None、常值 (int、bool、str 或 bytes) 或列舉值",
|
284
286
|
"matchIncompatible": "比對陳述式需要 Python 3.10 或更新版本",
|
285
287
|
"matchIsNotExhaustive": "match 陳述式內的案例並未完整處理所有值",
|
286
288
|
"maxParseDepthExceeded": "超過剖析深度上限; 將運算式分成較小的子運算式",
|
287
|
-
"memberAccess": "
|
288
|
-
"memberDelete": "
|
289
|
-
"memberSet": "
|
289
|
+
"memberAccess": "無法存取類別 \"{type}\" 的屬性 \"{name}\"",
|
290
|
+
"memberDelete": "無法刪除類別 \"{type}\" 的屬性 \"{name}\"",
|
291
|
+
"memberSet": "無法指派至類別 \"{type}\" 的屬性 \"{name}\"",
|
290
292
|
"metaclassConflict": "衍生類別的變換類型必須是其所有基底類別的變換類型的子類別",
|
291
293
|
"metaclassDuplicate": "只能提供一個變換類型",
|
292
294
|
"metaclassIsGeneric": "變換類型不能是一般",
|
@@ -298,7 +300,7 @@
|
|
298
300
|
"missingSuperCall": "方法 \"{methodName}\" 未呼叫父類別中相同名稱的方法",
|
299
301
|
"moduleAsType": "模組不能當作型別來使用",
|
300
302
|
"moduleNotCallable": "模組無法呼叫",
|
301
|
-
"moduleUnknownMember": "\"{memberName}\" 不是模組 \"{moduleName}\"
|
303
|
+
"moduleUnknownMember": "\"{memberName}\" 不是模組 \"{moduleName}\" 的已知屬性",
|
302
304
|
"namedExceptAfterCatchAll": "catch-all except 子句後面不能出現具名 except 子句",
|
303
305
|
"namedParamAfterParamSpecArgs": "關鍵字參數 \"{name}\" 不能在簽章中出現在 ParamSpec args 參數之後",
|
304
306
|
"namedTupleEmptyName": "具名元組內的名稱不可為空白",
|
@@ -332,7 +334,7 @@
|
|
332
334
|
"noneNotSubscriptable": "型別 \"None\" 的物件不能下標",
|
333
335
|
"noneNotUsableWith": "類型 \"None\" 的物件不能與 \"with\" 搭配使用",
|
334
336
|
"noneOperator": "\"None\" 不支援運算子 \"{operator}\"",
|
335
|
-
"noneUnknownMember": "\"{name}\" 不是 \"None\"
|
337
|
+
"noneUnknownMember": "\"{name}\" 不是 \"None\" 的已知屬性",
|
336
338
|
"notRequiredArgCount": "預期 \"NotRequired\" 之後為單一類型引數",
|
337
339
|
"notRequiredNotInTypedDict": "此內容中不允許 \"NotRequired\"",
|
338
340
|
"objectNotCallable": "類型 \"{type}\" 的物件無法呼叫",
|
@@ -363,18 +365,18 @@
|
|
363
365
|
"paramAnnotationMissing": "參數 \"{name}\" 遺漏了型別註釋",
|
364
366
|
"paramAssignmentMismatch": "無法將型別 \"{sourceType}\" 的運算式指派給型別 \"{paramType}\" 的參數",
|
365
367
|
"paramNameMissing": "沒有名為 \"{name}\" 的參數",
|
366
|
-
"paramSpecArgsKwargsUsage": "ParamSpec 的 \"args\" 和 \"kwargs\"
|
368
|
+
"paramSpecArgsKwargsUsage": "ParamSpec 的 \"args\" 和 \"kwargs\" 屬性都必須出現在函式簽章內",
|
367
369
|
"paramSpecArgsMissing": "ParamSpec \"{type}\" 的引數遺失",
|
368
|
-
"paramSpecArgsUsage": "只有搭配 *args 參數使用時,ParamSpec 的 \"args\"
|
370
|
+
"paramSpecArgsUsage": "只有搭配 *args 參數使用時,ParamSpec 的 \"args\" 屬性才有效",
|
369
371
|
"paramSpecAssignedName": "ParamSpec 必須指派至名為 \"{name}\" 的變數",
|
370
372
|
"paramSpecContext": "此內容中不允許 ParamSpec",
|
371
373
|
"paramSpecDefaultNotTuple": "ParamSpec 的預設值必須是省略符號、元組運算式或 ParamSpec",
|
372
374
|
"paramSpecFirstArg": "應以 ParamSpec 的名稱作為第一個引數",
|
373
|
-
"paramSpecKwargsUsage": "ParamSpec 的 \"kwargs\"
|
375
|
+
"paramSpecKwargsUsage": "只有搭配 **kwargs 參數使用時,ParamSpec 的 \"kwargs\" 屬性才有效",
|
374
376
|
"paramSpecNotUsedByOuterScope": "ParamSpec \"{name}\" 在此內容中沒有意義",
|
375
377
|
"paramSpecScopedToReturnType": "ParamSpec \"{name}\" 的範圍為傳回型別內的可呼叫項目,無法在函式主體中參考",
|
376
378
|
"paramSpecUnknownArg": "ParamSpec 不支援一個以上的引數",
|
377
|
-
"paramSpecUnknownMember": "\"{name}\" 不是 ParamSpec
|
379
|
+
"paramSpecUnknownMember": "\"{name}\" 不是 ParamSpec 的已知屬性",
|
378
380
|
"paramSpecUnknownParam": "\"{name}\" 對 ParamSpec 是未知的參數",
|
379
381
|
"paramTypeCovariant": "不能在參數類型中使用共變數類型變數",
|
380
382
|
"paramTypePartiallyUnknown": "參數 \"{paramName}\" 的類型部分未知",
|
@@ -418,7 +420,7 @@
|
|
418
420
|
"returnMissing": "宣告類型為 \"{returnType}\" 的函式必須在所有程式碼路徑上傳回值",
|
419
421
|
"returnOutsideFunction": "\"return\" 只能在函式內使用",
|
420
422
|
"returnTypeContravariant": "逆變數型別變數不能用在傳回型別中",
|
421
|
-
"returnTypeMismatch": "類型 \"{exprType}\"
|
423
|
+
"returnTypeMismatch": "類型 \"{exprType}\" 的運算式與傳回型別 \"{returnType}\" 不相容",
|
422
424
|
"returnTypePartiallyUnknown": "傳回類型 \"{returnType}\" 部分未知",
|
423
425
|
"returnTypeUnknown": "傳回類型未知",
|
424
426
|
"revealLocalsArgs": "\"reveal_locals\" 呼叫不應有任何引數",
|
@@ -484,8 +486,8 @@
|
|
484
486
|
"typeArgsMissingForClass": "應為一般類別 \"{name}\" 的型別引數",
|
485
487
|
"typeArgsTooFew": "為 \"{name}\" 提供太少類型引數; 預期為 {expected} 但收到 {received}",
|
486
488
|
"typeArgsTooMany": "已為 \"{name}\" 提供太多型別引數; 應為 {expected} 但收到 {received}",
|
487
|
-
"typeAssignmentMismatch": "類型 \"{sourceType}\"
|
488
|
-
"typeAssignmentMismatchWildcard": "匯入符號 \"{name}\" 具有類型 \"{sourceType}\"
|
489
|
+
"typeAssignmentMismatch": "類型 \"{sourceType}\" 的運算式與宣告的類型 \"{destType}\" 不相容",
|
490
|
+
"typeAssignmentMismatchWildcard": "匯入符號 \"{name}\" 具有類型 \"{sourceType}\",與宣告的類型 \"{destType}\" 不相容",
|
489
491
|
"typeCallNotAllowed": "不應在類型註釋中使用 type() 呼叫",
|
490
492
|
"typeCheckOnly": "\"{name}\" 已標示為 @type_check_only,只能在型別註釋中使用",
|
491
493
|
"typeCommentDeprecated": "使用類型註解已取代; 請改為使用類型註釋",
|
@@ -520,7 +522,7 @@
|
|
520
522
|
"typeVarDefaultIllegal": "型別變數預設型別需要 Python 3.13 或較新的版本",
|
521
523
|
"typeVarDefaultInvalidTypeVar": "類型參數 \"{name}\" 的預設類型參考不在範圍的一或多個類型變數",
|
522
524
|
"typeVarFirstArg": "預期為 TypeVar 的名稱作為第一個引數",
|
523
|
-
"typeVarNoMember": "TypeVar \"{type}\"
|
525
|
+
"typeVarNoMember": "TypeVar \"{type}\" 沒有屬性 \"{name}\"",
|
524
526
|
"typeVarNotSubscriptable": "TypeVar \"{type}\" 不能下標",
|
525
527
|
"typeVarNotUsedByOuterScope": "類型變數 \"{name}\" 在此內容中沒有意義",
|
526
528
|
"typeVarPossiblyUnsolvable": "如果呼叫者未提供參數 \"{param}\" 的引數,則型別變數 \"{name}\" 可能無法解析",
|
@@ -634,7 +636,7 @@
|
|
634
636
|
"argsPositionOnly": "僅限位置的參數不符; 應為 {expected},但收到 {received}",
|
635
637
|
"argumentType": "引數類型為 \"{type}\"",
|
636
638
|
"argumentTypes": "引數型別: ({types})",
|
637
|
-
"assignToNone": "
|
639
|
+
"assignToNone": "類型與 \"None\" 不相容",
|
638
640
|
"asyncHelp": "您是指 \"async with\" 嗎?",
|
639
641
|
"baseClassIncompatible": "基底類別 \"{baseClass}\" 與類型 \"{type}\" 不相容",
|
640
642
|
"baseClassIncompatibleSubclass": "基底類別 \"{baseClass}\" 衍生自與類型 \"{type}\" 不相容的 \"{subclass}\"",
|
@@ -670,30 +672,30 @@
|
|
670
672
|
"keyUndefined": "\"{name}\" 不是 \"{type}\" 中定義的金鑰",
|
671
673
|
"kwargsParamMissing": "參數 \"**{paramName}\" 沒有對應的參數",
|
672
674
|
"listAssignmentMismatch": "類型 \"{type}\" 與目標清單不相容",
|
673
|
-
"literalAssignmentMismatch": "\"{sourceType}\"
|
675
|
+
"literalAssignmentMismatch": "\"{sourceType}\" 與類型 \"{destType}\" 不相容",
|
674
676
|
"matchIsNotExhaustiveHint": "如果不需要徹底處理,請新增 \"case _: pass\"",
|
675
677
|
"matchIsNotExhaustiveType": "未處理的類型: \"{type}\"",
|
676
|
-
"memberAssignment": "無法將型別 \"{type}\" 的運算式指派給類別 \"{classType}\"
|
678
|
+
"memberAssignment": "無法將型別 \"{type}\" 的運算式指派給類別 \"{classType}\" 的屬性 \"{name}\"",
|
677
679
|
"memberIsAbstract": "\"{type}.{name}\" 未實作",
|
678
680
|
"memberIsAbstractMore": "和其他 {count} 人...",
|
679
681
|
"memberIsClassVarInProtocol": "\"{name}\" 定義為通訊協定中的 ClassVar",
|
680
682
|
"memberIsFinalInProtocol": "\"{name}\" 在通訊協定中標示為 Final",
|
681
|
-
"memberIsInitVar": "
|
683
|
+
"memberIsInitVar": "\"{name}\" 是僅限初始化的欄位",
|
682
684
|
"memberIsInvariant": "\"{name}\" 為不變數,因為它可變動",
|
683
685
|
"memberIsNotClassVarInClass": "\"{name}\" 必須定義為 ClassVar,才能與通訊協定相容",
|
684
686
|
"memberIsNotClassVarInProtocol": "\"{name}\" 未定義為通訊協定中的 ClassVar",
|
685
687
|
"memberIsNotFinalInProtocol": "\"{name}\" 未在通訊協定中標示為 Final",
|
686
688
|
"memberIsWritableInProtocol": "\"{name}\" 在通訊協定中是可寫入的",
|
687
|
-
"memberSetClassVar": "
|
689
|
+
"memberSetClassVar": "無法透過類別執行個體指派屬性 \"{name}\",因為它是 ClassVar",
|
688
690
|
"memberTypeMismatch": "\"{name}\" 是不相容的類型",
|
689
|
-
"memberUnknown": "
|
691
|
+
"memberUnknown": "屬性 \"{name}\" 不明",
|
690
692
|
"metaclassConflict": "Metaclass「{metaclass1}」與「{metaclass2}」衝突",
|
691
693
|
"missingDeleter": "屬性 deleter 方法遺失",
|
692
694
|
"missingGetter": "屬性 getter 方法遺失",
|
693
695
|
"missingSetter": "遺漏了屬性 setter 方法",
|
694
696
|
"namedParamMissingInDest": "目的地中遺失關鍵字參數 \"{name}\"",
|
695
697
|
"namedParamMissingInSource": "來源中遺漏了關鍵字參數 \"{name}\"",
|
696
|
-
"namedParamTypeMismatch": "類型 \"{sourceType}\" 的關鍵字參數 \"{name}\"
|
698
|
+
"namedParamTypeMismatch": "類型 \"{sourceType}\" 的關鍵字參數 \"{name}\" 與類型 \"{destType}\" 不相容",
|
697
699
|
"namedTupleNotAllowed": "執行個體或類別檢查無法使用 NamedTuple",
|
698
700
|
"newMethodLocation": "__new__ 方法於類別 \"{type}\" 中定義",
|
699
701
|
"newMethodSignature": "__new__ 的簽章為 \"{type}\"",
|
@@ -725,7 +727,7 @@
|
|
725
727
|
"overridePositionalParamCount": "位置參數計數不相符; 基底方法有 {baseCount} 個,但覆寫有 {overrideCount} 個",
|
726
728
|
"overrideReturnType": "傳回類型不符: 基底方法會傳回類型 \"{baseType}\",覆寫會傳回類型 \"{overrideType}\"",
|
727
729
|
"overrideType": "基底類別會將類型定義為 \"{type}\"",
|
728
|
-
"paramAssignment": "參數 {index}: 類型 \"{sourceType}\"
|
730
|
+
"paramAssignment": "參數 {index}: 類型 \"{sourceType}\" 與類型 \"{destType}\" 不相容",
|
729
731
|
"paramSpecMissingInOverride": "覆寫方法中遺漏了 ParamSpec 參數",
|
730
732
|
"paramType": "參數類型為 \"{paramType}\"",
|
731
733
|
"privateImportFromPyTypedSource": "改為從 \"{module}\" 匯入",
|
@@ -755,7 +757,7 @@
|
|
755
757
|
"tupleSizeMismatch": "元組大小不符; 預期為 {expected},但收到 {received}",
|
756
758
|
"tupleSizeMismatchIndeterminateDest": "元組大小不符; 預期為 {expected} 或其他,但收到 {received}",
|
757
759
|
"typeAliasInstanceCheck": "使用 \"type\" 陳述式建立的類型別名不能搭配執行個體和類別檢查使用",
|
758
|
-
"typeAssignmentMismatch": "類型 \"{sourceType}\"
|
760
|
+
"typeAssignmentMismatch": "類型 \"{sourceType}\" 與類型 \"{destType}\" 不相容",
|
759
761
|
"typeBound": "類型 \"{sourceType}\" 與類型變數 \"{name}\" 的繫結類型 \"{destType}\" 不相容",
|
760
762
|
"typeConstrainedTypeVar": "類型 \"{type}\" 與限制類型變數 \"{name}\" 不相容",
|
761
763
|
"typeIncompatible": "\"{sourceType}\" 與 \"{destType}\" 不相容",
|
package/dist/parser/tokenizer.js
CHANGED
@@ -344,11 +344,17 @@ class Tokenizer {
|
|
344
344
|
this._cs.advance(2);
|
345
345
|
}
|
346
346
|
this._addLineRange();
|
347
|
+
if (this._tokens.length > 0 && this._tokens[this._tokens.length - 1].type === 2 /* TokenType.NewLine */) {
|
348
|
+
this._readIndentationAfterNewLine();
|
349
|
+
}
|
347
350
|
return true;
|
348
351
|
}
|
349
|
-
|
352
|
+
if (this._cs.nextChar === 10 /* Char.LineFeed */) {
|
350
353
|
this._cs.advance(2);
|
351
354
|
this._addLineRange();
|
355
|
+
if (this._tokens.length > 0 && this._tokens[this._tokens.length - 1].type === 2 /* TokenType.NewLine */) {
|
356
|
+
this._readIndentationAfterNewLine();
|
357
|
+
}
|
352
358
|
return true;
|
353
359
|
}
|
354
360
|
return this._handleInvalid();
|