classes that specify visibility on class constants can't be parsed
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- php
- Área
- documentation, tooling
Línea de trabajo
Inspecciona las dependencias de Composer relacionadas con nikic/php-parser y phpdocumentor/reflection, y luego reproduce el fallo con el ejemplo de constante de clase del issue. Verifica que la actualización de la dependencia analice las constantes de clase públicas y protegidas y que el comportamiento existente del parser se mantenga intacto.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
For example,
class My_Class {
public const C1 = 'value';
protected const C2 = 'another value';
...
}
Trying the parse the above results in an error like:
Parse Error: Syntax error, unexpected T_CONST, expecting T_FUNCTION on line xyz
and the entire class is not imported.
Visibility for class constants wasn't added to PHP until 7.1. Of course, as of today (2020-08-14) nothing in core specifies visibility on class constants since the minimum PHP is still 5.6. And current WPCS states:
Visibility for class constants can not be used in WordPress Core until the minimum PHP version has been raised to PHP 7.1 (and won’t be enforced until that time).
It is hopeful (likely?) that WP 5.6 will bump the minimum PHP to 7.1. So, the need to parse such classes will be coming sooner rather than later.
As best I can tell, the error is generated by nikic/php-parser, which is a transitive dependency of phpdocumentor/reflection. The latest version of nikic/php-parser fully supports PHP 7.1+, so I think the solution is simply to update the composer dependencies of this plugin, but things will need to be tested thoroughly after those dependencies are updated.
- Lenguaje dominante
- PHP
- Estrellas
- 239
- Forks
- 81
- Merge medio
- 16 h 29 min
- PR fusionados (30 d)
- 8
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 WordPress/phpdoc-parser
-
Include constants in exports Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
WordPress/phpdoc-parser#269 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 64/100
WordPress/phpdoc-parser#268 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
WordPress/phpdoc-parser#254 ·
-
Compatibility updates required Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
WordPress/phpdoc-parser#246 · 9 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
WordPress/phpdoc-parser#235 · 1 comentario ·
Todos los issues de WordPress/phpdoc-parser
Issues similares
-
tooling
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
UX
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
ProfessionalWiki/NeoWiki#1525 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
bug customer-reported
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
MagnaCapax/PMSS#949 ·
-
responsive-media kses allow-list strips clipPathUnits, collapsing objectBoundingBox clip paths Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Automattic/static-site-importer#1829 ·