MagicStack / MagicStack/MagicPython

[Bug] Class method 'self' looses special self scope with added type annotation

Abierto
#209 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
JavaScript
Estrellas
1.4k
Forks
98
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Got send here from 'vscode-python' https://github.com/microsoft/vscode-python/issues/11593

* **Editor name and version**: VS Code version: 1.44.2
* **Platform**: Windows_NT x64 10.0.17134
* **Color scheme**: Custom (close to Monokai)
* **MagicPython version**: Dunno which vscode uses

Without type annotation everything is just fine.
![image](https://user-images.githubusercontent.com/43916661/81209538-fa16f700-8fd0-11ea-80c4-73b9e1b86bd8.png)

When a type annotation is added to the `self` parameter the special scope for `self` is missing.
![image](https://user-images.githubusercontent.com/43916661/81209597-0602b900-8fd1-11ea-92b1-0444b29f0643.png)

## Steps to reproduce:

Paste the following code into a *.py file and inspect the `self` parameter with the developer token inspect tool. Like in the screenshots above.
The `self` parameter of the `bad_func` should show the actual scopes and the `self` parameter of the `good_func` should show the expected scopes.
```
class Test:
def bad_func(self: Test):
pass

def good_func(self):
pass
```

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con el fragmento de Python reproducido e inspecciona los ámbitos de tokens de los parámetros self anotados y no anotados mediante la herramienta de inspección de tokens del desarrollador. Sigue la ruta del resaltado de sintaxis que gestiona los parámetros de los métodos de clase; se considera terminado cuando self: Test conserva los mismos ámbitos especiales de self que self sin anotación.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
javascript, python
Área
tooling
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.