@zzzen/pyright-internal 1.2.0-dev.20230813 → 1.2.0-dev.20230820
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/binder.js +8 -2
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +1 -0
- package/dist/analyzer/checker.js +77 -6
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/dataClasses.js +242 -236
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/enums.js +12 -0
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.js +3 -1
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/namedTuples.js +6 -0
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.d.ts +1 -1
- package/dist/analyzer/operations.js +2 -2
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/parameterUtils.d.ts +2 -1
- package/dist/analyzer/parameterUtils.js +15 -0
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/protocols.js +14 -0
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/service.js +2 -2
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +194 -108
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -1
- package/dist/analyzer/typeEvaluatorTypes.js +2 -2
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +3 -0
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +3 -0
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -0
- package/dist/analyzer/typeUtils.js +20 -2
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.js +1 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/common/serviceProvider.d.ts +4 -3
- package/dist/languageServerBase.d.ts +2 -2
- package/dist/languageServerBase.js +4 -2
- package/dist/languageServerBase.js.map +1 -1
- package/dist/localization/localize.d.ts +22 -4
- package/dist/localization/localize.js +7 -2
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +3 -2
- package/dist/localization/package.nls.de.json +3 -2
- package/dist/localization/package.nls.en-us.json +16 -11
- package/dist/localization/package.nls.es.json +3 -2
- package/dist/localization/package.nls.fr.json +3 -2
- package/dist/localization/package.nls.it.json +3 -2
- package/dist/localization/package.nls.ja.json +3 -2
- package/dist/localization/package.nls.ko.json +3 -2
- package/dist/localization/package.nls.pl.json +3 -2
- package/dist/localization/package.nls.pt-br.json +3 -2
- package/dist/localization/package.nls.qps-ploc.json +3 -2
- package/dist/localization/package.nls.ru.json +3 -2
- package/dist/localization/package.nls.tr.json +3 -2
- package/dist/localization/package.nls.zh-cn.json +3 -2
- package/dist/localization/package.nls.zh-tw.json +2 -1
- package/dist/parser/parser.d.ts +1 -0
- package/dist/parser/parser.js +78 -18
- package/dist/parser/parser.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +1 -1
- package/dist/tests/harness/fourslash/testState.js +2 -2
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +4 -4
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +9 -1
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +7 -3
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +9 -1
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +9 -1
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/package.json +1 -1
@@ -293,7 +293,7 @@
|
|
293
293
|
"noOverload": "Nessun overload per \"{name}\" corrisponde agli argomenti specificati",
|
294
294
|
"noReturnContainsReturn": "La funzione con tipo restituito dichiarato \"NoReturn\" non può includere un'istruzione return",
|
295
295
|
"noReturnContainsYield": "La funzione con il tipo restituito dichiarato \"NoReturn\" non può includere un'istruzione yield",
|
296
|
-
"noReturnReturnsNone": "La funzione con tipo dichiarato \"NoReturn\" non può restituire \"None\"",
|
296
|
+
"noReturnReturnsNone": "La funzione con tipo restituito dichiarato \"NoReturn\" non può restituire \"None\"",
|
297
297
|
"nonDefaultAfterDefault": "L'argomento non predefinito segue l'argomento predefinito",
|
298
298
|
"nonLocalInModule": "Dichiarazione non locale non consentita a livello di modulo",
|
299
299
|
"nonLocalNoBinding": "Non è stata trovata alcuna associazione per \"{name}\" non locale",
|
@@ -383,7 +383,7 @@
|
|
383
383
|
"requiredArgCount": "Previsto un singolo argomento tipo dopo \"Obbligatorio\"",
|
384
384
|
"requiredNotInTypedDict": "\"Required\" non è consentito in questo contesto",
|
385
385
|
"returnInAsyncGenerator": "L’istruzione return con valore non è consentita nel generatore asincrono",
|
386
|
-
"returnMissing": "La funzione con tipo dichiarato \"{returnType}\" deve restituire un valore in tutti i percorsi di codice",
|
386
|
+
"returnMissing": "La funzione con tipo restituito dichiarato \"{returnType}\" deve restituire un valore in tutti i percorsi di codice",
|
387
387
|
"returnOutsideFunction": "\"return\" può essere usata solo all'interno di una funzione.",
|
388
388
|
"returnTypeContravariant": "Non è possibile usare la variabile di tipo controvariante nel tipo restituito",
|
389
389
|
"returnTypeMismatch": "Non è possibile assegnare l'espressione di tipo \"{exprType}\" al tipo restituito \"{returnType}\"",
|
@@ -429,6 +429,7 @@
|
|
429
429
|
"tupleIndexOutOfRange": "L'indice {index} non è compreso nell'intervallo per il tipo {type}",
|
430
430
|
"typeAliasIllegalExpressionForm": "Modulo di espressione non valido per la definizione dell'alias di tipo",
|
431
431
|
"typeAliasIsRecursiveDirect": "L'alias di tipo \"{name}\" non può usare se stesso nella relativa definizione",
|
432
|
+
"typeAliasNotAllowed": "L'alias di tipo \"{name}\" non può essere usato in questo contesto",
|
432
433
|
"typeAliasNotInModuleOrClass": "TypeAlias può essere definito solo all'interno di un modulo o di una classe",
|
433
434
|
"typeAliasRedeclared": "\"{name}\" è dichiarato come TypeAlias e può essere assegnato una sola volta",
|
434
435
|
"typeAliasStatementIllegal": "L'istruzione alias di tipo richiede Python 3.12 o versione successiva",
|
@@ -293,7 +293,7 @@
|
|
293
293
|
"noOverload": "指定された引数に一致する \"{name}\" のオーバーロードがありません",
|
294
294
|
"noReturnContainsReturn": "戻り値の型が \"NoReturn\" として宣言されている関数に return ステートメントを含めることはできません",
|
295
295
|
"noReturnContainsYield": "戻り値の型 \"NoReturn\" を宣言した関数に yield ステートメントを含めることはできません",
|
296
|
-
"noReturnReturnsNone": "
|
296
|
+
"noReturnReturnsNone": "戻り値の型が \"NoReturn\" として宣言されている関数は \"None\" を返すことができません",
|
297
297
|
"nonDefaultAfterDefault": "既定以外の引数は既定の引数の後に続きます",
|
298
298
|
"nonLocalInModule": "モジュール レベルでは非ローカル宣言は許可されません",
|
299
299
|
"nonLocalNoBinding": "非ローカル \"{name}\" のバインドが見つかりません",
|
@@ -383,7 +383,7 @@
|
|
383
383
|
"requiredArgCount": "\"Required\" の後に 1 つの型引数が必要です",
|
384
384
|
"requiredNotInTypedDict": "このコンテキストでは\"必須\" は許可されていません",
|
385
385
|
"returnInAsyncGenerator": "値を持つ return ステートメントは、非同期ジェネレーターでは使用できません",
|
386
|
-
"returnMissing": "
|
386
|
+
"returnMissing": "戻り値の型が \"{returnType}\" として宣言されている関数は、すべてのコード パスで値を返す必要があります",
|
387
387
|
"returnOutsideFunction": "\"return\" は関数内でのみ使用できます",
|
388
388
|
"returnTypeContravariant": "反変の型変数は戻り値の型では使用できません",
|
389
389
|
"returnTypeMismatch": "型 \"{exprType}\" の式を戻り値の型 \"{returnType}\" に割り当てることはできません",
|
@@ -429,6 +429,7 @@
|
|
429
429
|
"tupleIndexOutOfRange": "インデックス {index} が型 {type} の範囲外です",
|
430
430
|
"typeAliasIllegalExpressionForm": "型エイリアス定義の式フォームが無効です",
|
431
431
|
"typeAliasIsRecursiveDirect": "型エイリアス \"{name}\" は、その定義でそれ自体を使用できません",
|
432
|
+
"typeAliasNotAllowed": "型のエイリアス \"{name}\" は、このコンテキストでは使用できません",
|
432
433
|
"typeAliasNotInModuleOrClass": "TypeAlias は、モジュールまたはクラススコープ内でのみ定義できます",
|
433
434
|
"typeAliasRedeclared": "\"{name}\" は TypeAlias として宣言されており、1 回だけ割り当てることができます",
|
434
435
|
"typeAliasStatementIllegal": "型エイリアス ステートメントには Python 3.12 以降が必要です",
|
@@ -293,7 +293,7 @@
|
|
293
293
|
"noOverload": "제공된 인수와 일치하는 \"{name}\"에 대한 오버로드가 없습니다.",
|
294
294
|
"noReturnContainsReturn": "선언된 반환 형식이 \"NoReturn\"인 함수는 return 문을 포함할 수 없습니다.",
|
295
295
|
"noReturnContainsYield": "선언된 반환 형식이 \"NoReturn\"인 함수는 yield 문을 포함할 수 없습니다.",
|
296
|
-
"noReturnReturnsNone": "선언된 형식이 \"NoReturn\"인 함수는 \"None\"을 반환할 수 없습니다.",
|
296
|
+
"noReturnReturnsNone": "선언된 반환 형식이 \"NoReturn\"인 함수는 \"None\"을 반환할 수 없습니다.",
|
297
297
|
"nonDefaultAfterDefault": "기본값이 아닌 인수가 기본 인수를 따릅니다.",
|
298
298
|
"nonLocalInModule": "모듈 수준에서는 비로컬 선언을 사용할 수 없습니다.",
|
299
299
|
"nonLocalNoBinding": "비로컬 \"{name}\"에 대한 바인딩을 찾을 수 없습니다.",
|
@@ -383,7 +383,7 @@
|
|
383
383
|
"requiredArgCount": "‘Required’ 뒤에 단일 형식 인수가 필요합니다.",
|
384
384
|
"requiredNotInTypedDict": "이 컨텍스트에서는 \"Required\"를 사용할 수 없습니다.",
|
385
385
|
"returnInAsyncGenerator": "값이 있는 Return 문은 비동기 생성기에서 사용할 수 없습니다.",
|
386
|
-
"returnMissing": "선언된
|
386
|
+
"returnMissing": "선언된 반환 형식이 \"{returnType}\"인 함수는 모든 코드 경로에서 값을 반환해야 합니다.",
|
387
387
|
"returnOutsideFunction": "‘return’은 함수 내에서만 사용할 수 있습니다.",
|
388
388
|
"returnTypeContravariant": "반공변 유형 변수는 반환 형식에 사용할 수 없습니다.",
|
389
389
|
"returnTypeMismatch": "\"{exprType}\" 형식의 식을 반환 형식 \"{returnType}\"에 할당할 수 없습니다.",
|
@@ -429,6 +429,7 @@
|
|
429
429
|
"tupleIndexOutOfRange": "{index} 인덱스가 {type} 형식의 범위를 벗어났습니다.",
|
430
430
|
"typeAliasIllegalExpressionForm": "형식 별칭 정의에 대한 식 양식이 잘못되었습니다.",
|
431
431
|
"typeAliasIsRecursiveDirect": "형식 별칭 ‘{name}’의 정의에서 스스로를 사용할 수 없습니다.",
|
432
|
+
"typeAliasNotAllowed": "이 컨텍스트에서 형식 별칭 \"{name}\"을(를) 사용할 수 없습니다.",
|
432
433
|
"typeAliasNotInModuleOrClass": "TypeAlias는 모듈 또는 클래스 범위 내에서만 정의할 수 있습니다.",
|
433
434
|
"typeAliasRedeclared": "\"{name}\"은(는) TypeAlias로 선언되며 한 번만 할당할 수 있습니다.",
|
434
435
|
"typeAliasStatementIllegal": "형식 별칭 문에는 Python 3.12 이상이 필요합니다.",
|
@@ -293,7 +293,7 @@
|
|
293
293
|
"noOverload": "Żadne przeciążenia dla nazwy „{name}” nie pasują do podanych argumentów",
|
294
294
|
"noReturnContainsReturn": "Funkcja z zadeklarowanym zwracanym typem „NoReturn” nie może zawierać instrukcji Return",
|
295
295
|
"noReturnContainsYield": "Funkcja z zadeklarowanym zwracanym typem „NoReturn” nie może zawierać instrukcji Yield",
|
296
|
-
"noReturnReturnsNone": "Funkcja
|
296
|
+
"noReturnReturnsNone": "Funkcja z zadeklarowanym typem zwracanym „NoReturn” nie może zwracać wartości „None”",
|
297
297
|
"nonDefaultAfterDefault": "Argument inny niż domyślny następuje po argumencie domyślnym",
|
298
298
|
"nonLocalInModule": "Deklaracja nielokalna nie jest dozwolona na poziomie modułu",
|
299
299
|
"nonLocalNoBinding": "Nie znaleziono powiązania dla nielokalnej nazwy „{name}”.",
|
@@ -383,7 +383,7 @@
|
|
383
383
|
"requiredArgCount": "Oczekiwano jednego argumentu typu po wartości „Required”",
|
384
384
|
"requiredNotInTypedDict": "Element „Required” jest niedozwolony w tym kontekście",
|
385
385
|
"returnInAsyncGenerator": "Instrukcja „return” z wartością jest niedozwolona w generatorze asynchronicznym",
|
386
|
-
"returnMissing": "Funkcja z zadeklarowanym typem „{returnType}” musi zwracać wartość we wszystkich ścieżkach kodu",
|
386
|
+
"returnMissing": "Funkcja z zadeklarowanym typem zwracanym „{returnType}” musi zwracać wartość we wszystkich ścieżkach kodu",
|
387
387
|
"returnOutsideFunction": "Instrukcja „return” może być używana tylko w ramach funkcji",
|
388
388
|
"returnTypeContravariant": "Kontrawariantna zmienna typu nie może być używana w zwracanym typie",
|
389
389
|
"returnTypeMismatch": "Wyrażenia typu „{exprType}” nie można przypisać do zwracanego typu „{returnType}”",
|
@@ -429,6 +429,7 @@
|
|
429
429
|
"tupleIndexOutOfRange": "Indeks {index} jest poza zakresem dla typu {type}",
|
430
430
|
"typeAliasIllegalExpressionForm": "Nieprawidłowy formularz wyrażenia dla definicji aliasu typu",
|
431
431
|
"typeAliasIsRecursiveDirect": "Alias typu „{name}” nie może używać samego siebie w swojej definicji",
|
432
|
+
"typeAliasNotAllowed": "Alias typu „{name}” nie może być używany w tym kontekście",
|
432
433
|
"typeAliasNotInModuleOrClass": "Typ TypeAlias można zdefiniować tylko w zakresie modułu lub klasy",
|
433
434
|
"typeAliasRedeclared": "Nazwa „{name}” jest zadeklarowana jako TypeAlias i może być przypisana tylko raz",
|
434
435
|
"typeAliasStatementIllegal": "Instrukcja typu alias wymaga języka Python w wersji 3.12 lub nowszej",
|
@@ -293,7 +293,7 @@
|
|
293
293
|
"noOverload": "Nenhuma sobrecarga para \"{name}\" corresponde aos argumentos fornecidos",
|
294
294
|
"noReturnContainsReturn": "A função com o tipo de retorno declarado \"NoReturn\" não pode incluir uma instrução return",
|
295
295
|
"noReturnContainsYield": "A função com o tipo de retorno declarado \"NoReturn\" não pode incluir uma instrução yield",
|
296
|
-
"noReturnReturnsNone": "
|
296
|
+
"noReturnReturnsNone": "Função com tipo de retorno declarado \"NoReturn\" não pode retornar \"None\"",
|
297
297
|
"nonDefaultAfterDefault": "O argumento não padrão segue o argumento padrão",
|
298
298
|
"nonLocalInModule": "Declaração não local não permitida no nível do módulo",
|
299
299
|
"nonLocalNoBinding": "Nenhuma associação para \"{name}\" não local encontrada",
|
@@ -383,7 +383,7 @@
|
|
383
383
|
"requiredArgCount": "Argumento de tipo único esperado após \"Obrigatório\"",
|
384
384
|
"requiredNotInTypedDict": "\"Obrigatório\" não é permitido neste contexto",
|
385
385
|
"returnInAsyncGenerator": "A instrução return com valor não é permitida no gerador assíncrono",
|
386
|
-
"returnMissing": "
|
386
|
+
"returnMissing": "Função com tipo de retorno declarado \"{returnType}\" deve retornar valor em todos os caminhos de código",
|
387
387
|
"returnOutsideFunction": "\"return\" só pode ser usado dentro de uma função",
|
388
388
|
"returnTypeContravariant": "A variável de tipo contravariante não pode ser usada no tipo de retorno",
|
389
389
|
"returnTypeMismatch": "A expressão do tipo \"{exprType}\" não pode ser atribuída ao tipo de retorno \"{returnType}\"",
|
@@ -429,6 +429,7 @@
|
|
429
429
|
"tupleIndexOutOfRange": "O índice {index} está fora do intervalo para o tipo {type}",
|
430
430
|
"typeAliasIllegalExpressionForm": "Formulário de expressão inválido para definição de alias de tipo",
|
431
431
|
"typeAliasIsRecursiveDirect": "O alias de tipo \"{name}\" não pode usar a si mesmo em sua definição",
|
432
|
+
"typeAliasNotAllowed": "O alias de tipo \"{name}\" não pode ser usado neste contexto",
|
432
433
|
"typeAliasNotInModuleOrClass": "Um TypeAlias só pode ser definido dentro de um módulo ou escopo de classe",
|
433
434
|
"typeAliasRedeclared": "\"{name}\" é declarado como um TypeAlias e só pode ser atribuído uma vez",
|
434
435
|
"typeAliasStatementIllegal": "A instrução de alias de tipo requer o Python 3.12 ou mais recente",
|
@@ -293,7 +293,7 @@
|
|
293
293
|
"noOverload": "[IcBNQ][นั้Ñø øvërløæðs før \"{ñæmë}\" mætçh thë prøvïðëð ærgµmëñtsẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्นั้ढूँ]",
|
294
294
|
"noReturnContainsReturn": "[nBLDq][นั้Fµñçtïøñ wïth ðëçlærëð rëtµrñ tÿpë \"ÑøRëtµrñ\" çæññøt ïñçlµðë æ rëtµrñ stætëmëñtẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İนั้ढूँ]",
|
295
295
|
"noReturnContainsYield": "[V3G36][นั้Fµñçtïøñ wïth ðëçlærëð rëtµrñ tÿpë \"ÑøRëtµrñ\" çæññøt ïñçlµðë æ ÿïëlð stætëmëñtẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪นั้ढूँ]",
|
296
|
-
"noReturnReturnsNone": "[O3XA6][นั้Fµñçtïøñ wïth ðëçlærëð tÿpë
|
296
|
+
"noReturnReturnsNone": "[O3XA6][นั้Fµñçtïøñ wïth ðëçlærëð rëtµrñ tÿpë \"ÑøRëtµrñ\" çæññøt rëtµrñ \"Ñøñë\"Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृนั้ढूँ]",
|
297
297
|
"nonDefaultAfterDefault": "[mFFgP][นั้Ñøñ-ðëfæµlt ærgµmëñt følløws ðëfæµlt ærgµmëñtẤğ倪İЂҰक्र्तिृまẤğ倪İนั้ढूँ]",
|
298
298
|
"nonLocalInModule": "[kmLlv][นั้Ñøñløçæl ðëçlærætïøñ ñøt ælløwëð æt møðµlë lëvëlẤğ倪İЂҰक्र्तिृまẤğ倪İЂนั้ढूँ]",
|
299
299
|
"nonLocalNoBinding": "[WTA2d][นั้Ñø þïñðïñg før ñøñløçæl \"{ñæmë}\" føµñðẤğ倪İЂҰक्र्तिृまẤนั้ढूँ]",
|
@@ -383,7 +383,7 @@
|
|
383
383
|
"requiredArgCount": "[aZX4z][นั้Ëxpëçtëð æ sïñglë tÿpë ærgµmëñt æftër \"Rëqµïrëð\"Ấğ倪İЂҰक्र्तिृまẤğ倪İЂนั้ढूँ]",
|
384
384
|
"requiredNotInTypedDict": "[TArW6][นั้\"Rëqµïrëð\" ïs ñøt ælløwëð ïñ thïs çøñtëxtẤğ倪İЂҰक्र्तिृまẤğนั้ढूँ]",
|
385
385
|
"returnInAsyncGenerator": "[qb5pt][นั้Rëtµrñ stætëmëñt wïth vælµë ïs ñøt ælløwëð ïñ æsÿñç gëñërætørẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्นั้ढूँ]",
|
386
|
-
"returnMissing": "[kPevK][นั้Fµñçtïøñ wïth ðëçlærëð tÿpë
|
386
|
+
"returnMissing": "[kPevK][นั้Fµñçtïøñ wïth ðëçlærëð rëtµrñ tÿpë \"{rëtµrñTÿpë}\" mµst rëtµrñ vælµë øñ æll çøðë pæthsẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰนั้ढूँ]",
|
387
387
|
"returnOutsideFunction": "[O4SJp][นั้\"rëtµrñ\" çæñ þë µsëð øñlÿ wïthïñ æ fµñçtïøñẤğ倪İЂҰक्र्तिृまẤğ倪นั้ढूँ]",
|
388
388
|
"returnTypeContravariant": "[KkMhh][นั้Çøñtræværïæñt tÿpë værïæþlë çæññøt þë µsëð ïñ rëtµrñ tÿpëẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्นั้ढूँ]",
|
389
389
|
"returnTypeMismatch": "[QYqHy][นั้Ëxprëssïøñ øf tÿpë \"{ëxprTÿpë}\" çæññøt þë æssïgñëð tø rëtµrñ tÿpë \"{rëtµrñTÿpë}\"Ấğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İนั้ढूँ]",
|
@@ -429,6 +429,7 @@
|
|
429
429
|
"tupleIndexOutOfRange": "[aNqDv][นั้Ïñðëx {ïñðëx} ïs øµt øf ræñgë før tÿpë {tÿpë}Ấğ倪İЂҰक्र्तिृまẤğ倪İนั้ढूँ]",
|
430
430
|
"typeAliasIllegalExpressionForm": "[4u4ay][นั้Ïñvælïð ëxprëssïøñ førm før tÿpë ælïæs ðëfïñïtïøñẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰนั้ढूँ]",
|
431
431
|
"typeAliasIsRecursiveDirect": "[r8PyZ][นั้Tÿpë ælïæs \"{ñæmë}\" çæññøt µsë ïtsëlf ïñ ïts ðëfïñïtïøñẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्นั้ढूँ]",
|
432
|
+
"typeAliasNotAllowed": "[a8iha][นั้Tÿpë ælïæs \"{ñæmë}\" çæññøt þë µsëð ïñ thïs çøñtëxtẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰนั้ढूँ]",
|
432
433
|
"typeAliasNotInModuleOrClass": "[iQpDJ][นั้Æ TÿpëÆlïæs çæñ þë ðëfïñëð øñlÿ wïthïñ æ møðµlë ør çlæss sçøpëẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृนั้ढूँ]",
|
433
434
|
"typeAliasRedeclared": "[P036x][นั้\"{ñæmë}\" ïs ðëçlærëð æs æ TÿpëÆlïæs æñð çæñ þë æssïgñëð øñlÿ øñçëẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृนั้ढूँ]",
|
434
435
|
"typeAliasStatementIllegal": "[2EW0Q][นั้Tÿpë ælïæs stætëmëñt rëqµïrës Pÿthøñ 3.12 ør ñëwërẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰนั้ढूँ]",
|
@@ -293,7 +293,7 @@
|
|
293
293
|
"noOverload": "Не существует перегрузок для \"{name}\", соответствующих указанным аргументам",
|
294
294
|
"noReturnContainsReturn": "Функция с объявленным типом возвращаемого значения \"NoReturn\" не может содержать оператор return",
|
295
295
|
"noReturnContainsYield": "Функция с объявленным типом возвращаемого значения \"NoReturn\" не может содержать инструкцию yield",
|
296
|
-
"noReturnReturnsNone": "Функция с объявленным типом \"NoReturn\" не может возвращать \"None\"",
|
296
|
+
"noReturnReturnsNone": "Функция с объявленным типом возвращаемого значения \"NoReturn\" не может возвращать \"None\"",
|
297
297
|
"nonDefaultAfterDefault": "Аргумент, отличный от аргумента по умолчанию, следует за аргументом по умолчанию",
|
298
298
|
"nonLocalInModule": "Нелокальные объявления на уровне модулей не разрешены",
|
299
299
|
"nonLocalNoBinding": "Привязка для нелокального элемента \"{name}\" не найдена",
|
@@ -383,7 +383,7 @@
|
|
383
383
|
"requiredArgCount": "Ожидается один аргумент типа после \"Required\"",
|
384
384
|
"requiredNotInTypedDict": "Использование \"Required\" в этом контексте не допускается",
|
385
385
|
"returnInAsyncGenerator": "Оператор return со значением не допускается в асинхронном генераторе",
|
386
|
-
"returnMissing": "Функция с объявленным типом \"{returnType}\" должна возвращать значение во всех путях кода",
|
386
|
+
"returnMissing": "Функция с объявленным типом возвращаемого значения \"{returnType}\" должна возвращать значение во всех путях кода",
|
387
387
|
"returnOutsideFunction": "\"return\" можно использовать только внутри функции",
|
388
388
|
"returnTypeContravariant": "Переменная контравариантного типа не может использоваться в возвращаемом типе",
|
389
389
|
"returnTypeMismatch": "Выражение типа \"{exprType}\" не может быть назначено возвращаемому типу \"{returnType}\"",
|
@@ -429,6 +429,7 @@
|
|
429
429
|
"tupleIndexOutOfRange": "Индекс {index} выходит за пределы допустимого диапазона для типа {type}",
|
430
430
|
"typeAliasIllegalExpressionForm": "Недопустимая форма выражения для определения псевдонима типа",
|
431
431
|
"typeAliasIsRecursiveDirect": "Псевдоним типа \"{name}\" не может использовать себя в своем определении",
|
432
|
+
"typeAliasNotAllowed": "Псевдоним типа \"{name}\" нельзя использовать в этом контексте",
|
432
433
|
"typeAliasNotInModuleOrClass": "TypeAlias можно определить только внутри области модуля или класса",
|
433
434
|
"typeAliasRedeclared": "\"{name}\" объявлен как TypeAlias и может быть присвоен только один раз",
|
434
435
|
"typeAliasStatementIllegal": "Оператор псевдонима типа можно использовать в Python версии не ниже 3.12",
|
@@ -293,7 +293,7 @@
|
|
293
293
|
"noOverload": "\"{name}\" için aşırı yüklemelerin hiçbiri sağlanan bağımsız değişkenlerle eşleşmiyor",
|
294
294
|
"noReturnContainsReturn": "Bildirilen dönüş türü \"NoReturn\" olan işlev bir return deyimi içeremez",
|
295
295
|
"noReturnContainsYield": "Bildirilen dönüş türü \"NoReturn\" olan işlev bir yield deyimi içeremez",
|
296
|
-
"noReturnReturnsNone": "Bildirilen \"NoReturn\" türüne sahip işlev \"None\" döndüremez",
|
296
|
+
"noReturnReturnsNone": "Bildirilen \"NoReturn\" döndürme türüne sahip işlev \"None\" döndüremez",
|
297
297
|
"nonDefaultAfterDefault": "Varsayılan olmayan bağımsız değişken varsayılan bağımsız değişkeni izler",
|
298
298
|
"nonLocalInModule": "Modül düzeyinde yerel olmayan bildirim kullanılamaz",
|
299
299
|
"nonLocalNoBinding": "Yerel olmayan \"{name}\" öğesi için bağlama bulunamadı",
|
@@ -383,7 +383,7 @@
|
|
383
383
|
"requiredArgCount": "\"Required\" sonrasında tek bir tür bağımsız değişken bekleniyordu",
|
384
384
|
"requiredNotInTypedDict": "Bu bağlamda \"Required\" kullanımına izin verilmiyor",
|
385
385
|
"returnInAsyncGenerator": "Zaman uyumsuz oluşturucuda değer içeren dönüş deyimine izin verilmez",
|
386
|
-
"returnMissing": "Bildirilen \"{returnType}\" türüne sahip işlev, tüm kod yollarında değer döndürmelidir",
|
386
|
+
"returnMissing": "Bildirilen \"{returnType}\" döndürme türüne sahip işlev, tüm kod yollarında değer döndürmelidir",
|
387
387
|
"returnOutsideFunction": "\"return\" yalnızca bir işlev içinde kullanılabilir",
|
388
388
|
"returnTypeContravariant": "Değişken karşıtı tür değişkeni dönüş türünde kullanılamaz",
|
389
389
|
"returnTypeMismatch": "\"{exprType}\" türündeki ifade \"{returnType}\" dönüş türüne atanamaz",
|
@@ -429,6 +429,7 @@
|
|
429
429
|
"tupleIndexOutOfRange": "{index} dizini {type} türü için aralık dışında",
|
430
430
|
"typeAliasIllegalExpressionForm": "Tür diğer ad tanımı için geçersiz ifade form",
|
431
431
|
"typeAliasIsRecursiveDirect": "Tür diğer adı \"{name}\", tanımında kendisini kullanamaz",
|
432
|
+
"typeAliasNotAllowed": "\"{name}\" tür adı bu bağlamda kullanılamaz",
|
432
433
|
"typeAliasNotInModuleOrClass": "TypeAlias yalnızca bir modül veya sınıf kapsamında tanımlanabilir",
|
433
434
|
"typeAliasRedeclared": "\"{name}\" bir TypeAlias olarak bildirilmiş ve yalnızca bir kez atanabilir",
|
434
435
|
"typeAliasStatementIllegal": "Tür diğer adı deyimi için Python 3.12 veya daha yeni bir sürümü gerekiyor",
|
@@ -293,7 +293,7 @@
|
|
293
293
|
"noOverload": "“{name}”的重载与提供的参数不匹配",
|
294
294
|
"noReturnContainsReturn": "声明返回类型为“NoReturn”的函数不能包含 return 语句",
|
295
295
|
"noReturnContainsYield": "声明的返回类型为 “NoReturn” 的函数不能包含 yield 语句",
|
296
|
-
"noReturnReturnsNone": "
|
296
|
+
"noReturnReturnsNone": "所声明的返回类型为 \"NoReturn\" 的函数无法返回 \"None\"",
|
297
297
|
"nonDefaultAfterDefault": "非默认参数遵循默认参数",
|
298
298
|
"nonLocalInModule": "模块级别不允许使用非本地声明",
|
299
299
|
"nonLocalNoBinding": "找不到非本地“{name}”的绑定",
|
@@ -383,7 +383,7 @@
|
|
383
383
|
"requiredArgCount": "\"Required\"后应为单个类型参数",
|
384
384
|
"requiredNotInTypedDict": "此上下文中不允许使用\"Required\"",
|
385
385
|
"returnInAsyncGenerator": "异步生成器中不允许返回值为值的语句",
|
386
|
-
"returnMissing": "
|
386
|
+
"returnMissing": "所声明的返回类型为“{returnType}”的函数必须在所有代码路径上返回值",
|
387
387
|
"returnOutsideFunction": "“return”只能在函数中使用",
|
388
388
|
"returnTypeContravariant": "逆变类型变量不能用于返回类型",
|
389
389
|
"returnTypeMismatch": "无法将类型“{exprType}”的表达式分配给返回类型“{returnType}”",
|
@@ -429,6 +429,7 @@
|
|
429
429
|
"tupleIndexOutOfRange": "类型 {type} 的索引 {index} 超出范围",
|
430
430
|
"typeAliasIllegalExpressionForm": "类型别名定义的表达式形式无效",
|
431
431
|
"typeAliasIsRecursiveDirect": "类型别名“{name}”不能在其定义中使用自身",
|
432
|
+
"typeAliasNotAllowed": "类型别名“{name}”不能在此上下文中使用",
|
432
433
|
"typeAliasNotInModuleOrClass": "TypeAlias 只能在模块或类范围内定义",
|
433
434
|
"typeAliasRedeclared": "“{name}”声明为 TypeAlias,只能分配一次",
|
434
435
|
"typeAliasStatementIllegal": "类型别名语句需要 Python 3.12 或更高版本",
|
@@ -383,7 +383,7 @@
|
|
383
383
|
"requiredArgCount": "\"Required\" 後面應有單一型別引數",
|
384
384
|
"requiredNotInTypedDict": "此內容中不允許 \"Required\"",
|
385
385
|
"returnInAsyncGenerator": "非同步產生器中不允許具有值的 return 陳述式",
|
386
|
-
"returnMissing": "
|
386
|
+
"returnMissing": "宣告類型為 \"{returnType}\" 的函式必須在所有程式碼路徑上傳回值",
|
387
387
|
"returnOutsideFunction": "\"return\" 只能在函式內使用",
|
388
388
|
"returnTypeContravariant": "逆變數型別變數不能用在傳回型別中",
|
389
389
|
"returnTypeMismatch": "類型 \"{exprType}\" 的運算式不能指派至傳回類型 \"{returnType}\"",
|
@@ -429,6 +429,7 @@
|
|
429
429
|
"tupleIndexOutOfRange": "索引 {index} 超過類型 {type} 的範圍",
|
430
430
|
"typeAliasIllegalExpressionForm": "類型別名定義無效的運算式格式",
|
431
431
|
"typeAliasIsRecursiveDirect": "型別別名 \"{name}\" 無法在其定義中使用它自己",
|
432
|
+
"typeAliasNotAllowed": "類型別名 \"{name}\" 無法在此內容中使用",
|
432
433
|
"typeAliasNotInModuleOrClass": "TypeAlias 只能在模組或類別範圍內定義",
|
433
434
|
"typeAliasRedeclared": "\"{name}\" 宣告為 TypeAlias,且只能指派一次",
|
434
435
|
"typeAliasStatementIllegal": "類型別名陳述式需要 Python 3.12 或更新版本",
|
package/dist/parser/parser.d.ts
CHANGED
@@ -77,6 +77,7 @@ export declare class Parser {
|
|
77
77
|
private _parseMatchStatement;
|
78
78
|
private _parseCaseStatement;
|
79
79
|
private _isPatternIrrefutable;
|
80
|
+
private _reportDuplicatePatternCaptureTargets;
|
80
81
|
private _getPatternTargetNames;
|
81
82
|
private _parsePatternSequence;
|
82
83
|
private _parsePatternAs;
|
package/dist/parser/parser.js
CHANGED
@@ -486,6 +486,11 @@ class Parser {
|
|
486
486
|
else {
|
487
487
|
casePattern = parseNodes_1.PatternSequenceNode.create(patternList.list[0], patternList.list);
|
488
488
|
}
|
489
|
+
if (casePattern.nodeType !== 0 /* Error */) {
|
490
|
+
const globalNameMap = new Map();
|
491
|
+
const localNameMap = new Map();
|
492
|
+
this._reportDuplicatePatternCaptureTargets(casePattern, globalNameMap, localNameMap);
|
493
|
+
}
|
489
494
|
let guardExpression;
|
490
495
|
if (this._consumeTokenIfKeyword(20 /* If */)) {
|
491
496
|
guardExpression = this._parseTestExpression(/* allowAssignmentExpression */ true);
|
@@ -504,6 +509,79 @@ class Parser {
|
|
504
509
|
}
|
505
510
|
return false;
|
506
511
|
}
|
512
|
+
// Reports any situations where a capture target (a variable that receives part of a pattern)
|
513
|
+
// appears twice within the same pattern. This is complicated by the fact that duplicate targets
|
514
|
+
// are allowed in separate "or" clauses, so we need to track the targets we've seen globally
|
515
|
+
// as well as the targets we've seen locally within the current "or" clause.
|
516
|
+
_reportDuplicatePatternCaptureTargets(node, globalNameMap, localNameMap) {
|
517
|
+
const reportTargetIfDuplicate = (nameNode) => {
|
518
|
+
if (globalNameMap.has(nameNode.value) || localNameMap.has(nameNode.value)) {
|
519
|
+
this._addError(localize_1.Localizer.Diagnostic.duplicateCapturePatternTarget().format({
|
520
|
+
name: nameNode.value,
|
521
|
+
}), nameNode);
|
522
|
+
}
|
523
|
+
else {
|
524
|
+
localNameMap.set(nameNode.value, nameNode);
|
525
|
+
}
|
526
|
+
};
|
527
|
+
switch (node.nodeType) {
|
528
|
+
case 65 /* PatternSequence */: {
|
529
|
+
node.entries.forEach((subpattern) => {
|
530
|
+
this._reportDuplicatePatternCaptureTargets(subpattern, globalNameMap, localNameMap);
|
531
|
+
});
|
532
|
+
break;
|
533
|
+
}
|
534
|
+
case 68 /* PatternClass */: {
|
535
|
+
node.arguments.forEach((arg) => {
|
536
|
+
this._reportDuplicatePatternCaptureTargets(arg.pattern, globalNameMap, localNameMap);
|
537
|
+
});
|
538
|
+
break;
|
539
|
+
}
|
540
|
+
case 66 /* PatternAs */: {
|
541
|
+
if (node.target) {
|
542
|
+
reportTargetIfDuplicate(node.target);
|
543
|
+
}
|
544
|
+
const orLocalNameMaps = node.orPatterns.map((subpattern) => {
|
545
|
+
const orLocalNameMap = new Map();
|
546
|
+
this._reportDuplicatePatternCaptureTargets(subpattern, localNameMap, orLocalNameMap);
|
547
|
+
return orLocalNameMap;
|
548
|
+
});
|
549
|
+
const combinedLocalOrNameMap = new Map();
|
550
|
+
orLocalNameMaps.forEach((orLocalNameMap) => {
|
551
|
+
orLocalNameMap.forEach((node) => {
|
552
|
+
if (!combinedLocalOrNameMap.has(node.value)) {
|
553
|
+
combinedLocalOrNameMap.set(node.value, node);
|
554
|
+
reportTargetIfDuplicate(node);
|
555
|
+
}
|
556
|
+
});
|
557
|
+
});
|
558
|
+
break;
|
559
|
+
}
|
560
|
+
case 69 /* PatternCapture */: {
|
561
|
+
if (!node.isWildcard) {
|
562
|
+
reportTargetIfDuplicate(node.target);
|
563
|
+
}
|
564
|
+
break;
|
565
|
+
}
|
566
|
+
case 70 /* PatternMapping */: {
|
567
|
+
node.entries.forEach((mapEntry) => {
|
568
|
+
if (mapEntry.nodeType === 72 /* PatternMappingExpandEntry */) {
|
569
|
+
reportTargetIfDuplicate(mapEntry.target);
|
570
|
+
}
|
571
|
+
else {
|
572
|
+
this._reportDuplicatePatternCaptureTargets(mapEntry.keyPattern, globalNameMap, localNameMap);
|
573
|
+
this._reportDuplicatePatternCaptureTargets(mapEntry.valuePattern, globalNameMap, localNameMap);
|
574
|
+
}
|
575
|
+
});
|
576
|
+
break;
|
577
|
+
}
|
578
|
+
case 67 /* PatternLiteral */:
|
579
|
+
case 73 /* PatternValue */:
|
580
|
+
case 0 /* Error */: {
|
581
|
+
break;
|
582
|
+
}
|
583
|
+
}
|
584
|
+
}
|
507
585
|
_getPatternTargetNames(node, nameSet) {
|
508
586
|
switch (node.nodeType) {
|
509
587
|
case 65 /* PatternSequence */: {
|
@@ -561,24 +639,6 @@ class Parser {
|
|
561
639
|
if (starEntries.length > 1) {
|
562
640
|
this._addError(localize_1.Localizer.Diagnostic.duplicateStarPattern(), starEntries[1].orPatterns[0]);
|
563
641
|
}
|
564
|
-
// Look for redundant capture targets.
|
565
|
-
const captureTargetMap = new Map();
|
566
|
-
patternList.list.forEach((asPattern) => {
|
567
|
-
asPattern.orPatterns.forEach((patternAtom) => {
|
568
|
-
if (patternAtom.nodeType === 69 /* PatternCapture */ &&
|
569
|
-
!patternAtom.isStar &&
|
570
|
-
!patternAtom.isWildcard) {
|
571
|
-
if (captureTargetMap.has(patternAtom.target.value)) {
|
572
|
-
this._addError(localize_1.Localizer.Diagnostic.duplicateCapturePatternTarget().format({
|
573
|
-
name: patternAtom.target.value,
|
574
|
-
}), patternAtom);
|
575
|
-
}
|
576
|
-
else {
|
577
|
-
captureTargetMap.set(patternAtom.target.value, patternAtom);
|
578
|
-
}
|
579
|
-
}
|
580
|
-
});
|
581
|
-
});
|
582
642
|
return patternList;
|
583
643
|
}
|
584
644
|
// as_pattern: or_pattern ['as' NAME]
|