NOM du responsable et coordonnées:
Laboratoire/Entreprise :
Titre du projet : Réalisation d'un outil de complétion automatique d'identifiants Java
Résumé : L'élément central de structuration des projets maven est le POM (Project Object Model), un descripteur XML définissant l'ensemble des éléments nécessaires à la construction du projet. Parmi ces éléments se trouvent les dépendances du projet: bibliothèques externes nécessaires à la compilation et/ou l'exécution de l'artefact du projet. Ces dépendances sont résolues par rapport à des référentiels au cours de l'exécution de maven et engendrent éventuellement d'autres dépendances par transitivité.
La structure des sources du projet et des bibliothèques tierces ainsi que les règles de contrôle de visibilité du langage définissent la visibilité des identifiants dans un contexte particulier. Au cours de la production du code source, il est intéressant de savoir si un identifiant est visible ou non dans un certain contexte, ou s'il peut le devenir (par exemple avec une directive import ou une déclaration de variable locale, d'attribut ou de méthode). La plupart des AGL implantent une fonction de complétion automatique qui permet en tapant les première lettres d'un identifiant de connaître toutes les complétions possibles. Cette fonctionnalité, appelée parfois Intellisense, améliore la productivité notamment en évitant des erreurs typographiques et de portées lexicales.
Le but de ce projet est de réaliser un outil permettant d'indexer l'ensemble des identifiants des dépendances et sources d'un projet maven à partir de son descripteur, et offrant une interface simple de recherche de complétions à partir d'un certain contexte. Schématiquement, cet outil Indexer pourrait être utilisé comme suit:
Indexer idx = new Indexer(); idx.load("pom.xml"); // second parameter is path to contexte List complete = idx.complete("foo","oqube.MyClass.MyMethod");
Matériel et logiciels/langages utilisés :
Liens utiles :