@zzzen/pyright-internal 1.2.0-dev.20250126 → 1.2.0-dev.20250209

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.
Files changed (67) hide show
  1. package/dist/analyzer/binder.js +18 -11
  2. package/dist/analyzer/binder.js.map +1 -1
  3. package/dist/analyzer/checker.d.ts +1 -0
  4. package/dist/analyzer/checker.js +23 -5
  5. package/dist/analyzer/checker.js.map +1 -1
  6. package/dist/analyzer/codeFlowEngine.js +2 -2
  7. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  8. package/dist/analyzer/dataClasses.js +4 -4
  9. package/dist/analyzer/dataClasses.js.map +1 -1
  10. package/dist/analyzer/parameterUtils.d.ts +4 -1
  11. package/dist/analyzer/parameterUtils.js +7 -3
  12. package/dist/analyzer/parameterUtils.js.map +1 -1
  13. package/dist/analyzer/parseTreeUtils.d.ts +1 -0
  14. package/dist/analyzer/parseTreeUtils.js +14 -0
  15. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  16. package/dist/analyzer/tuples.d.ts +1 -0
  17. package/dist/analyzer/tuples.js +34 -0
  18. package/dist/analyzer/tuples.js.map +1 -1
  19. package/dist/analyzer/typeEvaluator.js +193 -120
  20. package/dist/analyzer/typeEvaluator.js.map +1 -1
  21. package/dist/analyzer/typeUtils.d.ts +2 -1
  22. package/dist/analyzer/typeUtils.js +8 -2
  23. package/dist/analyzer/typeUtils.js.map +1 -1
  24. package/dist/analyzer/typedDicts.js +25 -10
  25. package/dist/analyzer/typedDicts.js.map +1 -1
  26. package/dist/common/envVarUtils.js +4 -0
  27. package/dist/common/envVarUtils.js.map +1 -1
  28. package/dist/localization/localize.d.ts +4 -1
  29. package/dist/localization/localize.js +2 -1
  30. package/dist/localization/localize.js.map +1 -1
  31. package/dist/localization/package.nls.cs.json +8 -4
  32. package/dist/localization/package.nls.de.json +8 -4
  33. package/dist/localization/package.nls.en-us.json +7 -3
  34. package/dist/localization/package.nls.es.json +8 -4
  35. package/dist/localization/package.nls.fr.json +8 -4
  36. package/dist/localization/package.nls.it.json +8 -4
  37. package/dist/localization/package.nls.ja.json +8 -4
  38. package/dist/localization/package.nls.ko.json +8 -4
  39. package/dist/localization/package.nls.pl.json +8 -4
  40. package/dist/localization/package.nls.pt-br.json +8 -4
  41. package/dist/localization/package.nls.qps-ploc.json +4 -0
  42. package/dist/localization/package.nls.ru.json +8 -4
  43. package/dist/localization/package.nls.tr.json +8 -4
  44. package/dist/localization/package.nls.zh-cn.json +8 -4
  45. package/dist/localization/package.nls.zh-tw.json +8 -4
  46. package/dist/parser/parser.js +6 -3
  47. package/dist/parser/parser.js.map +1 -1
  48. package/dist/parser/tokenizer.js +9 -7
  49. package/dist/parser/tokenizer.js.map +1 -1
  50. package/dist/tests/fourslash/completions.vardecls.fourslash.js +2 -1
  51. package/dist/tests/fourslash/completions.vardecls.fourslash.js.map +1 -1
  52. package/dist/tests/fourslash/hover.async.fourslash.js +1 -1
  53. package/dist/tests/fourslash/hover.async.fourslash.js.map +1 -1
  54. package/dist/tests/harness/fourslash/fourSlashTypes.d.ts +2 -1
  55. package/dist/tests/harness/fourslash/fourSlashTypes.js +2 -0
  56. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  57. package/dist/tests/harness/fourslash/testState.js +7 -0
  58. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  59. package/dist/tests/typeEvaluator1.test.js +1 -1
  60. package/dist/tests/typeEvaluator2.test.js +1 -1
  61. package/dist/tests/typeEvaluator4.test.js +7 -3
  62. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  63. package/dist/tests/typeEvaluator5.test.js +3 -3
  64. package/dist/tests/typeEvaluator6.test.js +2 -2
  65. package/dist/tests/typeEvaluator7.test.js +5 -1
  66. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  67. package/package.json +1 -1
@@ -344,7 +344,7 @@
344
344
  "noneNotIterable": "型 \"None\" のオブジェクトを反復可能な値として使用することはできません",
345
345
  "noneNotSubscriptable": "\"None\" 型のオブジェクトは添字可能ではありません",
346
346
  "noneNotUsableWith": "Object of type \"None\" cannot be used with \"with\"",
347
- "noneNotUsableWithAsync": "Object of type \"None\" cannot be used with \"async with\"",
347
+ "noneNotUsableWithAsync": " \"None\" \"async with\" は同時に使用できません",
348
348
  "noneOperator": "演算子 \"{operator}\" は \"None\" ではサポートされていません",
349
349
  "noneUnknownMember": "\"{name}\" は \"None\" の既知の属性ではありません",
350
350
  "notRequiredArgCount": "\"NotRequired\" の後に 1 つの型引数が必要です",
@@ -365,7 +365,11 @@
365
365
  "overloadAbstractImplMismatch": "オーバーロードは実装の抽象状態と一致する必要があります",
366
366
  "overloadAbstractMismatch": "オーバーロードはすべて抽象であるか抽象でない必要があります",
367
367
  "overloadClassMethodInconsistent": "\"{name}\" のオーバーロードでは、@classmethod を不整合に使用します",
368
+ "overloadFinalImpl": "@final decorator should be applied only to the implementation",
369
+ "overloadFinalNoImpl": "Only the first overload should be marked @final",
368
370
  "overloadImplementationMismatch": "オーバーロードされた実装がオーバーロード {index} のシグネチャと一致しません",
371
+ "overloadOverrideImpl": "@override decorator should be applied only to the implementation",
372
+ "overloadOverrideNoImpl": "Only the first overload should be marked @override",
369
373
  "overloadReturnTypeMismatch": "\"{name}\" のオーバーロード {prevIndex} はオーバーロード {newIndex} と重複し、互換性のない型を返します",
370
374
  "overloadStaticMethodInconsistent": "\"{name}\" のオーバーロードでは、@staticmethod を不整合に使用します",
371
375
  "overloadWithoutImplementation": "\"{name}\" は overload としてマークされていますが、実装が提供されていません",
@@ -395,7 +399,7 @@
395
399
  "parenthesizedContextManagerIllegal": "Parentheses within \"with\" statement requires Python 3.9 or newer",
396
400
  "patternNeverMatches": "サブジェクトの種類 \"{type}\" のパターンは一致しません",
397
401
  "positionArgAfterNamedArg": "キーワード引数の後に位置引数を指定することはできません",
398
- "positionArgAfterUnpackedDictArg": "Positional argument cannot appear after keyword argument unpacking",
402
+ "positionArgAfterUnpackedDictArg": "キーワード引数のアンパックの後に位置引数を指定することはできません",
399
403
  "positionOnlyAfterArgs": "\"*\" パラメーターの後に位置のみのパラメーターの区切り文字を使用することはできません",
400
404
  "positionOnlyAfterKeywordOnly": "\"/\" パラメーターは 、\"*\" パラメーターの前に指定する必要があります",
401
405
  "positionOnlyAfterNon": "位置のみのパラメーターの後に位置のみのパラメーターを指定することはできません",
@@ -519,8 +523,8 @@
519
523
  "typeNotSupportBinaryOperatorBidirectional": "型 \"{leftType}\" と \"{rightType}\" に対して演算子 \"{operator}\" はサポートされていません。予期された型が \"{expectedType}\" の場合",
520
524
  "typeNotSupportUnaryOperator": "演算子 \"{operator}\" は型 \"{type}\" ではサポートされていません",
521
525
  "typeNotSupportUnaryOperatorBidirectional": "型 \"{type}\" が \"{expectedType}\" の場合、演算子 \"{operator}\" はサポートされていません",
522
- "typeNotUsableWith": "Object of type \"{type}\" cannot be used with \"with\" because it does not correctly implement {method}",
523
- "typeNotUsableWithAsync": "Object of type \"{type}\" cannot be used with \"async with\" because it does not correctly implement {method}",
526
+ "typeNotUsableWith": " \"{type}\" のオブジェクトは、{method} を正しく実装していないため、\"with\" と共に使用できません",
527
+ "typeNotUsableWithAsync": " \"{type}\" のオブジェクトは、{method} を正しく実装していないため、\"async with\" と共に使用できません",
524
528
  "typeParameterBoundNotAllowed": "バインドまたは制約を可変個引数型パラメーターまたは ParamSpec と共に使用することはできません",
525
529
  "typeParameterConstraintTuple": "型パラメーター制約は、2 つ以上の型のタプルである必要があります",
526
530
  "typeParameterExistingTypeParameter": "型パラメーター \"{name}\" は既に使用されています",
@@ -344,7 +344,7 @@
344
344
  "noneNotIterable": "\"None\" 형식의 개체는 반복 가능한 값으로 사용할 수 없습니다.",
345
345
  "noneNotSubscriptable": "’None’ 유형의 개체는 아래 첨자를 사용할 수 없습니다.",
346
346
  "noneNotUsableWith": "Object of type \"None\" cannot be used with \"with\"",
347
- "noneNotUsableWithAsync": "Object of type \"None\" cannot be used with \"async with\"",
347
+ "noneNotUsableWithAsync": "\"None\" 형식의 개체는 \"async with\"와 함께 사용할 수 없습니다.",
348
348
  "noneOperator": "\"None\"에 대해 연산자 \"{operator}\"이(가) 지원되지 않습니다.",
349
349
  "noneUnknownMember": "\"{name}\"은(는) \"None\"의 알려진 특성이 아님",
350
350
  "notRequiredArgCount": "\"NotRequired\" 뒤에 단일 형식 인수가 필요합니다.",
@@ -365,7 +365,11 @@
365
365
  "overloadAbstractImplMismatch": "오버로드는 구현의 추상 상태와 일치해야 합니다.",
366
366
  "overloadAbstractMismatch": "오버로드는 모두 추상이거나 아니어야 합니다",
367
367
  "overloadClassMethodInconsistent": "\"{name}\"의 오버로드가 @classmethod를 일관되지 않게 사용합니다.",
368
+ "overloadFinalImpl": "@final decorator should be applied only to the implementation",
369
+ "overloadFinalNoImpl": "Only the first overload should be marked @final",
368
370
  "overloadImplementationMismatch": "오버로드된 구현이 오버로드 {index}의 시그니처와 일치하지 않습니다.",
371
+ "overloadOverrideImpl": "@override decorator should be applied only to the implementation",
372
+ "overloadOverrideNoImpl": "Only the first overload should be marked @override",
369
373
  "overloadReturnTypeMismatch": "\"{name}\"에 대한 {prevIndex} 오버로드가 오버로드 {newIndex}과(와) 겹치고 호환되지 않는 형식을 반환합니다.",
370
374
  "overloadStaticMethodInconsistent": "\"{name}\"의 오버로드가 @staticmethod를 일관되지 않게 사용합니다.",
371
375
  "overloadWithoutImplementation": "“{name}“이(가) overload로 표시되어 있지만 구현이 제공되지 않았습니다.",
@@ -395,7 +399,7 @@
395
399
  "parenthesizedContextManagerIllegal": "Parentheses within \"with\" statement requires Python 3.9 or newer",
396
400
  "patternNeverMatches": "제목 형식 \"{type}\"에 대해 패턴이 일치하지 않습니다.",
397
401
  "positionArgAfterNamedArg": "위치 인수는 키워드 인수 뒤에 나타날 수 없습니다.",
398
- "positionArgAfterUnpackedDictArg": "Positional argument cannot appear after keyword argument unpacking",
402
+ "positionArgAfterUnpackedDictArg": "위치 인수는 키워드 인수 압축 해제 후에 나타날 수 없습니다.",
399
403
  "positionOnlyAfterArgs": "위치 전용 매개 변수 구분 기호는 \"*\" 매개 변수 뒤에 사용할 수 없습니다.",
400
404
  "positionOnlyAfterKeywordOnly": "\"/\" 매개 변수는 \"*\" 매개 변수 앞에 나타나야 합니다.",
401
405
  "positionOnlyAfterNon": "위치 전용이 아닌 매개 변수 다음에는 위치 전용 매개 변수를 사용할 수 없습니다.",
@@ -519,8 +523,8 @@
519
523
  "typeNotSupportBinaryOperatorBidirectional": "예상 형식이 ‘{expectedType}’인 경우 ‘{leftType}’ 및 ‘{rightType}’ 형식에 대해 ‘{operator}’ 연산자가 지원되지 않습니다.",
520
524
  "typeNotSupportUnaryOperator": "‘{type}’‘에 대해 ’{operator}‘ 연산자가 지원되지 않습니다.",
521
525
  "typeNotSupportUnaryOperatorBidirectional": "예상 형식이 \"{expectedType}\" 경우 형식 \"{type}\"에 대해 연산자 \"{operator}\"이(가) 지원되지 않습니다.",
522
- "typeNotUsableWith": "Object of type \"{type}\" cannot be used with \"with\" because it does not correctly implement {method}",
523
- "typeNotUsableWithAsync": "Object of type \"{type}\" cannot be used with \"async with\" because it does not correctly implement {method}",
526
+ "typeNotUsableWith": "\"{type}\" 형식의 개체는 {method}을(를) 올바르게 구현하지 않으므로 \"with\" 함께 사용할 없습니다.",
527
+ "typeNotUsableWithAsync": "\"{type}\" 형식의 개체는 {method}을(를) 올바르게 구현하지 않으므로 \"async with\" 함께 사용할 없습니다.",
524
528
  "typeParameterBoundNotAllowed": "바운드 또는 제약 조건은 가변 인자 형식 매개 변수 또는 ParamSpec와 함께 사용할 수 없습니다.",
525
529
  "typeParameterConstraintTuple": "형식 매개 변수 제약 조건은 두 개 이상의 형식 튜플이어야 합니다.",
526
530
  "typeParameterExistingTypeParameter": "형식 매개 변수 \"{name}\"이(가) 이미 사용 중입니다.",
@@ -344,7 +344,7 @@
344
344
  "noneNotIterable": "Obiekt typu „None” nie może być używany jako wartość iterowalna",
345
345
  "noneNotSubscriptable": "Obiekt typu „None” nie może być użyty w indeksie dolnym",
346
346
  "noneNotUsableWith": "Object of type \"None\" cannot be used with \"with\"",
347
- "noneNotUsableWithAsync": "Object of type \"None\" cannot be used with \"async with\"",
347
+ "noneNotUsableWithAsync": "Obiekt typu None nie może być używany z parametrem „async with",
348
348
  "noneOperator": "Operator „{operator}” nie jest obsługiwany dla wartości „None”",
349
349
  "noneUnknownMember": "Nazwa „{name}” nie jest znanym atrybutem „None”",
350
350
  "notRequiredArgCount": "Oczekiwano jednego argumentu typu po wartości „NotRequired”",
@@ -365,7 +365,11 @@
365
365
  "overloadAbstractImplMismatch": "Przeciążenia muszą być zgodne ze stanem abstrakcyjnym implementacji",
366
366
  "overloadAbstractMismatch": "Przeciążenia muszą być abstrakcyjne lub nieabstrakcyjne",
367
367
  "overloadClassMethodInconsistent": "Przeciążenia dla nazwy „{name}” używają metody @classmethod niekonsekwentnie",
368
+ "overloadFinalImpl": "@final decorator should be applied only to the implementation",
369
+ "overloadFinalNoImpl": "Only the first overload should be marked @final",
368
370
  "overloadImplementationMismatch": "Przeciążone wdrożenie jest niespójne z sygnaturą przeciążenia {index}",
371
+ "overloadOverrideImpl": "@override decorator should be applied only to the implementation",
372
+ "overloadOverrideNoImpl": "Only the first overload should be marked @override",
369
373
  "overloadReturnTypeMismatch": "Przeciążenie {prevIndex} dla nazwy „{name}” nakłada się na przeciążenie {newIndex} i zwraca niezgodny typ",
370
374
  "overloadStaticMethodInconsistent": "Przeciążenia dla nazwy „{name}” używają metody @staticmethod niekonsekwentnie",
371
375
  "overloadWithoutImplementation": "Nazwa „{name}” jest oznaczona jako overload, ale nie zapewniono implementacji",
@@ -395,7 +399,7 @@
395
399
  "parenthesizedContextManagerIllegal": "Parentheses within \"with\" statement requires Python 3.9 or newer",
396
400
  "patternNeverMatches": "Wzorzec nigdy nie zostanie dopasowany do typu podmiotu „{type}”",
397
401
  "positionArgAfterNamedArg": "Argument pozycyjny nie może występować po argumentach słów kluczowych",
398
- "positionArgAfterUnpackedDictArg": "Positional argument cannot appear after keyword argument unpacking",
402
+ "positionArgAfterUnpackedDictArg": "Argument pozycyjny nie może występować po rozpakowaniu argumentu słowa kluczowego",
399
403
  "positionOnlyAfterArgs": "Separator parametru tylko do pozycjonowania jest niedozwolony po parametrze „*”",
400
404
  "positionOnlyAfterKeywordOnly": "Parametr „/” musi występować przed parametrem „*”.",
401
405
  "positionOnlyAfterNon": "Parametr tylko do pozycjonowania jest niedozwolony po parametrze, który nie jest tylko do pozycjonowania",
@@ -519,8 +523,8 @@
519
523
  "typeNotSupportBinaryOperatorBidirectional": "Operator „{operator}” nie jest obsługiwany dla typów „{leftType}” i „{rightType}”, gdy oczekiwanym typem jest „{expectedType}”",
520
524
  "typeNotSupportUnaryOperator": "Operator „{operator}” nie jest obsługiwany dla typu „{type}”",
521
525
  "typeNotSupportUnaryOperatorBidirectional": "Operator „{operator}” nie jest obsługiwany dla typu „{type}”, gdy oczekiwanym typem jest „{expectedType}”",
522
- "typeNotUsableWith": "Object of type \"{type}\" cannot be used with \"with\" because it does not correctly implement {method}",
523
- "typeNotUsableWithAsync": "Object of type \"{type}\" cannot be used with \"async with\" because it does not correctly implement {method}",
526
+ "typeNotUsableWith": "Obiekt typu {type} nie może być używany z parametrem „with”, ponieważ nie wdraża poprawnie metody {method}",
527
+ "typeNotUsableWithAsync": "Obiekt typu {type} nie może być używany z parametrem „with”, ponieważ nie wdraża on poprawnie metody {method}",
524
528
  "typeParameterBoundNotAllowed": "Powiązanie lub ograniczenie nie może być używane z parametrem typu ze zmienną liczbą argumentów lub parametrem ParamSpec",
525
529
  "typeParameterConstraintTuple": "Ograniczenie parametru typu musi być krotką dwóch lub więcej typów",
526
530
  "typeParameterExistingTypeParameter": "Parametr typu „{name}” jest już używany",
@@ -344,7 +344,7 @@
344
344
  "noneNotIterable": "O objeto do tipo \"None\" não pode ser usado como valor iterável",
345
345
  "noneNotSubscriptable": "O objeto do tipo \"None\" não é subscrito",
346
346
  "noneNotUsableWith": "Object of type \"None\" cannot be used with \"with\"",
347
- "noneNotUsableWithAsync": "Object of type \"None\" cannot be used with \"async with\"",
347
+ "noneNotUsableWithAsync": "Objeto do tipo \"None\" não pode ser usado com \"async with\"",
348
348
  "noneOperator": "Operador \"{operator}\" incompatível com \"None\"",
349
349
  "noneUnknownMember": "\"{name}\" não é um atributo conhecido de \"None\"",
350
350
  "notRequiredArgCount": "Argumento de tipo único esperado após \"NotRequired\"",
@@ -365,7 +365,11 @@
365
365
  "overloadAbstractImplMismatch": "As sobrecargas devem corresponder ao status abstrato da implementação",
366
366
  "overloadAbstractMismatch": "As sobrecargas devem ser abstratas ou não",
367
367
  "overloadClassMethodInconsistent": "Sobrecargas para \"{name}\" usam @classmethod inconsistentemente",
368
+ "overloadFinalImpl": "@final decorator should be applied only to the implementation",
369
+ "overloadFinalNoImpl": "Only the first overload should be marked @final",
368
370
  "overloadImplementationMismatch": "A implementação sobrecarregada não é consistente com a assinatura da sobrecarga {index}",
371
+ "overloadOverrideImpl": "@override decorator should be applied only to the implementation",
372
+ "overloadOverrideNoImpl": "Only the first overload should be marked @override",
369
373
  "overloadReturnTypeMismatch": "A sobrecarga {prevIndex} para \"{name}\" sobrepõe a sobrecarga {newIndex} e retorna um tipo incompatível",
370
374
  "overloadStaticMethodInconsistent": "Sobrecargas para \"{name}\" usam @staticmethod inconsistentemente",
371
375
  "overloadWithoutImplementation": "\"{name}\" está marcado como overload, mas nenhuma implementação foi fornecida",
@@ -395,7 +399,7 @@
395
399
  "parenthesizedContextManagerIllegal": "Parentheses within \"with\" statement requires Python 3.9 or newer",
396
400
  "patternNeverMatches": "O padrão nunca será correspondido para o tipo de assunto \"{type}\"",
397
401
  "positionArgAfterNamedArg": "O argumento posicional não pode aparecer após argumentos de palavra-chave",
398
- "positionArgAfterUnpackedDictArg": "Positional argument cannot appear after keyword argument unpacking",
402
+ "positionArgAfterUnpackedDictArg": "O argumento posicional não pode aparecer após desempacotamento de argumento de palavra-chave",
399
403
  "positionOnlyAfterArgs": "Separador de parâmetro somente de posição não permitido após o parâmetro \"*\"",
400
404
  "positionOnlyAfterKeywordOnly": "O parâmetro \"/\" deve aparecer antes do parâmetro \"*\"",
401
405
  "positionOnlyAfterNon": "Parâmetro somente de posição não permitido após o parâmetro que não é somente posição",
@@ -519,8 +523,8 @@
519
523
  "typeNotSupportBinaryOperatorBidirectional": "O operador \"{operator}\" não tem suporte para os tipos \"{leftType}\" e \"{rightType}\" quando o tipo esperado é \"{expectedType}\"",
520
524
  "typeNotSupportUnaryOperator": "Operador \"{operator}\" sem suporte para o tipo \"{type}\"",
521
525
  "typeNotSupportUnaryOperatorBidirectional": "O operador \"{operator}\" não tem suporte para o tipo \"{type}\" quando o tipo esperado é \"{expectedType}\"",
522
- "typeNotUsableWith": "Object of type \"{type}\" cannot be used with \"with\" because it does not correctly implement {method}",
523
- "typeNotUsableWithAsync": "Object of type \"{type}\" cannot be used with \"async with\" because it does not correctly implement {method}",
526
+ "typeNotUsableWith": "Objeto do tipo \"{type}\" não pode ser usado com \"with\" porque não implementa corretamente o {method}",
527
+ "typeNotUsableWithAsync": "Objeto do tipo \"{type}\" não pode ser usado com \"async with\" porque não implementa corretamente o {method}",
524
528
  "typeParameterBoundNotAllowed": "Associação ou restrição não pode ser usada com um parâmetro de tipo variadic ou ParamSpec",
525
529
  "typeParameterConstraintTuple": "A restrição de parâmetro de tipo deve ser uma tupla de dois ou mais tipos",
526
530
  "typeParameterExistingTypeParameter": "O parâmetro de tipo \"{name}\" já está em uso",
@@ -365,7 +365,11 @@
365
365
  "overloadAbstractImplMismatch": "[IgMzu][นั้Øvërløæðs mµst mætçh æþstræçt stætµs øf ïmplëmëñtætïøñẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्นั้ढूँ]",
366
366
  "overloadAbstractMismatch": "[54DCM][นั้Øvërløæðs mµst æll þë æþstræçt ør ñøtẤğ倪İЂҰक्र्तिृまẤนั้ढूँ]",
367
367
  "overloadClassMethodInconsistent": "[8y6vM][นั้Øvërløæðs før \"{ñæmë}\" µsë @classmethod ïñçøñsïstëñtlÿẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्นั้ढूँ]",
368
+ "overloadFinalImpl": "[Tj0nI][นั้@final ðëçørætør shøµlð þë æpplïëð øñlÿ tø thë ïmplëmëñtætïøñẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्นั้ढूँ]",
369
+ "overloadFinalNoImpl": "[CReyN][นั้Øñlÿ thë fïrst øvërløæð shøµlð þë mærkëð @finalẤğ倪İЂҰक्र्तिृまẤğ倪İЂนั้ढूँ]",
368
370
  "overloadImplementationMismatch": "[dXlXE][นั้Øvërløæðëð ïmplëmëñtætïøñ ïs ñøt çøñsïstëñt wïth sïgñætµrë øf øvërløæð {ïñðëx}Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪นั้ढूँ]",
371
+ "overloadOverrideImpl": "[vvyEk][นั้@override ðëçørætør shøµlð þë æpplïëð øñlÿ tø thë ïmplëmëñtætïøñẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृนั้ढूँ]",
372
+ "overloadOverrideNoImpl": "[cMlkw][นั้Øñlÿ thë fïrst øvërløæð shøµlð þë mærkëð @overrideẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰนั้ढूँ]",
369
373
  "overloadReturnTypeMismatch": "[6BN74][นั้Øvërløæð {prëvÏñðëx} før \"{ñæmë}\" øvërlæps øvërløæð {ñëwÏñðëx} æñð rëtµrñs æñ ïñçømpætïþlë tÿpëẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्นั้ढूँ]",
370
374
  "overloadStaticMethodInconsistent": "[PKQvM][นั้Øvërløæðs før \"{ñæmë}\" µsë @staticmethod ïñçøñsïstëñtlÿẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्นั้ढूँ]",
371
375
  "overloadWithoutImplementation": "[mn33a][นั้\"{ñæmë}\" ïs mærkëð æs overload, þµt ñø ïmplëmëñtætïøñ ïs prøvïðëðẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृนั้ढूँ]",
@@ -344,7 +344,7 @@
344
344
  "noneNotIterable": "Объект типа \"None\" не может использоваться в качестве итерируемого значения",
345
345
  "noneNotSubscriptable": "Объект типа \"None\" не подлежит подписке",
346
346
  "noneNotUsableWith": "Object of type \"None\" cannot be used with \"with\"",
347
- "noneNotUsableWithAsync": "Object of type \"None\" cannot be used with \"async with\"",
347
+ "noneNotUsableWithAsync": "Объект типа \"None\" нельзя использовать с \"async with\"",
348
348
  "noneOperator": "Оператор \"{operator}\" не поддерживается для \"None\"",
349
349
  "noneUnknownMember": "\"{name}\" не является известным атрибутом \"None\"",
350
350
  "notRequiredArgCount": "После \"NotRequired\" ожидается один аргумент типа",
@@ -365,7 +365,11 @@
365
365
  "overloadAbstractImplMismatch": "Перегрузки должны соответствовать абстрактному статусу реализации",
366
366
  "overloadAbstractMismatch": "Все перегрузки должны быть абстрактными или не абстрактными",
367
367
  "overloadClassMethodInconsistent": "Перегрузки для \"{name}\" используют @classmethod несогласованно",
368
+ "overloadFinalImpl": "@final decorator should be applied only to the implementation",
369
+ "overloadFinalNoImpl": "Only the first overload should be marked @final",
368
370
  "overloadImplementationMismatch": "Перегруженная реализация не согласована с сигнатурой перегрузки {index}",
371
+ "overloadOverrideImpl": "@override decorator should be applied only to the implementation",
372
+ "overloadOverrideNoImpl": "Only the first overload should be marked @override",
369
373
  "overloadReturnTypeMismatch": "Перегрузка {prevIndex} для \"{name}\" перекрывает перегрузку {newIndex} и возвращает несовместимый тип",
370
374
  "overloadStaticMethodInconsistent": "Перегрузки для \"{name}\" используют @staticmethod несогласованно",
371
375
  "overloadWithoutImplementation": "\"{name}\" помечен как overload, но реализация не предоставлена",
@@ -395,7 +399,7 @@
395
399
  "parenthesizedContextManagerIllegal": "Parentheses within \"with\" statement requires Python 3.9 or newer",
396
400
  "patternNeverMatches": "Шаблон никогда не будет совпадать для типа субъекта \"{type}\"",
397
401
  "positionArgAfterNamedArg": "Позиционный аргумент не может стоять после аргументов типа \"ключевое слово\"",
398
- "positionArgAfterUnpackedDictArg": "Positional argument cannot appear after keyword argument unpacking",
402
+ "positionArgAfterUnpackedDictArg": "Позиционный аргумент не может стоять после распаковки аргумента ключевого слова",
399
403
  "positionOnlyAfterArgs": "Разделитель чисто позиционных параметров после параметра \"*\" не разрешен",
400
404
  "positionOnlyAfterKeywordOnly": "Параметр \"/\" должен располагаться перед параметром \"*\"",
401
405
  "positionOnlyAfterNon": "Чисто позиционный параметр не разрешен после параметра, который не является чисто позиционным",
@@ -519,8 +523,8 @@
519
523
  "typeNotSupportBinaryOperatorBidirectional": "Оператор \"{operator}\" не поддерживается для типов \"{leftType}\" и \"{rightType}\", если ожидаемый тип является \"{expectedType}\"",
520
524
  "typeNotSupportUnaryOperator": "Оператор \"{operator}\" не поддерживается для типа \"{type}\"",
521
525
  "typeNotSupportUnaryOperatorBidirectional": "Оператор \"{operator}\" не поддерживается для типа \"{type}\", если ожидается тип \"{expectedType}\"",
522
- "typeNotUsableWith": "Object of type \"{type}\" cannot be used with \"with\" because it does not correctly implement {method}",
523
- "typeNotUsableWithAsync": "Object of type \"{type}\" cannot be used with \"async with\" because it does not correctly implement {method}",
526
+ "typeNotUsableWith": "Объект типа \"{type}\" нельзя использовать с ключевым словом \"with\", так как он неправильно реализует метод {method}",
527
+ "typeNotUsableWithAsync": "Объект типа \"{type}\" нельзя использовать с ключевым словом \"async with\", так как он неправильно реализует метод {method}",
524
528
  "typeParameterBoundNotAllowed": "Привязку или ограничение нельзя использовать с параметром типа variadic или ParamSpec",
525
529
  "typeParameterConstraintTuple": "Ограничение параметра типа должно быть кортежем двух или более типов",
526
530
  "typeParameterExistingTypeParameter": "Параметр типа \"{name}\" уже используется",
@@ -344,7 +344,7 @@
344
344
  "noneNotIterable": "\"None\" türündeki nesne, yeniden kullanılabilir değer olarak kullanılamaz",
345
345
  "noneNotSubscriptable": "\"None\" türündeki nesne alt simgeleştirilebilir değil",
346
346
  "noneNotUsableWith": "Object of type \"None\" cannot be used with \"with\"",
347
- "noneNotUsableWithAsync": "Object of type \"None\" cannot be used with \"async with\"",
347
+ "noneNotUsableWithAsync": "\"None\" türündeki nesne \"async\" ile kullanılamaz",
348
348
  "noneOperator": "\"{operator}\" işleci \"None\" için desteklenmiyor",
349
349
  "noneUnknownMember": "\"{name}\" bilinen bir \"None\" özniteliği değil",
350
350
  "notRequiredArgCount": "\"NotRequired\" sonrasında tek bir tür bağımsız değişken bekleniyordu",
@@ -365,7 +365,11 @@
365
365
  "overloadAbstractImplMismatch": "Aşırı yüklemeler uygulamanın özet durumuyla eşleşmelidir",
366
366
  "overloadAbstractMismatch": "Aşırı yüklemelerin tümü soyut olmalı veya tümü olmamalıdır",
367
367
  "overloadClassMethodInconsistent": "\"{name}\" için aşırı yüklemeler, @classmethod yöntemini tutarlı kullanıyor",
368
+ "overloadFinalImpl": "@final decorator should be applied only to the implementation",
369
+ "overloadFinalNoImpl": "Only the first overload should be marked @final",
368
370
  "overloadImplementationMismatch": "Aşırı yüklenmiş uygulama, {index} aşırı yükleme imzası ile tutarlı değil",
371
+ "overloadOverrideImpl": "@override decorator should be applied only to the implementation",
372
+ "overloadOverrideNoImpl": "Only the first overload should be marked @override",
369
373
  "overloadReturnTypeMismatch": "\"{name}\" için {prevIndex} aşırı yüklemesi {newIndex} aşırı yüklemesi ile çakışıyor ve uyumsuz bir tür döndürüyor",
370
374
  "overloadStaticMethodInconsistent": "\"{name}\" için aşırı yüklemeler, @staticmethod yöntemini tutarsız kullanıyor",
371
375
  "overloadWithoutImplementation": "\"{name}\" is marked as overload, but no implementation is provided",
@@ -395,7 +399,7 @@
395
399
  "parenthesizedContextManagerIllegal": "Parentheses within \"with\" statement requires Python 3.9 or newer",
396
400
  "patternNeverMatches": "Desen, \"{type}\" konu türü ile hiçbir zaman eşleşmez",
397
401
  "positionArgAfterNamedArg": "Konumsal bağımsız değişken anahtar sözcük bağımsız değişkenlerden sonra gelemez",
398
- "positionArgAfterUnpackedDictArg": "Positional argument cannot appear after keyword argument unpacking",
402
+ "positionArgAfterUnpackedDictArg": "Konumsal bağımsız değişken, anahtar sözcük bağımsız değişkenler paketinden çıkarıldıktan sonra görünemez",
399
403
  "positionOnlyAfterArgs": "\"*\" parametresinden sonra yalnızca konum parametre ayırıcısı kullanılamaz",
400
404
  "positionOnlyAfterKeywordOnly": "\"/\" parametresi \"*\" parametresinden önce gelmelidir",
401
405
  "positionOnlyAfterNon": "Yalnızca konum parametresi olmayan parametreden sonra yalnızca konum parametresine izin verilmez",
@@ -519,8 +523,8 @@
519
523
  "typeNotSupportBinaryOperatorBidirectional": "\"{operator}\" işleci, beklenen tür \"{expectedType}\" olduğunda \"{leftType}\" ve \"{rightType}\" türleri için desteklenmez",
520
524
  "typeNotSupportUnaryOperator": "\"{operator}\" işleci \"{type}\" türü için desteklenmiyor",
521
525
  "typeNotSupportUnaryOperatorBidirectional": "\"{operator}\" işleci, beklenen tür \"{expectedType}\" olduğunda \"{type}\" türü için desteklenmiyor",
522
- "typeNotUsableWith": "Object of type \"{type}\" cannot be used with \"with\" because it does not correctly implement {method}",
523
- "typeNotUsableWithAsync": "Object of type \"{type}\" cannot be used with \"async with\" because it does not correctly implement {method}",
526
+ "typeNotUsableWith": "{method} metodunu doğru şekilde uygulamadığından, \"{type}\" türündeki nesne \"with\" ile kullanılamaz",
527
+ "typeNotUsableWithAsync": "{method} metodunu doğru şekilde uygulamadığından, \"{type}\" türündeki nesne \"async\" ile kullanılamaz",
524
528
  "typeParameterBoundNotAllowed": "Sınır veya kısıtlama, değişen tür parametresi veya ParamSpec ile kullanılamaz",
525
529
  "typeParameterConstraintTuple": "Tür parametresi kısıtlaması iki veya daha fazla türde bir demet olmalıdır",
526
530
  "typeParameterExistingTypeParameter": "\"{name}\" tür parametresi zaten kullanılıyor",
@@ -344,7 +344,7 @@
344
344
  "noneNotIterable": "类型为“None”的对象不能用作可迭代值",
345
345
  "noneNotSubscriptable": "类型为“None”的对象不可下标",
346
346
  "noneNotUsableWith": "Object of type \"None\" cannot be used with \"with\"",
347
- "noneNotUsableWithAsync": "Object of type \"None\" cannot be used with \"async with\"",
347
+ "noneNotUsableWithAsync": "类型为 \"None\" 的对象不能与 \"async with\" 一起使用",
348
348
  "noneOperator": "“None”不支持运算符\"{operator}\"",
349
349
  "noneUnknownMember": "“{name}”不是 \"None\" 的已知属性",
350
350
  "notRequiredArgCount": "“NotRequired” 之后应为单个类型参数",
@@ -365,7 +365,11 @@
365
365
  "overloadAbstractImplMismatch": "重载必须与实现的抽象状态匹配",
366
366
  "overloadAbstractMismatch": "重载必须全是抽象重载,或者全都不是抽象重载",
367
367
  "overloadClassMethodInconsistent": "“{name}”的重载使用 @classmethod 的方式不一致",
368
+ "overloadFinalImpl": "@final decorator should be applied only to the implementation",
369
+ "overloadFinalNoImpl": "Only the first overload should be marked @final",
368
370
  "overloadImplementationMismatch": "重载实现与重载 {index} 的签名不一致",
371
+ "overloadOverrideImpl": "@override decorator should be applied only to the implementation",
372
+ "overloadOverrideNoImpl": "Only the first overload should be marked @override",
369
373
  "overloadReturnTypeMismatch": "“{name}”的重载 {prevIndex} 与重载 {newIndex} 重叠,并返回不兼容的类型",
370
374
  "overloadStaticMethodInconsistent": "“{name}”的重载使用 @staticmethod 的方式不一致",
371
375
  "overloadWithoutImplementation": "\"{name}\" 被标记为 overload,但未提供实现",
@@ -395,7 +399,7 @@
395
399
  "parenthesizedContextManagerIllegal": "Parentheses within \"with\" statement requires Python 3.9 or newer",
396
400
  "patternNeverMatches": "主题类型“{type}”的模式永远不会匹配",
397
401
  "positionArgAfterNamedArg": "位置参数不能出现在关键字参数之后",
398
- "positionArgAfterUnpackedDictArg": "Positional argument cannot appear after keyword argument unpacking",
402
+ "positionArgAfterUnpackedDictArg": "位置参数不能出现在关键字参数解压缩之后",
399
403
  "positionOnlyAfterArgs": "“*”参数后不允许使用仅位置参数分隔符",
400
404
  "positionOnlyAfterKeywordOnly": "“/”参数必须出现在“*”参数之前",
401
405
  "positionOnlyAfterNon": "非仅位置参数后面不允许仅位置参数",
@@ -519,8 +523,8 @@
519
523
  "typeNotSupportBinaryOperatorBidirectional": "预期类型为“{expectedType}”时,类型“{leftType}”和“{rightType}”不支持运算符“{operator}”",
520
524
  "typeNotSupportUnaryOperator": "类型“{type}”不支持运算符“{operator}”",
521
525
  "typeNotSupportUnaryOperatorBidirectional": "预期类型为 \"{expectedType}\"时,类型\"{type}\"不支持运算符\"{operator}\"",
522
- "typeNotUsableWith": "Object of type \"{type}\" cannot be used with \"with\" because it does not correctly implement {method}",
523
- "typeNotUsableWithAsync": "Object of type \"{type}\" cannot be used with \"async with\" because it does not correctly implement {method}",
526
+ "typeNotUsableWith": "\"{type}\" 类型的对象不能与 \"with\" 一起使用,因为它未实现 {method}",
527
+ "typeNotUsableWithAsync": "\"{type}\" 类型的对象不能与 \"async with\" 一起使用,因为它未实现 {method}",
524
528
  "typeParameterBoundNotAllowed": "绑定或约束不能与 variadic 类型参数或 ParamSpec 一起使用",
525
529
  "typeParameterConstraintTuple": "类型参数约束必须是两个或更多类型的元组",
526
530
  "typeParameterExistingTypeParameter": "类型参数\"{name}\"已在使用中",
@@ -344,7 +344,7 @@
344
344
  "noneNotIterable": "類型 \"None\" 的物件不能作為可疊代的值",
345
345
  "noneNotSubscriptable": "型別 \"None\" 的物件不能下標",
346
346
  "noneNotUsableWith": "Object of type \"None\" cannot be used with \"with\"",
347
- "noneNotUsableWithAsync": "Object of type \"None\" cannot be used with \"async with\"",
347
+ "noneNotUsableWithAsync": "類型 \"None\" 的物件不能與 \"async with\" 搭配使用",
348
348
  "noneOperator": "\"None\" 不支援運算子 \"{operator}\"",
349
349
  "noneUnknownMember": "\"{name}\" 不是 \"None\" 的已知屬性",
350
350
  "notRequiredArgCount": "預期 \"NotRequired\" 之後為單一類型引數",
@@ -365,7 +365,11 @@
365
365
  "overloadAbstractImplMismatch": "多載必須符合實作的抽象狀態",
366
366
  "overloadAbstractMismatch": "多載必須全為抽象或不抽象",
367
367
  "overloadClassMethodInconsistent": "\"{name}\" 的多載不一致地使用 @classmethod",
368
+ "overloadFinalImpl": "@final decorator should be applied only to the implementation",
369
+ "overloadFinalNoImpl": "Only the first overload should be marked @final",
368
370
  "overloadImplementationMismatch": "多載的實作與多載 {index} 的簽章不一致",
371
+ "overloadOverrideImpl": "@override decorator should be applied only to the implementation",
372
+ "overloadOverrideNoImpl": "Only the first overload should be marked @override",
369
373
  "overloadReturnTypeMismatch": "\"{name}\" 的多載 {prevIndex} 與多載 {newIndex} 重疊,並傳回不相容的類型",
370
374
  "overloadStaticMethodInconsistent": "\"{name}\" 的多載不一致地使用 @staticmethod",
371
375
  "overloadWithoutImplementation": "\"{name}\" 標示為 overload,但未提供實作",
@@ -395,7 +399,7 @@
395
399
  "parenthesizedContextManagerIllegal": "Parentheses within \"with\" statement requires Python 3.9 or newer",
396
400
  "patternNeverMatches": "模式永遠不會符合主體類型 \"{type}\"",
397
401
  "positionArgAfterNamedArg": "位置引數不能出現在關鍵字引數之後",
398
- "positionArgAfterUnpackedDictArg": "Positional argument cannot appear after keyword argument unpacking",
402
+ "positionArgAfterUnpackedDictArg": "位置引數不能在關鍵字引數解壓縮後出現",
399
403
  "positionOnlyAfterArgs": "\"*\" 參數之後不允許 Position-only 參數分隔符號",
400
404
  "positionOnlyAfterKeywordOnly": "\"/\" 參數必須出現在 \"*\" 參數之前",
401
405
  "positionOnlyAfterNon": "非 Position-only 參數之後不允許 Position-only 參數",
@@ -519,8 +523,8 @@
519
523
  "typeNotSupportBinaryOperatorBidirectional": "當預期的型別為 \"{expectedType}\" 時,型別 \"{leftType}\" 和 \"{rightType}\" 不支援運算子 \"{operator}\"",
520
524
  "typeNotSupportUnaryOperator": "型別 \"{type}\" 不支援運算子 \"{operator}\"",
521
525
  "typeNotSupportUnaryOperatorBidirectional": "預期的類型為 \"{expectedType}\" 時,類型 \"{type}\" 不支援運算子 \"{operator}\"",
522
- "typeNotUsableWith": "Object of type \"{type}\" cannot be used with \"with\" because it does not correctly implement {method}",
523
- "typeNotUsableWithAsync": "Object of type \"{type}\" cannot be used with \"async with\" because it does not correctly implement {method}",
526
+ "typeNotUsableWith": "類型 \"{type}\" 的物件不能與 \"with\" 搭配使用,因為它未正確實作 {method}",
527
+ "typeNotUsableWithAsync": "類型 \"{type}\" 的物件不能與 \"async with\" 搭配使用,因為它未正確實作 {method}",
524
528
  "typeParameterBoundNotAllowed": "界限或條件約束不能與 variadic 型別參數或 ParamSpec 一起使用",
525
529
  "typeParameterConstraintTuple": "類型參數限制式必須是兩個或兩個以上類型的 Tuple",
526
530
  "typeParameterExistingTypeParameter": "類型參數 \"{name}\" 已在使用中",
@@ -3829,9 +3829,12 @@ class Parser {
3829
3829
  }
3830
3830
  continue;
3831
3831
  }
3832
- // We've hit an error. Consume tokens until we find the end.
3833
- if (this._consumeTokensUntilType([26 /* TokenType.FStringEnd */])) {
3834
- this._getNextToken();
3832
+ // We've hit an error. Try to recover as gracefully as possible.
3833
+ if (nextToken.type !== 2 /* TokenType.NewLine */) {
3834
+ // Consume tokens until we find the end.
3835
+ if (this._consumeTokensUntilType([26 /* TokenType.FStringEnd */])) {
3836
+ this._getNextToken();
3837
+ }
3835
3838
  }
3836
3839
  this._addSyntaxError(nextToken.type === 18 /* TokenType.CloseCurlyBrace */
3837
3840
  ? localize_1.LocMessage.formatStringBrace()