php / php/php-src

Impl. `ReflectionFunctionAbstract::getStartColumn` (and getEndColumn)

Ouverte
#11,391 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Extension: reflection Feature Status: Needs Triage
Langage dominant
C
Étoiles
40.4k
Forks
8.2k
Merge moyen
2 j 13 h
PR mergées (30 j)
96

Description

Description

Currently only line can be obtained by reflection.

AFAK this limitation is comming from AST as only line and no column is stored to save memory.

I cannot tell if storing file column is worth now/in 2023 for every AST node, but I would welcome the column number to be stored for classes and functions to get able to get the column number via reflection and locate the source code more precisely.

In our usecase, we use the reflection data to highlight a Closure in a file and with short closures, more than one Closure can be present on 1 line with actual PSR-12 style, ie. currently a Closure instance cannot be mapped to a code section.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

L’issue mentionne ReflectionFunctionAbstract::getStartColumn et getEndColumn et indique que les nœuds AST stockent actuellement les lignes, mais pas les colonnes. Commencez par suivre les métadonnées de reflection et la représentation de l’emplacement des AST ; aucun fichier ni test n’est identifié. Le travail est terminé lorsque reflection peut distinguer plusieurs closures sur une même ligne avec des colonnes de début et de fin précises, et que l’impact mémoire a été pris en compte.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
c, php
Domaine
compilers
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.