Turn "continue" into "pass" based on line number information
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- compilers, reverse-engineering
Línea de trabajo
Start with test/simple_source/looping/12_if_while_true_pass.py, the example identified in the issue. Read how Python 3 jump optimization currently produces continue statements, then investigate whether a separate control flow pass can use line-number boundaries around JUMP_ABSOLUTE offsets. Done means the decompiler distinguishes continue, pass, and no statement for this case.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
In Python 3 with jump optimization, uncomplyle6 often adds "continue" statements where it is not needed or where "pass" statements were probably used. https://github.com/rocky/python-uncompyle6/blob/master/test/simple_source/looping/12_if_while_true_pass.py is a good example.
We can probably use line number information to disambiguate. Often these instructions are JUMP_ABSOLUTE. If the offset that these appear at are at a line boundary then probably the source had continue, otherwise pass, when a statement is needed, and nothing otherwise.
We'll probably have to wait until we have a separate control flow pass for this.
- Lenguaje dominante
- Python
- Estrellas
- 4.3k
- Forks
- 464
- Merge medio
- 10 h 7 min
- PR fusionados (30 d)
- 1
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de rocky/python-uncompyle6
-
Works on decompyle3
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
rocky/python-uncompyle6#506 · 1 comentario ·
-
Python 3.8 Volunteer wanted Works on decompyle3
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
rocky/python-uncompyle6#492 · 4 comentarios ·
-
Redundant "else:"AbiertoControl Flow Python 3.8 Volunteer wanted Works on decompyle3
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
rocky/python-uncompyle6#486 ·
-
Missing "While True"AbiertoControl Flow Python 3.8 Volunteer wanted Works on decompyle3
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
rocky/python-uncompyle6#485 · 4 comentarios ·
-
Duplicate Python 3.9+
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
rocky/python-uncompyle6#484 · 9 reacciones ·
Todos los issues de rocky/python-uncompyle6
Issues similares
-
fix(accounts): Balance Sheet and Profit and Loss crash on PostgreSQL due to MySQL force_indexAbierto
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Discord webhook notifications fail with HTTP 403 (Cloudflare blocks default urllib User-Agent)Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
tharje/spooler-v2#20 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Bump version of azure-servicebusPosiblemente ocupada @joostlek la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
home-assistant/core#186275 ·
Los mantenedores suelen responder en 1 día
-
documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100