pull-pylance-with-pyright-1.1.369-9665934702

This commit is contained in:
GitHub Actions 2024-06-25 16:14:16 +00:00
parent a5cbd4725a
commit 2766a4a3b9
23 changed files with 185 additions and 146 deletions

View File

@ -19,10 +19,10 @@
"leven": "3.1.0",
"source-map-support": "^0.5.21",
"tmp": "^0.2.1",
"vscode-jsonrpc": "^9.0.0-next.2",
"vscode-languageserver": "^10.0.0-next.2",
"vscode-jsonrpc": "^9.0.0-next.4",
"vscode-languageserver": "^10.0.0-next.6",
"vscode-languageserver-textdocument": "1.0.11",
"vscode-languageserver-types": "^3.17.6-next.3",
"vscode-languageserver-types": "^3.17.6-next.4",
"vscode-uri": "^3.0.8"
},
"devDependencies": {
@ -5544,31 +5544,31 @@
}
},
"node_modules/vscode-jsonrpc": {
"version": "9.0.0-next.2",
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.2.tgz",
"integrity": "sha512-meIaXAgChCHzWy45QGU8YpCNyqnZQ/sYeCj32OLDDbUYsCF7AvgpdXx3nnZn9yzr8ed0Od9bW+NGphEmXsqvIQ==",
"version": "9.0.0-next.4",
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.4.tgz",
"integrity": "sha512-zSVIr58lJSMYKIsZ5P7GtBbv1eEx25eNyOf0NmEzxmn1GhUNJAVAb5hkA1poKUwj1FRMwN6CeyWxZypmr8SsQQ==",
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/vscode-languageserver": {
"version": "10.0.0-next.2",
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-10.0.0-next.2.tgz",
"integrity": "sha512-WZdK/XO6EkNU6foYck49NpS35sahWhYFs4hwCGalH/6lhPmdUKABTnWioK/RLZKWqH8E5HdlAHQMfSBIxKBV9Q==",
"version": "10.0.0-next.6",
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-10.0.0-next.6.tgz",
"integrity": "sha512-0Lh1nhQfSxo5Ob+ayYO1QTIsDix2/Lc72Urm1KZrCFxK5zIFYaEh3QFeM9oZih4Rzs0ZkQPXXnoHtpvs5GT+Zw==",
"dependencies": {
"vscode-languageserver-protocol": "3.17.6-next.3"
"vscode-languageserver-protocol": "3.17.6-next.6"
},
"bin": {
"installServerIntoExtension": "bin/installServerIntoExtension"
}
},
"node_modules/vscode-languageserver-protocol": {
"version": "3.17.6-next.3",
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.3.tgz",
"integrity": "sha512-H8ATH5SAvc3JzttS+AL6g681PiBOZM/l34WP2JZk4akY3y7NqTP+f9cJ+MhrVBbD3aDS8bdAKewZgbFLW6M8Pg==",
"version": "3.17.6-next.6",
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.6.tgz",
"integrity": "sha512-naxM9kc/phpl0kAFNVPejMUWUtzFXdPYY/BtQTYtfbBbHf8sceHOrKkmf6yynZRu1A4oFtRZNqV3wyFRTWqUHw==",
"dependencies": {
"vscode-jsonrpc": "9.0.0-next.2",
"vscode-languageserver-types": "3.17.6-next.3"
"vscode-jsonrpc": "9.0.0-next.4",
"vscode-languageserver-types": "3.17.6-next.4"
}
},
"node_modules/vscode-languageserver-textdocument": {
@ -5577,9 +5577,9 @@
"integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA=="
},
"node_modules/vscode-languageserver-types": {
"version": "3.17.6-next.3",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.3.tgz",
"integrity": "sha512-l5kNFXFRQGuzriXpuBqFpRmkf6f6A4VoU3h95OsVkqIOoi1k7KbwSo600cIdsKSJWrPg/+vX+QMPcMw1oI7ItA=="
"version": "3.17.6-next.4",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.4.tgz",
"integrity": "sha512-SeJTpH/S14EbxOAVaOUoGVqPToqpRTld5QO5Ghig3AlbFJTFF9Wu7srHMfa85L0SX1RYAuuCSFKJVVCxDIk1/Q=="
},
"node_modules/vscode-uri": {
"version": "3.0.8",
@ -9910,25 +9910,25 @@
}
},
"vscode-jsonrpc": {
"version": "9.0.0-next.2",
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.2.tgz",
"integrity": "sha512-meIaXAgChCHzWy45QGU8YpCNyqnZQ/sYeCj32OLDDbUYsCF7AvgpdXx3nnZn9yzr8ed0Od9bW+NGphEmXsqvIQ=="
"version": "9.0.0-next.4",
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.4.tgz",
"integrity": "sha512-zSVIr58lJSMYKIsZ5P7GtBbv1eEx25eNyOf0NmEzxmn1GhUNJAVAb5hkA1poKUwj1FRMwN6CeyWxZypmr8SsQQ=="
},
"vscode-languageserver": {
"version": "10.0.0-next.2",
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-10.0.0-next.2.tgz",
"integrity": "sha512-WZdK/XO6EkNU6foYck49NpS35sahWhYFs4hwCGalH/6lhPmdUKABTnWioK/RLZKWqH8E5HdlAHQMfSBIxKBV9Q==",
"version": "10.0.0-next.6",
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-10.0.0-next.6.tgz",
"integrity": "sha512-0Lh1nhQfSxo5Ob+ayYO1QTIsDix2/Lc72Urm1KZrCFxK5zIFYaEh3QFeM9oZih4Rzs0ZkQPXXnoHtpvs5GT+Zw==",
"requires": {
"vscode-languageserver-protocol": "3.17.6-next.3"
"vscode-languageserver-protocol": "3.17.6-next.6"
}
},
"vscode-languageserver-protocol": {
"version": "3.17.6-next.3",
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.3.tgz",
"integrity": "sha512-H8ATH5SAvc3JzttS+AL6g681PiBOZM/l34WP2JZk4akY3y7NqTP+f9cJ+MhrVBbD3aDS8bdAKewZgbFLW6M8Pg==",
"version": "3.17.6-next.6",
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.6.tgz",
"integrity": "sha512-naxM9kc/phpl0kAFNVPejMUWUtzFXdPYY/BtQTYtfbBbHf8sceHOrKkmf6yynZRu1A4oFtRZNqV3wyFRTWqUHw==",
"requires": {
"vscode-jsonrpc": "9.0.0-next.2",
"vscode-languageserver-types": "3.17.6-next.3"
"vscode-jsonrpc": "9.0.0-next.4",
"vscode-languageserver-types": "3.17.6-next.4"
}
},
"vscode-languageserver-textdocument": {
@ -9937,9 +9937,9 @@
"integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA=="
},
"vscode-languageserver-types": {
"version": "3.17.6-next.3",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.3.tgz",
"integrity": "sha512-l5kNFXFRQGuzriXpuBqFpRmkf6f6A4VoU3h95OsVkqIOoi1k7KbwSo600cIdsKSJWrPg/+vX+QMPcMw1oI7ItA=="
"version": "3.17.6-next.4",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.4.tgz",
"integrity": "sha512-SeJTpH/S14EbxOAVaOUoGVqPToqpRTld5QO5Ghig3AlbFJTFF9Wu7srHMfa85L0SX1RYAuuCSFKJVVCxDIk1/Q=="
},
"vscode-uri": {
"version": "3.0.8",

View File

@ -29,10 +29,10 @@
"leven": "3.1.0",
"source-map-support": "^0.5.21",
"tmp": "^0.2.1",
"vscode-jsonrpc": "^9.0.0-next.2",
"vscode-languageserver": "^10.0.0-next.2",
"vscode-jsonrpc": "^9.0.0-next.4",
"vscode-languageserver": "^10.0.0-next.6",
"vscode-languageserver-textdocument": "1.0.11",
"vscode-languageserver-types": "^3.17.6-next.3",
"vscode-languageserver-types": "^3.17.6-next.4",
"vscode-uri": "^3.0.8"
},
"devDependencies": {

View File

@ -389,32 +389,34 @@ export abstract class LanguageServerBase implements LanguageServerInterface, Dis
status: InitStatus | undefined,
serverSettings?: ServerSettings
): Promise<void> {
status?.markCalled();
try {
status?.markCalled();
serverSettings = serverSettings ?? (await this.getSettings(workspace));
serverSettings = serverSettings ?? (await this.getSettings(workspace));
// Set logging level first.
(this.console as ConsoleWithLogLevel).level = serverSettings.logLevel ?? LogLevel.Info;
// Set logging level first.
(this.console as ConsoleWithLogLevel).level = serverSettings.logLevel ?? LogLevel.Info;
// Apply the new path to the workspace (before restarting the service).
serverSettings.pythonPath = this.workspaceFactory.applyPythonPath(
workspace,
serverSettings.pythonPath ? serverSettings.pythonPath : undefined
);
// Apply the new path to the workspace (before restarting the service).
serverSettings.pythonPath = this.workspaceFactory.applyPythonPath(
workspace,
serverSettings.pythonPath ? serverSettings.pythonPath : undefined
);
this._dynamicFeatures.update(serverSettings);
this._dynamicFeatures.update(serverSettings);
// Then use the updated settings to restart the service.
this.updateOptionsAndRestartService(workspace, serverSettings);
// Then use the updated settings to restart the service.
this.updateOptionsAndRestartService(workspace, serverSettings);
workspace.disableLanguageServices = !!serverSettings.disableLanguageServices;
workspace.disableTaggedHints = !!serverSettings.disableTaggedHints;
workspace.disableOrganizeImports = !!serverSettings.disableOrganizeImports;
// Don't use workspace.isInitialized directly since it might have been
// reset due to pending config change event.
// The workspace is now open for business.
status?.resolve();
workspace.disableLanguageServices = !!serverSettings.disableLanguageServices;
workspace.disableTaggedHints = !!serverSettings.disableTaggedHints;
workspace.disableOrganizeImports = !!serverSettings.disableOrganizeImports;
} finally {
// Don't use workspace.isInitialized directly since it might have been
// reset due to pending config change event.
// The workspace is now open for business.
status?.resolve();
}
}
updateOptionsAndRestartService(

View File

@ -30,7 +30,7 @@ import { throwIfCancellationRequested } from '../common/cancellationUtils';
import { appendArray } from '../common/collectionUtils';
import { ExecutionEnvironment } from '../common/configOptions';
import { TextEditAction } from '../common/editAction';
import { SourceFileInfo } from '../common/extensibility';
import { ProgramView, SourceFileInfo } from '../common/extensibility';
import { stripFileExtension } from '../common/pathUtils';
import * as StringUtils from '../common/stringUtils';
import { Position } from '../common/textRange';
@ -164,6 +164,7 @@ export class AutoImporter {
constructor(
protected readonly execEnvironment: ExecutionEnvironment,
protected readonly program: ProgramView,
protected readonly importResolver: ImportResolver,
protected readonly parseResults: ParseFileResults,
private readonly _invocationPosition: Position,
@ -215,13 +216,13 @@ export class AutoImporter {
) {
this.moduleSymbolMap.forEach((topLevelSymbols, key) => {
// See if this file should be offered as an implicit import.
const isStubFileOrHasInit = this.isStubFileOrHasInit(this.moduleSymbolMap!, topLevelSymbols.uri);
const uriProperties = this.getUriProperties(this.moduleSymbolMap!, topLevelSymbols.uri);
this.processModuleSymbolTable(
topLevelSymbols,
topLevelSymbols.uri,
word,
similarityLimit,
isStubFileOrHasInit,
uriProperties,
abbrFromUsers,
aliasMap,
results,
@ -312,7 +313,7 @@ export class AutoImporter {
moduleUri: Uri,
word: string,
similarityLimit: number,
isStubOrHasInit: { isStub: boolean; hasInit: boolean },
fileProperties: { isStub: boolean; hasInit: boolean; isUserCode: boolean },
abbrFromUsers: string | undefined,
importAliasMap: Map<string, Map<string, ImportAliasData>>,
results: AutoImportResultMap,
@ -326,8 +327,10 @@ export class AutoImporter {
}
const dotCount = StringUtils.getCharacterCount(importSource, '.');
topLevelSymbols.forEach((autoImportSymbol, name, library) => {
if (!this._shouldIncludeVariable(autoImportSymbol, name, isStubOrHasInit.isStub, library)) {
topLevelSymbols.forEach((autoImportSymbol, name) => {
if (
!this._shouldIncludeVariable(autoImportSymbol, name, fileProperties.isStub, !fileProperties.isUserCode)
) {
return;
}
@ -368,7 +371,7 @@ export class AutoImporter {
return;
}
const nameForImportFrom = this.getNameForImportFrom(library, moduleUri);
const nameForImportFrom = this.getNameForImportFrom(/* library */ !fileProperties.isUserCode, moduleUri);
const autoImportTextEdits = this._getTextEditsForAutoImportByFilePath(
{ name, alias: abbrFromUsers },
{ name: importSource, nameForImportFrom },
@ -394,7 +397,8 @@ export class AutoImporter {
// If the current file is in a directory that also contains an "__init__.py[i]"
// file, we can use that directory name as an implicit import target.
// Or if the file is a stub file, we can use it as import target.
if (!isStubOrHasInit.isStub && !isStubOrHasInit.hasInit) {
// Skip this check for user code.
if (!fileProperties.isStub && !fileProperties.hasInit && !fileProperties.isUserCode) {
return;
}
@ -435,13 +439,14 @@ export class AutoImporter {
return undefined;
}
protected isStubFileOrHasInit<T>(map: Map<string, T>, uri: Uri) {
protected getUriProperties<T>(map: Map<string, T>, uri: Uri) {
const fileDir = uri.getDirectory();
const initPathPy = fileDir.initPyUri;
const initPathPyi = fileDir.initPyiUri;
const isStub = uri.hasExtension('.pyi');
const hasInit = map.has(initPathPy.key) || map.has(initPathPyi.key);
return { isStub, hasInit };
const sourceFileInfo = this.program.getSourceFileInfo(uri);
return { isStub, hasInit, isUserCode: isUserCode(sourceFileInfo) };
}
private _shouldIncludeVariable(

View File

@ -818,6 +818,7 @@ export class CompletionProvider {
const autoImporter = new AutoImporter(
this.execEnv,
this.program,
this.importResolver,
this.parseResults,
this.position,

View File

@ -15,7 +15,7 @@
},
"Diagnostic": {
"abstractMethodInvocation": "Metodu „{method}“ nelze volat, protože je abstraktní a neimplementovaná.",
"annotatedMetadataInconsistent": "Annotated metadata type \"{metadataType}\" is not compatible with type \"{type}\"",
"annotatedMetadataInconsistent": "Typ metadat s poznámkami „{metadataType}“ není kompatibilní s typem „{type}“.",
"annotatedParamCountMismatch": "Počet poznámek parametrů se neshoduje: očekával(o/y) se {expected}, ale přijal(o/y) se {received}.",
"annotatedTypeArgMissing": "Byl očekáván jeden argument typu a jedna nebo více poznámek pro Annotated",
"annotationBytesString": "Poznámky typu nemůžou používat řetězcové literály bajtů.",
@ -159,7 +159,7 @@
"enumMemberSet": "Člen výčtu {name} se nedá přiřadit.",
"enumMemberTypeAnnotation": "Poznámky typu nejsou pro členy výčtu povolené",
"exceptionGroupIncompatible": "Syntaxe skupiny výjimek (except*) vyžaduje Python 3.11 nebo novější",
"exceptionGroupTypeIncorrect": "Exception type in except* cannot derive from BaseGroupException",
"exceptionGroupTypeIncorrect": "Typ výjimky v kromě* se nedá odvodit z BaseGroupException.",
"exceptionTypeIncorrect": "„{type}“ se neodvozuje od BaseException",
"exceptionTypeNotClass": "{type} není platná třída výjimky",
"exceptionTypeNotInstantiable": "Konstruktor pro výjimku typu {type} vyžaduje jeden nebo více argumentů",
@ -403,6 +403,7 @@
"protocolBaseClassWithTypeArgs": "Argumenty typu nejsou u třídy Protocol povoleny při použití syntaxe parametru typu",
"protocolIllegal": "Použití protokolu vyžaduje Python 3.7 nebo novější",
"protocolNotAllowed": "„Protocol“ nejde v tomto kontextu použít.",
"protocolTypeArgMustBeTypeParam": "Type argument for \"Protocol\" must be a type parameter",
"protocolUnsafeOverlap": "Třída se nebezpečně překrývá s názvem „{name}“ a může vytvořit shodu při spuštění.",
"protocolVarianceContravariant": "Proměnná typu „{variable}“ použitá v obecném protokolu „{class}“ by měla být kontravariantní",
"protocolVarianceCovariant": "Proměnná typu „{variable}“ použitá v obecném protokolu „{class}“ by měla být kovariantní",

View File

@ -15,7 +15,7 @@
},
"Diagnostic": {
"abstractMethodInvocation": "Die Methode „{method}“ kann nicht aufgerufen werden, da sie abstrakt und nicht implementiert ist.",
"annotatedMetadataInconsistent": "Annotated metadata type \"{metadataType}\" is not compatible with type \"{type}\"",
"annotatedMetadataInconsistent": "Der mit Anmerkungen versehene Metadatentyp „{metadataType}“ ist nicht mit dem Typ „{type}“ kompatibel.",
"annotatedParamCountMismatch": "Nicht übereinstimmende Parameteranmerkungsanzahl: {expected} erwartet, aber {received} empfangen",
"annotatedTypeArgMissing": "Es wurde ein Typargument und mindestens eine Anmerkung für \"Annotated\" erwartet.",
"annotationBytesString": "Typanmerkungen dürfen keine Bytes-Zeichenfolgenliterale verwenden.",
@ -159,7 +159,7 @@
"enumMemberSet": "Das Enumerationselement \"{name}\" kann nicht zugewiesen werden.",
"enumMemberTypeAnnotation": "Typanmerkungen sind für Enumerationsmember nicht zulässig",
"exceptionGroupIncompatible": "Die Ausnahmegruppensyntax (\"except*\") erfordert Python 3.11 oder höher.",
"exceptionGroupTypeIncorrect": "Exception type in except* cannot derive from BaseGroupException",
"exceptionGroupTypeIncorrect": "Der Ausnahmetyp in „except*“ kann nicht von BaseGroupException abgeleitet werden.",
"exceptionTypeIncorrect": "\"{type}\" ist nicht von BaseException abgeleitet.",
"exceptionTypeNotClass": "\"{type}\" ist keine gültige Ausnahmeklasse.",
"exceptionTypeNotInstantiable": "Der Konstruktor für den Ausnahmetyp \"{type}\" erfordert mindestens ein Argument.",
@ -403,6 +403,7 @@
"protocolBaseClassWithTypeArgs": "Typargumente sind mit der Protokollklasse nicht zulässig, wenn die Typparametersyntax verwendet wird.",
"protocolIllegal": "Die Verwendung von \"Protocol\" erfordert Python 3.7 oder höher.",
"protocolNotAllowed": "\"Protocol\" kann in diesem Kontext nicht verwendet werden.",
"protocolTypeArgMustBeTypeParam": "Type argument for \"Protocol\" must be a type parameter",
"protocolUnsafeOverlap": "Die Klasse überlappt unsicher mit „{name}“ und könnte zur Laufzeit eine Übereinstimmung erzeugen.",
"protocolVarianceContravariant": "Die Typvariable \"{variable}\", die im generischen Protokoll \"{class}\" verwendet wird, muss \"contravariant\" sein.",
"protocolVarianceCovariant": "Die Typvariable \"{variable}\", die im generischen Protokoll \"{class}\" verwendet wird, muss \"covariant\" sein.",

View File

@ -15,7 +15,7 @@
},
"Diagnostic": {
"abstractMethodInvocation": "No se puede llamar al método \"{method}\" porque es abstracto y no se ha implementado.",
"annotatedMetadataInconsistent": "Annotated metadata type \"{metadataType}\" is not compatible with type \"{type}\"",
"annotatedMetadataInconsistent": "El tipo de metadatos anotados \"{metadataType}\" no es compatible con el tipo \"{type}\"",
"annotatedParamCountMismatch": "El recuento de anotaciones del parámetro no coincide: se esperaba {expected}, pero se recibió {received}",
"annotatedTypeArgMissing": "Se espera un argumento de tipo y una o más anotaciones para \"Anotado\".",
"annotationBytesString": "Las anotaciones de tipo no pueden utilizar literales de cadena de bytes",
@ -159,7 +159,7 @@
"enumMemberSet": "No se puede asignar el miembro de enumeración \"{name}\"",
"enumMemberTypeAnnotation": "No se permiten anotaciones de tipo para miembros de enumeración",
"exceptionGroupIncompatible": "La sintaxis de grupo de excepciones (\"except*\") requiere Python 3.11 o posterior.",
"exceptionGroupTypeIncorrect": "Exception type in except* cannot derive from BaseGroupException",
"exceptionGroupTypeIncorrect": "El tipo de excepción en except* no puede derivarse de BaseGroupException",
"exceptionTypeIncorrect": "\"{type}\" no se deriva de BaseException",
"exceptionTypeNotClass": "\"{type}\" no es una clase de excepción válida",
"exceptionTypeNotInstantiable": "El constructor para el tipo de excepción \"{type}\" requiere uno o más argumentos",
@ -403,6 +403,7 @@
"protocolBaseClassWithTypeArgs": "No se permiten argumentos de tipo con la clase Protocol cuando se usa la sintaxis de parámetro de tipo",
"protocolIllegal": "El uso de \"Protocolo\" requiere Python 3.7 o posterior.",
"protocolNotAllowed": "\"Protocolo\" no puede utilizarse en este contexto",
"protocolTypeArgMustBeTypeParam": "Type argument for \"Protocol\" must be a type parameter",
"protocolUnsafeOverlap": "La clase se superpone \"{name}\" de forma no segura y podría producir una coincidencia en tiempo de ejecución",
"protocolVarianceContravariant": "La variable de tipo \"{variable}\" usada en el protocolo genérico \"{class}\" debe ser contravariante.",
"protocolVarianceCovariant": "La variable de tipo \"{variable}\" usada en el protocolo genérico \"{class}\" debe ser covariante",

View File

@ -15,7 +15,7 @@
},
"Diagnostic": {
"abstractMethodInvocation": "Désolé, nous navons pas pu appeler la méthode « {method} », car elle est abstraite et non implémentée",
"annotatedMetadataInconsistent": "Annotated metadata type \"{metadataType}\" is not compatible with type \"{type}\"",
"annotatedMetadataInconsistent": "Le type de métadonnées annoté « {metadataType} » nest pas compatible avec le type « {type} »",
"annotatedParamCountMismatch": "Non-concordance du nombre d'annotations de paramètre : attendu {expected} mais reçu {received}",
"annotatedTypeArgMissing": "Un argument de type et une ou plusieurs annotations sont attendus pour « Annotation »",
"annotationBytesString": "Les annotations de type ne peuvent pas utiliser de littéraux de chaîne doctets",
@ -159,7 +159,7 @@
"enumMemberSet": "Le membre enum « {name} » ne peut pas être affecté",
"enumMemberTypeAnnotation": "Les annotations de type ne sont pas autorisées pour les membres enum",
"exceptionGroupIncompatible": "La syntaxe du groupe dexceptions (« except* ») nécessite Python 3.11 ou version ultérieure",
"exceptionGroupTypeIncorrect": "Exception type in except* cannot derive from BaseGroupException",
"exceptionGroupTypeIncorrect": "Le type dexception dans except* ne peut pas dériver de BaseGroupException",
"exceptionTypeIncorrect": "\"{type}\" ne dérive pas de BaseException",
"exceptionTypeNotClass": "« {type} » nest pas une classe dexception valide",
"exceptionTypeNotInstantiable": "Le constructeur pour le type dexception « {type} » requiert un ou plusieurs arguments",
@ -403,6 +403,7 @@
"protocolBaseClassWithTypeArgs": "Les arguments de type ne sont pas autorisés avec la classe Protocol lors de l'utilisation de la syntaxe des paramètres de type",
"protocolIllegal": "Lutilisation de « Protocole » nécessite Python 3.7 ou une version plus récente",
"protocolNotAllowed": "\"Protocole\" ne peut pas être utilisé dans ce contexte",
"protocolTypeArgMustBeTypeParam": "Type argument for \"Protocol\" must be a type parameter",
"protocolUnsafeOverlap": "La classe chevauche « {name} » de manière non sécurisée et peut produire une correspondance au moment de lexécution",
"protocolVarianceContravariant": "La variable de type \"{variable}\" utilisée dans le protocole générique \"{class}\" doit être contravariante",
"protocolVarianceCovariant": "La variable de type \"{variable}\" utilisée dans le protocole générique \"{class}\" doit être covariante",

View File

@ -15,7 +15,7 @@
},
"Diagnostic": {
"abstractMethodInvocation": "Impossibile chiamare il metodo \"{method}\" perché è astratto e non implementato",
"annotatedMetadataInconsistent": "Annotated metadata type \"{metadataType}\" is not compatible with type \"{type}\"",
"annotatedMetadataInconsistent": "Il tipo di metadati annotati \"{metadataType}\" non è compatibile con il tipo \"{type}\"",
"annotatedParamCountMismatch": "Numero di annotazioni dei parametro non corrispondente: previsto {expected} ma ricevuto {received}",
"annotatedTypeArgMissing": "Previsto un argomento di tipo e una o più annotazioni per \"Annotato\"",
"annotationBytesString": "Le annotazioni di tipo non possono usare valori letterali stringa byte",
@ -159,7 +159,7 @@
"enumMemberSet": "Non è possibile assegnare il membro di enumerazione \"{name}\"",
"enumMemberTypeAnnotation": "Le annotazioni di tipo non sono consentite per i membri di enumerazione",
"exceptionGroupIncompatible": "La sintassi del gruppo di eccezioni (\"except*\") richiede Python 3.11 o versione successiva",
"exceptionGroupTypeIncorrect": "Exception type in except* cannot derive from BaseGroupException",
"exceptionGroupTypeIncorrect": "Il tipo di eccezione in except* non può derivare da BaseGroupException",
"exceptionTypeIncorrect": "\"{type}\" non deriva da BaseException",
"exceptionTypeNotClass": "\"{type}\" non è una classe di eccezione valida",
"exceptionTypeNotInstantiable": "Il costruttore per il tipo di eccezione \"{type}\" richiede uno o più argomenti",
@ -403,6 +403,7 @@
"protocolBaseClassWithTypeArgs": "Gli argomenti tipo non sono consentiti con la classe Protocollo quando si usa la sintassi dei parametri tipo",
"protocolIllegal": "L'uso del \"protocollo\" richiede Python 3.7 o versione successiva",
"protocolNotAllowed": "\"Protocol\" non può essere usato in questo contesto",
"protocolTypeArgMustBeTypeParam": "Type argument for \"Protocol\" must be a type parameter",
"protocolUnsafeOverlap": "La classe si sovrappone a \"{name}\" in modo non sicuro e può produrre una corrispondenza in fase di esecuzione",
"protocolVarianceContravariant": "La variabile di tipo \"{variable}\" usata nel protocollo generico \"{class}\" deve essere controvariante",
"protocolVarianceCovariant": "La variabile di tipo \"{variable}\" usata nel protocollo generico \"{class}\" deve essere covariante",

View File

@ -15,7 +15,7 @@
},
"Diagnostic": {
"abstractMethodInvocation": "メソッド \"{method}\" は抽象メソッドであり、実装されていないため、呼び出すことができません",
"annotatedMetadataInconsistent": "Annotated metadata type \"{metadataType}\" is not compatible with type \"{type}\"",
"annotatedMetadataInconsistent": "注釈付きのメタデータ型 \"{metadataType}\" は型 \"{type}\" と互換性がありません",
"annotatedParamCountMismatch": "パラメーター注釈数の不一致: {expected} が必要ですが、{received} を受信しました",
"annotatedTypeArgMissing": "\"Annotationed\" には 1 つの型引数と 1 つ以上の注釈が必要です",
"annotationBytesString": "型注釈では、バイト文字列リテラルは使用できません",
@ -159,7 +159,7 @@
"enumMemberSet": "列挙型メンバー \"{name}\" を割り当てることはできません",
"enumMemberTypeAnnotation": "列挙型メンバーには型注釈を使用できません",
"exceptionGroupIncompatible": "例外グループの構文 (\"except*\") には Python 3.11 以降が必要です",
"exceptionGroupTypeIncorrect": "Exception type in except* cannot derive from BaseGroupException",
"exceptionGroupTypeIncorrect": "except* の例外型は BaseGroupException から派生できません",
"exceptionTypeIncorrect": "\"{type}\" は BaseException から派生していません",
"exceptionTypeNotClass": "\"{type}\" は有効な例外クラスではありません",
"exceptionTypeNotInstantiable": "例外の種類 \"{type}\" のコンストラクターには 1 つ以上の引数が必要です",
@ -403,6 +403,7 @@
"protocolBaseClassWithTypeArgs": "型パラメーター構文を使用する場合、Protocol クラスでは型引数を使用できません",
"protocolIllegal": "\"Protocol\" を使用するには Python 3.7 以降が必要です",
"protocolNotAllowed": "\"Protocol\" はこのコンテキストでは使用できません",
"protocolTypeArgMustBeTypeParam": "Type argument for \"Protocol\" must be a type parameter",
"protocolUnsafeOverlap": "クラスが安全でない方法で \"{name}\" と重複しており、実行時に一致する可能性があります",
"protocolVarianceContravariant": "ジェネリック プロトコル \"{class}\" で使用される型変数 \"{variable}\" は反変である必要があります",
"protocolVarianceCovariant": "ジェネリック プロトコル \"{class}\" で使用される型変数 \"{variable}\" は共変である必要があります",

View File

@ -15,7 +15,7 @@
},
"Diagnostic": {
"abstractMethodInvocation": "메서드 \"{method}\"은(는) 추상적이고 구현되지 않았으므로 호출할 수 없습니다.",
"annotatedMetadataInconsistent": "Annotated metadata type \"{metadataType}\" is not compatible with type \"{type}\"",
"annotatedMetadataInconsistent": "주석이 추가된 \"{metadataType}\" 메타데이터 형식이 \"{type}\" 형식과 호환되지 않습니다.",
"annotatedParamCountMismatch": "매개 변수 주석 개수가 일치하지 않습니다. {expected}이)(가) 필요하지만 {received}을(를) 받았습니다.",
"annotatedTypeArgMissing": "\"Annotated\"에 대해 하나의 형식 인수와 하나 이상의 주석이 필요합니다.",
"annotationBytesString": "형식 주석은 바이트 문자열 리터럴을 사용할 수 없습니다.",
@ -159,7 +159,7 @@
"enumMemberSet": "열거형 멤버 \"{name}\"을(를) 할당할 수 없음",
"enumMemberTypeAnnotation": "열거형 멤버에는 형식 주석을 사용할 수 없습니다.",
"exceptionGroupIncompatible": "예외 그룹 구문(\"except*\")에는 Python 3.11 이상이 필요합니다.",
"exceptionGroupTypeIncorrect": "Exception type in except* cannot derive from BaseGroupException",
"exceptionGroupTypeIncorrect": "exception*의 예외 형식은 BaseGroupException에서 파생될 수 없습니다.",
"exceptionTypeIncorrect": "{type}’은 BaseException에서 파생되지 않습니다.",
"exceptionTypeNotClass": "\"{type}\"은(는) 올바른 예외 클래스가 아닙니다.",
"exceptionTypeNotInstantiable": "예외 형식 \"{type}\"에 대한 생성자에는 하나 이상의 인수가 필요합니다.",
@ -403,6 +403,7 @@
"protocolBaseClassWithTypeArgs": "형식 매개 변수 구문을 사용할 때는 Protocol 클래스에 형식 인수가 허용되지 않습니다.",
"protocolIllegal": "\"프로토콜\"을 사용하려면 Python 3.7 이상이 필요합니다.",
"protocolNotAllowed": "이 컨텍스트에서는 \"Protocol\"을 사용할 수 없습니다.",
"protocolTypeArgMustBeTypeParam": "Type argument for \"Protocol\" must be a type parameter",
"protocolUnsafeOverlap": "클래스가 \"{name}\"과(와) 안전하지 않게 겹치며 런타임에 일치 항목을 생성할 수 있습니다.",
"protocolVarianceContravariant": "{class} 제네릭 프로토콜에서 사용되는 {variable} 형식 변수는 반공변이어야 합니다.",
"protocolVarianceCovariant": "{class} 제네릭 프로토콜에서 사용되는 {variable} 형식 변수는 공변이어야 합니다",

View File

@ -15,7 +15,7 @@
},
"Diagnostic": {
"abstractMethodInvocation": "Nie można wywołać metody „{method}”, ponieważ jest abstrakcyjna i niezaimplementowana",
"annotatedMetadataInconsistent": "Annotated metadata type \"{metadataType}\" is not compatible with type \"{type}\"",
"annotatedMetadataInconsistent": "Opisany typ metadanych „{metadataType}” nie jest zgodny z typem „{type}”",
"annotatedParamCountMismatch": "Niezgodność liczby adnotacji parametru; oczekiwano {expected}, a uzyskano {received}",
"annotatedTypeArgMissing": "Oczekiwano jednego argumentu typu i co najmniej jednej adnotacji dla wartości „Annotated”",
"annotationBytesString": "Adnotacje typu nie mogą używać literałów ciągu bajtów",
@ -159,7 +159,7 @@
"enumMemberSet": "Nie można przypisać składowej wyliczenia „{name}”",
"enumMemberTypeAnnotation": "Adnotacje typu nie są dozwolone dla elementów członkowskich wyliczenia",
"exceptionGroupIncompatible": "Składnia grupy wyjątków („except*”) wymaga języka Python w wersji 3.11 lub nowszej",
"exceptionGroupTypeIncorrect": "Exception type in except* cannot derive from BaseGroupException",
"exceptionGroupTypeIncorrect": "Typ wyjątku w wyrażeniu except* nie może pochodzić z grupy BaseGroupException",
"exceptionTypeIncorrect": "Typ „{type}” nie pochodzi od parametru BaseException",
"exceptionTypeNotClass": "Typ „{type}” nie jest prawidłową klasą wyjątku",
"exceptionTypeNotInstantiable": "Konstruktor typu wyjątku „{type}” wymaga co najmniej jednego argumentu",
@ -403,6 +403,7 @@
"protocolBaseClassWithTypeArgs": "Argumenty typu są niedozwolone w przypadku klasy protokołu, gdy jest używana składnia parametru typu",
"protocolIllegal": "Użycie elementu „Protocol” wymaga języka Python w wersji 3.7 lub nowszej",
"protocolNotAllowed": "„Protokół” nie może być używany w tym kontekście",
"protocolTypeArgMustBeTypeParam": "Type argument for \"Protocol\" must be a type parameter",
"protocolUnsafeOverlap": "Klasa nakłada się niebezpiecznie na element „{name}” i może utworzyć dopasowanie w czasie wykonywania",
"protocolVarianceContravariant": "Zmienna typu „{variable}” używana w klasie protokołu ogólnego „{class}” powinna być kontrawariantna",
"protocolVarianceCovariant": "Zmienna typu „{variable}” używana w klasie protokołu ogólnego „{class}” powinna być kowariantna",

View File

@ -15,7 +15,7 @@
},
"Diagnostic": {
"abstractMethodInvocation": "O método \"{method}\" não pode ser chamado porque é abstrato e não está implementado",
"annotatedMetadataInconsistent": "Annotated metadata type \"{metadataType}\" is not compatible with type \"{type}\"",
"annotatedMetadataInconsistent": "O tipo de metadados anotados \"{metadataType}\" não é compatível com o tipo \"{type}\"",
"annotatedParamCountMismatch": "Incompatibilidade de contagem de anotações de parâmetro: esperado {expected}, mas recebido {received}",
"annotatedTypeArgMissing": "Esperava-se um argumento de tipo e uma ou mais anotações para \"Annotated\"",
"annotationBytesString": "Anotações de tipo não podem usar literais de cadeia de caracteres de bytes",
@ -159,7 +159,7 @@
"enumMemberSet": "O membro enumerado \"{name}\" não pode ser atribuído",
"enumMemberTypeAnnotation": "Anotações de tipo não são permitidas para membros de enumeração",
"exceptionGroupIncompatible": "A sintaxe do grupo de exceção (\"exceto*\") requer o Python 3.11 ou mais recente",
"exceptionGroupTypeIncorrect": "Exception type in except* cannot derive from BaseGroupException",
"exceptionGroupTypeIncorrect": "O tipo de exceção em exceto* não pode derivar de BaseGroupException",
"exceptionTypeIncorrect": "\"{type}\" não deriva de BaseException",
"exceptionTypeNotClass": "\"{type}\" não é uma classe de exceção válida",
"exceptionTypeNotInstantiable": "O construtor para o tipo de exceção \"{type}\" requer um ou mais argumentos",
@ -403,6 +403,7 @@
"protocolBaseClassWithTypeArgs": "Argumentos de tipo não são permitidos com a classe Protocol ao usar a sintaxe de parâmetro de tipo",
"protocolIllegal": "O uso de \"Protocol\" requer o Python 3.7 ou mais recente",
"protocolNotAllowed": "\"Protocol\" não pode ser usado nesse contexto",
"protocolTypeArgMustBeTypeParam": "Type argument for \"Protocol\" must be a type parameter",
"protocolUnsafeOverlap": "A classe se sobrepõe a \"{name}\" de forma não segura e pode produzir uma correspondência em runtime",
"protocolVarianceContravariant": "A variável de tipo \"{variable}\" usada no protocolo genérico \"{class}\" deve ser contravariante",
"protocolVarianceCovariant": "A variável de tipo \"{variable}\" usada no protocolo genérico \"{class}\" deve ser covariante",

View File

@ -403,6 +403,7 @@
"protocolBaseClassWithTypeArgs": "[tpYEx][นั้Tÿpë ærgµmëñts ærë ñøt ælløwëð wïth Prøtøçøl çlæss whëñ µsïñg tÿpë pæræmëtër sÿñtæxẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂนั้ढूँ]",
"protocolIllegal": "[jYjYe][นั้Üsë øf \"Prøtøçøl\" rëqµïrës Pÿthøñ 3.7 ør ñëwërẤğ倪İЂҰक्र्तिृまẤğ倪İนั้ढूँ]",
"protocolNotAllowed": "[2GEt6][นั้\"Prøtøçøl\" çæññøt þë µsëð ïñ thïs çøñtëxtẤğ倪İЂҰक्र्तिृまẤğนั้ढूँ]",
"protocolTypeArgMustBeTypeParam": "[WTgkM][นั้Tÿpë ærgµmëñt før \"Prøtøçøl\" mµst þë æ tÿpë pæræmëtërẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्นั้ढूँ]",
"protocolUnsafeOverlap": "[79LbC][นั้Çlæss øvërlæps \"{ñæmë}\" µñsæfëlÿ æñð çøµlð prøðµçë æ mætçh æt rµñtïmëẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまนั้ढूँ]",
"protocolVarianceContravariant": "[B4htZ][นั้Tÿpë værïæþlë \"{værïæþlë}\" µsëð ïñ gëñërïç prøtøçøl \"{çlæss}\" shøµlð þë çøñtræværïæñtẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰนั้ढूँ]",
"protocolVarianceCovariant": "[Hcnn5][นั้Tÿpë værïæþlë \"{værïæþlë}\" µsëð ïñ gëñërïç prøtøçøl \"{çlæss}\" shøµlð þë çøværïæñtẤğ倪İЂҰक्र्तिृまẤğ倪İЂҰक्र्तिृまẤğ倪İนั้ढूँ]",

View File

@ -15,7 +15,7 @@
},
"Diagnostic": {
"abstractMethodInvocation": "Невозможно вызвать метод \"{method}\", так как он является абстрактным и нереализованным",
"annotatedMetadataInconsistent": "Annotated metadata type \"{metadataType}\" is not compatible with type \"{type}\"",
"annotatedMetadataInconsistent": "Тип аннотированных метаданных \"{metadataType}\" несовместим с типом \"{type}\"",
"annotatedParamCountMismatch": "Несоответствие числа аннотаций параметра: ожидается {expected}, но получено {received}",
"annotatedTypeArgMissing": "Для \"Annotated\" ожидается один аргумент типа и одна или несколько заметок типа",
"annotationBytesString": "Заметки с типом не могут использовать строковые литералы байтов",
@ -159,7 +159,7 @@
"enumMemberSet": "Не удается назначить элемент перечисления \"{name}\"",
"enumMemberTypeAnnotation": "Аннотации типов не разрешены для элементов перечисления",
"exceptionGroupIncompatible": "Синтаксис группы исключений (\"except*\") можно использовать в Python версии не ранее 3.11",
"exceptionGroupTypeIncorrect": "Exception type in except* cannot derive from BaseGroupException",
"exceptionGroupTypeIncorrect": "Тип исключения в except* не может быть производным от BaseGroupException",
"exceptionTypeIncorrect": "\"{type}\" не является производным от BaseException",
"exceptionTypeNotClass": "\"{type}\" не является допустимым классом исключений",
"exceptionTypeNotInstantiable": "Конструктору типа исключения \"{type}\" требуется один или несколько аргументов",
@ -403,6 +403,7 @@
"protocolBaseClassWithTypeArgs": "Аргументы типа не допускаются с классом протокола при использовании синтаксиса параметра типа",
"protocolIllegal": "Ключевое слово \"Protocol\" можно использовать в Python версии не ниже 3.7",
"protocolNotAllowed": "Невозможно использовать \"Protocol\" в этом контексте",
"protocolTypeArgMustBeTypeParam": "Type argument for \"Protocol\" must be a type parameter",
"protocolUnsafeOverlap": "Класс небезопасно перекрывает \"{name}\" и может вызвать совпадение во время выполнения",
"protocolVarianceContravariant": "Переменная типа \"{variable}\", используемая в универсальном протоколе \"{class}\", должна быть контравариантной.",
"protocolVarianceCovariant": "Переменная типа \"{variable}\", используемая в универсальном протоколе \"{class}\", должна быть ковариантной",

View File

@ -15,7 +15,7 @@
},
"Diagnostic": {
"abstractMethodInvocation": "\"{method}\" metodu soyut veya uygulanmamış olduğundan çağrılamaz",
"annotatedMetadataInconsistent": "Annotated metadata type \"{metadataType}\" is not compatible with type \"{type}\"",
"annotatedMetadataInconsistent": "\"{metadataType}\" not eklenmiş meta veri türü \"{type}\" türüyle uyumlu değil",
"annotatedParamCountMismatch": "Parametre ek açıklama sayısı uyuşmazlığı: {expected} bekleniyordu ancak {received} alındı",
"annotatedTypeArgMissing": "\"Annotated\" için bir tür bağımsız değişkeni ve bir veya daha fazla ek açıklama bekleniyordu",
"annotationBytesString": "Tür ek açıklamaları bayt sabit değerli dizeleri kullanamaz",
@ -159,7 +159,7 @@
"enumMemberSet": "Sabit liste üyesi \"{name}\" atanamıyor",
"enumMemberTypeAnnotation": "Sabit listesi üyeleri için tür ek açıklamalarına izin verilmiyor",
"exceptionGroupIncompatible": "Özel durum grubu söz dizimi (\"except*\") için Python 3.11 veya daha yeni bir sürümü gerekiyor",
"exceptionGroupTypeIncorrect": "Exception type in except* cannot derive from BaseGroupException",
"exceptionGroupTypeIncorrect": "Except* altındaki özel durum türü BaseGroupException değerinden türetilemiyor",
"exceptionTypeIncorrect": "\"{type}\", BaseException türevi değil",
"exceptionTypeNotClass": "\"{type}\" geçerli bir özel durum sınıfı değil",
"exceptionTypeNotInstantiable": "\"{type}\" özel durum türü oluşturucusu bir veya daha fazla bağımsız değişken gerektiriyor",
@ -403,6 +403,7 @@
"protocolBaseClassWithTypeArgs": "Tür parametresi söz dizimi kullanılırken, tür bağımsız değişkenlerinin Protokol sınıfıyla kullanılmasına izin verilmez",
"protocolIllegal": "\"Protocol\" kullanımı için Python 3.7 veya daha yeni bir sürümü gerekiyor",
"protocolNotAllowed": "\"Protokol\" bu bağlamda kullanılamaz",
"protocolTypeArgMustBeTypeParam": "Type argument for \"Protocol\" must be a type parameter",
"protocolUnsafeOverlap": "Sınıf, \"{name}\" ile güvenli olmayan bir şekilde çakışıyor ve çalışma zamanında bir eşleşme üretebilir",
"protocolVarianceContravariant": "\"{class}\" genel protokolünde kullanılan \"{variable}\" tür değişkeni, değişken karşıtı olmalıdır",
"protocolVarianceCovariant": "\"{class}\" genel protokolünde kullanılan \"{variable}\" tür değişkeni birlikte değişen olmalıdır",

View File

@ -15,7 +15,7 @@
},
"Diagnostic": {
"abstractMethodInvocation": "无法调用方法“{method}”,因为它是抽象的且未实施",
"annotatedMetadataInconsistent": "Annotated metadata type \"{metadataType}\" is not compatible with type \"{type}\"",
"annotatedMetadataInconsistent": "带批注的元数据类型“{metadataType}”与类型“{type}”不兼容",
"annotatedParamCountMismatch": "参数批注计数不匹配: 应为 {expected},但收到 {received}",
"annotatedTypeArgMissing": "“Annotated”应为一个类型参数和一个或多个批注",
"annotationBytesString": "类型批注不能使用字节字符串文本",
@ -159,7 +159,7 @@
"enumMemberSet": "无法分配枚举成员“{name}”",
"enumMemberTypeAnnotation": "枚举成员不允许使用类型注释",
"exceptionGroupIncompatible": "异常组语法 (\"except*\") 需要 Python 3.11 或更高版本",
"exceptionGroupTypeIncorrect": "Exception type in except* cannot derive from BaseGroupException",
"exceptionGroupTypeIncorrect": "except* 中的异常类型不能派生自 BaseGroupException",
"exceptionTypeIncorrect": "\"{type}\" 不是派生自 BaseException",
"exceptionTypeNotClass": "“{type}”不是有效的异常类",
"exceptionTypeNotInstantiable": "异常类型\"{type}\"的构造函数需要一个或多个参数",
@ -403,6 +403,7 @@
"protocolBaseClassWithTypeArgs": "使用类型参数语法时,协议类不允许使用类型参数",
"protocolIllegal": "使用 \"Protocol\" 需要 Python 3.7 或更高版本",
"protocolNotAllowed": "\"Protocol\" 不能用于此上下文",
"protocolTypeArgMustBeTypeParam": "Type argument for \"Protocol\" must be a type parameter",
"protocolUnsafeOverlap": "类与“{name}”不安全地重叠,并且可能在运行时生成匹配项",
"protocolVarianceContravariant": "泛型协议“{class}”中使用的类型变量“{variable}”应为逆变",
"protocolVarianceCovariant": "泛型协议“{class}”中使用的类型变量“{variable}”应为协变",

View File

@ -15,7 +15,7 @@
},
"Diagnostic": {
"abstractMethodInvocation": "無法呼叫方法 \"{method}\",因為它是抽象且未執行",
"annotatedMetadataInconsistent": "Annotated metadata type \"{metadataType}\" is not compatible with type \"{type}\"",
"annotatedMetadataInconsistent": "標註的中繼資料類型 \"{metadataType}\" 與類型 \"{type}\" 不相容",
"annotatedParamCountMismatch": "參數註釋計數不符: 應為 {expected},但收到 {received}",
"annotatedTypeArgMissing": "預期 \"Annotated\" 有一個類型引數和一或多個註釋",
"annotationBytesString": "類型註釋無法使用位元組字串常值",
@ -159,7 +159,7 @@
"enumMemberSet": "無法指派列舉成員 \"{name}\"",
"enumMemberTypeAnnotation": "列舉成員不允許類型註釋",
"exceptionGroupIncompatible": "例外群組語法 (\"except*\") 需要 Python 3.11 或更新版本",
"exceptionGroupTypeIncorrect": "Exception type in except* cannot derive from BaseGroupException",
"exceptionGroupTypeIncorrect": "except* 中的例外狀況類型不能衍生自 BaseGroupException",
"exceptionTypeIncorrect": "\"{type}\" 不是衍生自 BaseException",
"exceptionTypeNotClass": "\"{type}\" 不是有效的例外類別",
"exceptionTypeNotInstantiable": "例外類型 \"{type}\" 的建構函式需要一或多個引數",
@ -403,6 +403,7 @@
"protocolBaseClassWithTypeArgs": "使用型別參數語法時,通訊協定類別不允許使用型別引數",
"protocolIllegal": "使用 \"Protocol\" 需要 Python 3.7 或更新版本",
"protocolNotAllowed": "\"Protocol\" 不能用在此內容中",
"protocolTypeArgMustBeTypeParam": "Type argument for \"Protocol\" must be a type parameter",
"protocolUnsafeOverlap": "類別以不安全方式重疊 \"{name}\",且可能會在運行時間產生相符專案",
"protocolVarianceContravariant": "一般通訊協定 \"{class}\" 中使用的型別變數 \"{variable}\" 必須為逆變數",
"protocolVarianceCovariant": "一般通訊協定 \"{class}\" 中使用的型別變數 \"{variable}\" 必須為共變數",

View File

@ -183,11 +183,13 @@ describe(`Basic language server tests`, () => {
// Wait for the diagnostics to publish
const diagnostics = await waitForDiagnostics(info);
assert.equal(diagnostics[0]!.diagnostics.length, 6);
const diagnostic = diagnostics.find((d) => d.uri.includes('root/test.py'));
assert(diagnostic);
assert.equal(diagnostic.diagnostics.length, 6);
// Make sure the error has a special rule
assert.equal(diagnostics[0].diagnostics[1].code, 'reportUnusedImport');
assert.equal(diagnostics[0].diagnostics[3].code, 'reportUnusedImport');
assert.equal(diagnostics[0].diagnostics[5].code, 'reportUnusedImport');
assert.equal(diagnostic.diagnostics[1].code, 'reportUnusedImport');
assert.equal(diagnostic.diagnostics[3].code, 'reportUnusedImport');
assert.equal(diagnostic.diagnostics[5].code, 'reportUnusedImport');
});
});

View File

@ -320,6 +320,17 @@ class ServerStateManager {
if (instance) {
this._pendingDispose = createDeferred<void>();
// Dispose the server first. This might send a message or two.
const serverIndex = instance.disposables.findIndex((d) => d instanceof TestServer);
if (serverIndex >= 0) {
try {
instance.disposables[serverIndex].dispose();
instance.disposables = instance.disposables.splice(serverIndex, 1);
} catch (e) {
// Dispose failures don't matter.
}
}
// Wait for our connection to finish first. Give it 10 tries.
// This is a bit of a hack but there are no good ways to cancel all running requests
// on shutdown.
@ -329,9 +340,13 @@ class ServerStateManager {
count += 1;
}
this._pendingDispose.resolve();
instance.disposables.forEach((d) => {
d.dispose();
});
try {
instance.disposables.forEach((d) => {
d.dispose();
});
} catch (e) {
// Dispose failures don't matter.
}
this._pendingDispose = undefined;
if (this._currentOptions) {
logToDisk(`Stopped ${this._currentOptions?.testName}`, this._currentOptions.logFile);

View File

@ -9,10 +9,10 @@
"version": "1.1.369",
"license": "MIT",
"dependencies": {
"vscode-jsonrpc": "^9.0.0-next.2",
"vscode-languageclient": "^10.0.0-next.2",
"vscode-languageserver": "^10.0.0-next.2",
"vscode-languageserver-protocol": "^3.17.6-next.3"
"vscode-jsonrpc": "^9.0.0-next.4",
"vscode-languageclient": "^10.0.0-next.8",
"vscode-languageserver": "^10.0.0-next.6",
"vscode-languageserver-protocol": "^3.17.6-next.6"
},
"devDependencies": {
"@types/node": "^17.0.45",
@ -3419,24 +3419,24 @@
}
},
"node_modules/vscode-jsonrpc": {
"version": "9.0.0-next.2",
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.2.tgz",
"integrity": "sha512-meIaXAgChCHzWy45QGU8YpCNyqnZQ/sYeCj32OLDDbUYsCF7AvgpdXx3nnZn9yzr8ed0Od9bW+NGphEmXsqvIQ==",
"version": "9.0.0-next.4",
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.4.tgz",
"integrity": "sha512-zSVIr58lJSMYKIsZ5P7GtBbv1eEx25eNyOf0NmEzxmn1GhUNJAVAb5hkA1poKUwj1FRMwN6CeyWxZypmr8SsQQ==",
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/vscode-languageclient": {
"version": "10.0.0-next.2",
"resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-10.0.0-next.2.tgz",
"integrity": "sha512-ERKtgOkto4pHCxC2u1K3FfsYHSt8AeuZJjg1u/3TvnrCbBkMxrpn5mHWkh4m3rl6qo2Wk4m9YFgU6F7KCWQNZw==",
"version": "10.0.0-next.8",
"resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-10.0.0-next.8.tgz",
"integrity": "sha512-D9inIHgqKayO9Tv0MeLb3XIL76yTuWmKdHqcGZKzjtQrMGJgASJDYWTapu+yAjEpDp0gmVOaCYyIlLB86ncDoQ==",
"dependencies": {
"minimatch": "^9.0.3",
"semver": "^7.6.0",
"vscode-languageserver-protocol": "3.17.6-next.3"
"vscode-languageserver-protocol": "3.17.6-next.6"
},
"engines": {
"vscode": "^1.86.0"
"vscode": "^1.89.0"
}
},
"node_modules/vscode-languageclient/node_modules/brace-expansion": {
@ -3462,29 +3462,29 @@
}
},
"node_modules/vscode-languageserver": {
"version": "10.0.0-next.2",
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-10.0.0-next.2.tgz",
"integrity": "sha512-WZdK/XO6EkNU6foYck49NpS35sahWhYFs4hwCGalH/6lhPmdUKABTnWioK/RLZKWqH8E5HdlAHQMfSBIxKBV9Q==",
"version": "10.0.0-next.6",
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-10.0.0-next.6.tgz",
"integrity": "sha512-0Lh1nhQfSxo5Ob+ayYO1QTIsDix2/Lc72Urm1KZrCFxK5zIFYaEh3QFeM9oZih4Rzs0ZkQPXXnoHtpvs5GT+Zw==",
"dependencies": {
"vscode-languageserver-protocol": "3.17.6-next.3"
"vscode-languageserver-protocol": "3.17.6-next.6"
},
"bin": {
"installServerIntoExtension": "bin/installServerIntoExtension"
}
},
"node_modules/vscode-languageserver-protocol": {
"version": "3.17.6-next.3",
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.3.tgz",
"integrity": "sha512-H8ATH5SAvc3JzttS+AL6g681PiBOZM/l34WP2JZk4akY3y7NqTP+f9cJ+MhrVBbD3aDS8bdAKewZgbFLW6M8Pg==",
"version": "3.17.6-next.6",
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.6.tgz",
"integrity": "sha512-naxM9kc/phpl0kAFNVPejMUWUtzFXdPYY/BtQTYtfbBbHf8sceHOrKkmf6yynZRu1A4oFtRZNqV3wyFRTWqUHw==",
"dependencies": {
"vscode-jsonrpc": "9.0.0-next.2",
"vscode-languageserver-types": "3.17.6-next.3"
"vscode-jsonrpc": "9.0.0-next.4",
"vscode-languageserver-types": "3.17.6-next.4"
}
},
"node_modules/vscode-languageserver-types": {
"version": "3.17.6-next.3",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.3.tgz",
"integrity": "sha512-l5kNFXFRQGuzriXpuBqFpRmkf6f6A4VoU3h95OsVkqIOoi1k7KbwSo600cIdsKSJWrPg/+vX+QMPcMw1oI7ItA=="
"version": "3.17.6-next.4",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.4.tgz",
"integrity": "sha512-SeJTpH/S14EbxOAVaOUoGVqPToqpRTld5QO5Ghig3AlbFJTFF9Wu7srHMfa85L0SX1RYAuuCSFKJVVCxDIk1/Q=="
},
"node_modules/watchpack": {
"version": "2.4.0",
@ -6130,18 +6130,18 @@
}
},
"vscode-jsonrpc": {
"version": "9.0.0-next.2",
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.2.tgz",
"integrity": "sha512-meIaXAgChCHzWy45QGU8YpCNyqnZQ/sYeCj32OLDDbUYsCF7AvgpdXx3nnZn9yzr8ed0Od9bW+NGphEmXsqvIQ=="
"version": "9.0.0-next.4",
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.4.tgz",
"integrity": "sha512-zSVIr58lJSMYKIsZ5P7GtBbv1eEx25eNyOf0NmEzxmn1GhUNJAVAb5hkA1poKUwj1FRMwN6CeyWxZypmr8SsQQ=="
},
"vscode-languageclient": {
"version": "10.0.0-next.2",
"resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-10.0.0-next.2.tgz",
"integrity": "sha512-ERKtgOkto4pHCxC2u1K3FfsYHSt8AeuZJjg1u/3TvnrCbBkMxrpn5mHWkh4m3rl6qo2Wk4m9YFgU6F7KCWQNZw==",
"version": "10.0.0-next.8",
"resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-10.0.0-next.8.tgz",
"integrity": "sha512-D9inIHgqKayO9Tv0MeLb3XIL76yTuWmKdHqcGZKzjtQrMGJgASJDYWTapu+yAjEpDp0gmVOaCYyIlLB86ncDoQ==",
"requires": {
"minimatch": "^9.0.3",
"semver": "^7.6.0",
"vscode-languageserver-protocol": "3.17.6-next.3"
"vscode-languageserver-protocol": "3.17.6-next.6"
},
"dependencies": {
"brace-expansion": {
@ -6163,26 +6163,26 @@
}
},
"vscode-languageserver": {
"version": "10.0.0-next.2",
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-10.0.0-next.2.tgz",
"integrity": "sha512-WZdK/XO6EkNU6foYck49NpS35sahWhYFs4hwCGalH/6lhPmdUKABTnWioK/RLZKWqH8E5HdlAHQMfSBIxKBV9Q==",
"version": "10.0.0-next.6",
"resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-10.0.0-next.6.tgz",
"integrity": "sha512-0Lh1nhQfSxo5Ob+ayYO1QTIsDix2/Lc72Urm1KZrCFxK5zIFYaEh3QFeM9oZih4Rzs0ZkQPXXnoHtpvs5GT+Zw==",
"requires": {
"vscode-languageserver-protocol": "3.17.6-next.3"
"vscode-languageserver-protocol": "3.17.6-next.6"
}
},
"vscode-languageserver-protocol": {
"version": "3.17.6-next.3",
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.3.tgz",
"integrity": "sha512-H8ATH5SAvc3JzttS+AL6g681PiBOZM/l34WP2JZk4akY3y7NqTP+f9cJ+MhrVBbD3aDS8bdAKewZgbFLW6M8Pg==",
"version": "3.17.6-next.6",
"resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.6.tgz",
"integrity": "sha512-naxM9kc/phpl0kAFNVPejMUWUtzFXdPYY/BtQTYtfbBbHf8sceHOrKkmf6yynZRu1A4oFtRZNqV3wyFRTWqUHw==",
"requires": {
"vscode-jsonrpc": "9.0.0-next.2",
"vscode-languageserver-types": "3.17.6-next.3"
"vscode-jsonrpc": "9.0.0-next.4",
"vscode-languageserver-types": "3.17.6-next.4"
}
},
"vscode-languageserver-types": {
"version": "3.17.6-next.3",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.3.tgz",
"integrity": "sha512-l5kNFXFRQGuzriXpuBqFpRmkf6f6A4VoU3h95OsVkqIOoi1k7KbwSo600cIdsKSJWrPg/+vX+QMPcMw1oI7ItA=="
"version": "3.17.6-next.4",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.4.tgz",
"integrity": "sha512-SeJTpH/S14EbxOAVaOUoGVqPToqpRTld5QO5Ghig3AlbFJTFF9Wu7srHMfa85L0SX1RYAuuCSFKJVVCxDIk1/Q=="
},
"watchpack": {
"version": "2.4.0",

View File

@ -1576,10 +1576,10 @@
"webpack-dev": "npm run clean && webpack --mode development --watch --progress"
},
"dependencies": {
"vscode-jsonrpc": "^9.0.0-next.2",
"vscode-languageclient": "^10.0.0-next.2",
"vscode-languageserver": "^10.0.0-next.2",
"vscode-languageserver-protocol": "^3.17.6-next.3"
"vscode-jsonrpc": "^9.0.0-next.4",
"vscode-languageclient": "^10.0.0-next.8",
"vscode-languageserver": "^10.0.0-next.6",
"vscode-languageserver-protocol": "^3.17.6-next.6"
},
"devDependencies": {
"@types/node": "^17.0.45",