Skip to content

Commit

Permalink
pull-pylance-with-pyright-1.1.391-20250107-184335
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] committed Jan 7, 2025
1 parent 2f28cd3 commit ec1102c
Show file tree
Hide file tree
Showing 31 changed files with 8,025 additions and 9,682 deletions.
14,026 changes: 5,693 additions & 8,333 deletions package-lock.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
},
"devDependencies": {
"@types/glob": "^7.2.0",
"@types/node": "^22.7.0",
"@types/node": "^22.10.5",
"@types/yargs": "^16.0.9",
"@typescript-eslint/eslint-plugin": "^6.21.0",
"@typescript-eslint/parser": "^6.21.0",
Expand All @@ -32,7 +32,7 @@
"eslint-plugin-simple-import-sort": "^10.0.0",
"glob": "^7.2.3",
"jsonc-parser": "^3.3.1",
"lerna": "^8.1.8",
"lerna": "^8.1.9",
"npm-check-updates": "^16.14.20",
"p-queue": "^6.6.2",
"prettier": "2.8.8",
Expand Down
1,376 changes: 852 additions & 524 deletions packages/pyright-internal/package-lock.json

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions packages/pyright-internal/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@
"devDependencies": {
"@types/command-line-args": "^5.2.3",
"@types/fs-extra": "^11.0.4",
"@types/jest": "^29.5.13",
"@types/lodash": "^4.17.7",
"@types/node": "^22.7.0",
"@types/jest": "^29.5.14",
"@types/lodash": "^4.17.14",
"@types/node": "^22.10.5",
"@types/tmp": "^0.2.6",
"copy-webpack-plugin": "^11.0.0",
"esbuild-loader": "^3.2.0",
Expand All @@ -51,7 +51,7 @@
"ts-jest": "^29.2.5",
"ts-loader": "^9.5.1",
"typescript": "~5.5.4",
"webpack": "^5.94.0",
"webpack": "^5.97.1",
"webpack-cli": "^5.1.4",
"word-wrap": "1.2.5"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import { TokenType } from '../parser/tokenizerTypes';
import * as AnalyzerNodeInfo from './analyzerNodeInfo';
import { ModuleNameAndType } from './importResolver';
import { ImportResult, ImportType } from './importResult';
import { findTokenAfter, getTokenAt } from './parseTreeUtils';
import { getTokenAfter, getTokenAt } from './parseTreeUtils';
import * as SymbolNameUtils from './symbolNameUtils';

export interface ImportStatement {
Expand Down Expand Up @@ -797,8 +797,8 @@ function getEditsPreservingFirstCommentAfterCommaIfExist(
return [{ start: offsetOfPreviousNodeEnd, length }];
}

const commaToken = findTokenAfter(
parseFileResults.tokenizerOutput,
const commaToken = getTokenAfter(
parseFileResults.tokenizerOutput.tokens,
TextRange.getEnd(previousNode),
(t) => t.type === TokenType.Comma
);
Expand Down
47 changes: 29 additions & 18 deletions packages/pyright-internal/src/analyzer/parseTreeUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1909,6 +1909,35 @@ export function getTokenAtLeft(
return tokens.getItemAt(index);
}

export function getTokenIndexAfter(
tokens: TextRangeCollection<Token>,
position: number,
predicate: (t: Token) => boolean
) {
const index = tokens.getItemAtPosition(position);
if (index < 0) {
return -1;
}

for (let i = index; i < tokens.length; i++) {
const token = tokens.getItemAt(i);
if (predicate(token)) {
return i;
}
}

return -1;
}

export function getTokenAfter(tokens: TextRangeCollection<Token>, position: number, predicate: (t: Token) => boolean) {
const index = getTokenIndexAfter(tokens, position, predicate);
if (index < 0) {
return undefined;
}

return tokens.getItemAt(index);
}

export function isWhitespace(token: Token) {
return token.type === TokenType.NewLine || token.type === TokenType.Indent || token.type === TokenType.Dedent;
}
Expand Down Expand Up @@ -1941,24 +1970,6 @@ export function getIndexOfTokenOverlapping(tokens: TextRangeCollection<Token>, p
return TextRange.overlaps(token, position) ? index : -1;
}

export function findTokenAfter(tokenizerOutput: TokenizerOutput, offset: number, predicate: (t: Token) => boolean) {
const tokens = tokenizerOutput.tokens;

const index = tokens.getItemAtPosition(offset);
if (index < 0) {
return undefined;
}

for (let i = index; i < tokens.length; i++) {
const token = tokens.getItemAt(i);
if (predicate(token)) {
return token;
}
}

return undefined;
}

export function getCommentsAtTokenIndex(tokens: TextRangeCollection<Token>, index: number) {
let token = getTokenAtIndex(tokens, index);
if (!token) {
Expand Down
3 changes: 2 additions & 1 deletion packages/pyright-internal/src/analyzer/program.ts
Original file line number Diff line number Diff line change
Expand Up @@ -952,7 +952,8 @@ export class Program {
this._importResolver,
this._configOptions,
this.serviceProvider,
new LogTracker(this._console, 'Cloned')
new LogTracker(this._console, 'Cloned'),
this._disableChecker
);

// Cloned program will use whatever user files the program currently has.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* shared.ts
* asyncInitialization.ts
* Copyright (c) Microsoft Corporation.
* Licensed under the MIT license.
*
Expand Down
1 change: 1 addition & 0 deletions packages/pyright-internal/src/common/extensibility.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ export interface SourceFile {
getClientVersion(): number | undefined;
getOpenFileContents(): string | undefined;
getModuleSymbolTable(): SymbolTable | undefined;
getDiagnostics(options: ConfigOptions): Diagnostic[] | undefined;
}

export interface SourceFileInfo {
Expand Down
1 change: 1 addition & 0 deletions packages/pyright-internal/src/common/fileSystem.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import { Uri } from './uri/uri';
export interface Stats {
size: number;
mtimeMs: number;
ctimeMs: number;

isFile(): boolean;
isDirectory(): boolean;
Expand Down
4 changes: 3 additions & 1 deletion packages/pyright-internal/src/common/tomlUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ type TomlPrimitive =
// maintain existing module resolution to support multiple environments.
let TOML: any;
const loadTomlModule = (async () => {
TOML = await import('smol-toml');
// Use a magic comment to prevent webpack from creating an extra chunk for the dynamic import by default.
// An extra chunk will still be created if explicitly configured in the webpack config.
TOML = await import(/* webpackMode: "eager" */ 'smol-toml');
})();

export async function ensureTomlModuleLoaded() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,9 @@
"baseClassVariableTypeIncompatible": "Základní třídy pro třídu {classType} definují proměnnou {name} nekompatibilním způsobem",
"binaryOperationNotAllowed": "Ve výrazu typu není povolený binární operátor.",
"bindTypeMismatch": "Nepovedlo se vytvořit vazbu metody „{methodName}“, protože „{type}“ nejde přiřadit k parametru „{paramName}“",
"breakInExceptionGroup": "V bloku except* není povolená možnost break.",
"breakOutsideLoop": "„break“ se dá použít jenom ve smyčce",
"bytesUnsupportedEscape": "Nepodporovaná řídicí sekvence v literálu typu bytes",
"callableExtraArgs": "Pro Callable se očekávaly pouze dva argumenty typu",
"callableFirstArg": "Očekával se seznam typů parametrů nebo ...",
"callableNotInstantiable": "Není možné vytvořit instanci typu {type}",
Expand Down Expand Up @@ -96,6 +98,7 @@
"constructorParametersMismatch": "Neshoda mezi signaturou __new__ a __init__ ve třídě“ {classType}“",
"containmentAlwaysFalse": "Výraz se vždy vyhodnotí jako False, protože typy „{leftType}“ a „{rightType}“ se nepřekrývají",
"containmentAlwaysTrue": "Výraz se vždy vyhodnotí jako True, protože typy „{leftType}“ a „{rightType}“ se nepřekrývají.",
"continueInExceptionGroup": "V bloku except* není povolená možnost continue.",
"continueOutsideLoop": "continue se dá použít jenom ve smyčce",
"coroutineInConditionalExpression": "Podmíněný výraz odkazuje na korutinu, která se vždy vyhodnotí jako True.",
"dataClassBaseClassFrozen": "Nezablokovaná třída nemůže dědit z zmrazené třídy",
Expand Down Expand Up @@ -156,6 +159,8 @@
"enumMemberDelete": "Člen Enum {name} se nedá odstranit.",
"enumMemberSet": "Člen Enum {name} se nedá přiřadit.",
"enumMemberTypeAnnotation": "Poznámky typu nejsou pro členy enum povolené.",
"exceptGroupMismatch": "Příkaz Try nemůže obsahovat jak except, tak i except*.",
"exceptGroupRequiresType": "Syntaxe skupiny výjimek (\"except*\") vyžaduje typ výjimky.",
"exceptionGroupIncompatible": "Syntaxe skupiny výjimek (\"except*\") vyžaduje Python 3.11 nebo novější",
"exceptionGroupTypeIncorrect": "Typ výjimky v except* se nedá odvodit z BaseGroupException.",
"exceptionTypeIncorrect": "„{type}“ se neodvozuje od BaseException",
Expand Down Expand Up @@ -425,6 +430,7 @@
"requiredArgCount": "Za povinným argumentem (Required) se očekával jeden argument typu.",
"requiredNotInTypedDict": "Required není v tomto kontextu povoleno",
"returnInAsyncGenerator": "Příkaz Return s hodnotou není v asynchronním generátoru povolený",
"returnInExceptionGroup": "V bloku except* není povolená možnost return.",
"returnMissing": "Funkce s deklarovaným návratovým typem „{returnType}“ musí vracet hodnotu na všech cestách kódu",
"returnOutsideFunction": "„return“ se dá použít jenom v rámci funkce",
"returnTypeContravariant": "Kontravariantní proměnnou typu nejde použít v návratovém typu",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,9 @@
"baseClassVariableTypeIncompatible": "Basisklassen für die Klasse \"{classType}\" definieren die Variable \"{name}\" auf inkompatible Weise.",
"binaryOperationNotAllowed": "Der binärer Operator ist im Typausdruck nicht zulässig",
"bindTypeMismatch": "Die Methode \"{methodName}\" konnte nicht gebunden werden, da \"{type}\" dem Parameter \"{paramName}\" nicht zugewiesen werden kann.",
"breakInExceptionGroup": "„break“ ist in einem „except*“ Block nicht zulässig.",
"breakOutsideLoop": "\"break\" kann nur innerhalb einer Schleife verwendet werden.",
"bytesUnsupportedEscape": "Nicht unterstützte Escapesequenz in bytes-Literal",
"callableExtraArgs": "Es wurden nur zwei Typargumente für \"Callable\" erwartet.",
"callableFirstArg": "Parametertypliste oder \"...\" erwartet.",
"callableNotInstantiable": "Der Typ \"{type}\" kann nicht instanziiert werden.",
Expand Down Expand Up @@ -96,6 +98,7 @@
"constructorParametersMismatch": "Keine Übereinstimmung zwischen der Signatur von __new__ und __init__ in der Klasse \"{classType}\"",
"containmentAlwaysFalse": "Der Ausdruck wird immer als False ausgewertet, da die Typen \"{leftType}\" und \"{rightType}\" keine Überlappung aufweisen.",
"containmentAlwaysTrue": "Der Ausdruck wird immer als True ausgewertet, da die Typen \"{leftType}\" und \"{rightType}\" keine Überlappung aufweisen.",
"continueInExceptionGroup": "„continue“ ist in einem „except*“ Block nicht zulässig.",
"continueOutsideLoop": "\"continue\" kann nur innerhalb einer Schleife verwendet werden.",
"coroutineInConditionalExpression": "Bedingter Ausdruck verweist auf eine Coroutine, die immer zu \"True\" ausgewertet wird.",
"dataClassBaseClassFrozen": "Eine nicht fixierte Klasse kann nicht von einer fixierten Klasse erben.",
Expand Down Expand Up @@ -156,6 +159,8 @@
"enumMemberDelete": "Das Enumerationselement \"{name}\" kann nicht gelöscht werden.",
"enumMemberSet": "Das Enumerationselement \"{name}\" kann nicht zugewiesen werden.",
"enumMemberTypeAnnotation": "Typanmerkungen sind für enum Member nicht zulässig",
"exceptGroupMismatch": "Die „try“-Anweisung darf nicht sowohl „except“ als auch „except*“ enthalten.",
"exceptGroupRequiresType": "Die Ausnahmegruppensyntax („except*“) erfordert einen Ausnahmetyp.",
"exceptionGroupIncompatible": "Die Ausnahmegruppensyntax (\"except*\") erfordert Python 3.11 oder höher.",
"exceptionGroupTypeIncorrect": "Der Ausnahmetyp in except* kann nicht von BaseGroupException abgeleitet werden.",
"exceptionTypeIncorrect": "\"{type}\" ist nicht von BaseException abgeleitet.",
Expand Down Expand Up @@ -425,6 +430,7 @@
"requiredArgCount": "Nach \"Required\" wurde ein einzelnes Typargument erwartet.",
"requiredNotInTypedDict": "\"Required\" ist in diesem Kontext nicht zulässig.",
"returnInAsyncGenerator": "Eine Return-Anweisung mit einem Wert ist im asynchronen Generator nicht zulässig.",
"returnInExceptionGroup": "„return“ ist in einem „except*“ Block nicht zulässig.",
"returnMissing": "Die Funktion mit dem deklarierten Rückgabetyp \"{returnType}\" muss einen Wert für alle Codepfade zurückgeben.",
"returnOutsideFunction": "\"return\" kann nur innerhalb einer Funktion verwendet werden.",
"returnTypeContravariant": "Die Variable vom Typ \"contravariant\" kann nicht im Rückgabetyp verwendet werden.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,9 @@
"baseClassVariableTypeIncompatible": "Las clases base para la clase \"{classType}\" definen la variable \"{name}\" de forma incompatible",
"binaryOperationNotAllowed": "Operador binario no permitido en la expresión de tipo",
"bindTypeMismatch": "No se pudo enlazar el método \"{methodName}\" porque \"{type}\" no se puede asignar al parámetro \"{paramName}\"",
"breakInExceptionGroup": "No se permite \"break\" en un bloque \"except*\"",
"breakOutsideLoop": "\"break\" solo se puede usar dentro de un bucle",
"bytesUnsupportedEscape": "Secuencia de escape no admitida en el literal de bytes",
"callableExtraArgs": "Se esperaban solo dos argumentos de tipo para \"Callable\".",
"callableFirstArg": "Lista de tipos de parámetros esperados o \"...\"",
"callableNotInstantiable": "No se puede instanciar el tipo \"{type}\"",
Expand Down Expand Up @@ -96,6 +98,7 @@
"constructorParametersMismatch": "Error de coincidencia entre la firma de __new__ y __init__ en la clase \"{classType}\"",
"containmentAlwaysFalse": "La expresión siempre se evaluará como False, ya que los tipos \"{leftType}\" y \"{rightType}\" no tienen superposición",
"containmentAlwaysTrue": "La expresión siempre se evaluará como True, ya que los tipos \"{leftType}\" y \"{rightType}\" no tienen superposición",
"continueInExceptionGroup": "No se permite \"continue\" en un bloque \"except*\"",
"continueOutsideLoop": "\"continue\" solo puede utilizarse dentro de un bucle",
"coroutineInConditionalExpression": "La expresión condicional hace referencia a una corrutina que siempre se evalúa como True",
"dataClassBaseClassFrozen": "Una clase no inmovilizada no puede heredar de una clase inmovilizada",
Expand Down Expand Up @@ -156,6 +159,8 @@
"enumMemberDelete": "No se puede eliminar el miembro de Enum \"{name}\"",
"enumMemberSet": "No se puede asignar el miembro de Enum \"{name}\"",
"enumMemberTypeAnnotation": "No se permiten anotaciones de tipo para miembros de enumeración",
"exceptGroupMismatch": "La instrucción Try no puede incluir \"except\" y \"except*\"",
"exceptGroupRequiresType": "La sintaxis del grupo de excepciones (\"except*\") requiere un tipo de excepción",
"exceptionGroupIncompatible": "La sintaxis de grupo de excepciones (\"except*\") requiere Python 3.11 o posterior.",
"exceptionGroupTypeIncorrect": "El tipo de excepción en except* no puede derivarse de BaseGroupException",
"exceptionTypeIncorrect": "\"{type}\" no se deriva de BaseException",
Expand Down Expand Up @@ -425,6 +430,7 @@
"requiredArgCount": "Se esperaba un único argumento de tipo después de \"Required\"",
"requiredNotInTypedDict": "\"Required\" no está permitido en este contexto",
"returnInAsyncGenerator": "No se permite la instrucción Return con valor en el generador async",
"returnInExceptionGroup": "No se permite \"return\" en un bloque \"except*\"",
"returnMissing": "La función con el tipo de valor devuelto declarado \"{returnType}\" debe devolver un valor en todas las rutas de acceso del código.",
"returnOutsideFunction": "\"return\" solo se puede usar dentro de una función",
"returnTypeContravariant": "La variable de tipo contravariante no se puede usar en el tipo de valor devuelto",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,9 @@
"baseClassVariableTypeIncompatible": "Les classes de base de la classe « {classType} » définissent la variable « {name} » de manière incompatible",
"binaryOperationNotAllowed": "Opérateur binaire non autorisé dans l'expression de type",
"bindTypeMismatch": "Impossible de lier la méthode \"{methodName}\" car \"{type}\" n'est pas attribuable au paramètre \"{paramName}\"",
"breakInExceptionGroup": "« break » n’est pas autorisé dans un bloc « except* »",
"breakOutsideLoop": "\"break\" ne peut être utilisé qu'à l'intérieur d'une boucle",
"bytesUnsupportedEscape": "Séquence d’échappement non prise en charge dans le littéral de bytes",
"callableExtraArgs": "Seuls deux arguments de type sont attendus pour « Callable »",
"callableFirstArg": "Liste de types de paramètres attendue ou « ... »",
"callableNotInstantiable": "Impossible d’instancier le type « {type} »",
Expand Down Expand Up @@ -96,6 +98,7 @@
"constructorParametersMismatch": "Non-concordance entre la signature de __new__ et __init__ dans la classe \"{classType}\"",
"containmentAlwaysFalse": "L'expression sera toujours évaluée à False car les types \"{leftType}\" et \"{rightType}\" ne se chevauchent pas",
"containmentAlwaysTrue": "L'expression sera toujours évaluée à True puisque les types \"{leftType}\" et \"{rightType}\" ne se chevauchent pas",
"continueInExceptionGroup": "« continue » n’est pas autorisé dans un bloc « except* »",
"continueOutsideLoop": "« continuer » ne peut être utilisé qu’au sein d’une boucle",
"coroutineInConditionalExpression": "L'expression conditionnelle fait référence à une coroutine qui est toujours évaluée à True",
"dataClassBaseClassFrozen": "Une classe non gelée ne peut pas hériter d'une classe gelée",
Expand Down Expand Up @@ -156,6 +159,8 @@
"enumMemberDelete": "Le membre Enum « {name} » ne peut pas être supprimé",
"enumMemberSet": "Le membre Enum « {name} » ne peut pas être affecté",
"enumMemberTypeAnnotation": "Les annotations de type ne sont pas autorisées pour les membres enum",
"exceptGroupMismatch": "L’instruction Try ne peut pas inclure à la fois « except » et « except* »",
"exceptGroupRequiresType": "La syntaxe du groupe d’exceptions (« except* ») nécessite un type d’exception",
"exceptionGroupIncompatible": "La syntaxe du groupe d’exceptions (« except* ») nécessite Python 3.11 ou version ultérieure",
"exceptionGroupTypeIncorrect": "Le type d’exception dans except* ne peut pas dériver de BaseGroupException",
"exceptionTypeIncorrect": "\"{type}\" ne dérive pas de BaseException",
Expand Down Expand Up @@ -425,6 +430,7 @@
"requiredArgCount": "Attendu un argument de type unique après \"Required\"",
"requiredNotInTypedDict": "« Required » n’est pas autorisé dans ce contexte",
"returnInAsyncGenerator": "L'instruction de retour avec valeur n'est pas autorisée dans le générateur asynchrone",
"returnInExceptionGroup": "« return » n’est pas autorisé dans un bloc « except* »",
"returnMissing": "La fonction avec le type de retour déclaré \"{returnType}\" doit renvoyer une valeur sur tous les chemins de code",
"returnOutsideFunction": "\"return\" ne peut être utilisé que dans une fonction",
"returnTypeContravariant": "La variable de type contravariant ne peut pas être utilisée dans le type de retour",
Expand Down Expand Up @@ -575,7 +581,7 @@
"unaccessedClass": "La classe \"{name}\" n'est pas accessible",
"unaccessedFunction": "La fonction « {name} » n’est pas accessible",
"unaccessedImport": "L’importation « {name} » n’est pas accessible",
"unaccessedSymbol": "« {name} » n’est pas accessible",
"unaccessedSymbol": "« {name} » n’est pas utilisé(e)",
"unaccessedVariable": "La variable « {name} » n’est pas accessible",
"unannotatedFunctionSkipped": "L'analyse de la fonction \"{name}\" est ignorée car elle n'est pas annotée",
"unaryOperationNotAllowed": "L'opérateur unaire n'est pas autorisé dans l'expression de type",
Expand Down
Loading

0 comments on commit ec1102c

Please sign in to comment.