2010-02-04 10 views
6

Y a-t-il un plug-in pour Eclipse qui vous permet de rechercher en fonction de l'AST de Java (Abstract Syntax Tree) de vos fichiers de projet? La fonctionnalité « Java Search » ne semble pas couvrir des cas comme:Recherche basée sur AST pour Eclipse

« Donnez-moi tous les champs déclarés comme type « X » dans toutes les classes »

Je peux imaginer beaucoup plus de possibilités qui ouvriraient avec une recherche basée sur AST, mais je ne sais même pas si un tel plug-in aurait des performances pratiques.

Mise à jour: Comme l'a souligné Kevin ci-dessous, la fonction de recherche Java couvre le cas d'utilisation que j'ai mentionné. Je suis toujours curieux de savoir si quelqu'un a écrit un plug-in qui permet n'importe quel type de recherche AST, ex. « Obtenez tous les cordes concaténations » (InfixExpression avec + opérateur et opérande chaine littérale)

Répondre

1

Donne-moi tous les champs déclarés en tant que type « X » dans toutes les classes

Je ne sais pas ce que vous eu à l'esprit, mais je crois que vous pouvez accomplir cette recherche spécifique en procédant comme suit:

  • Type Ouverture X (Ctrl-Shift-T)
  • Mettez en surbrillance le nom de classe
  • Ctrl-H pour la recherche
  • Recherche de positions Type/Match -> Types de terrain
+0

Cela semble revenir juste la déclaration du type lui-même. – dcstraw

+0

Désolé. J'ai modifié l'entrée pour utiliser le filtre Match Locations à la place des déclarations. – Kevin

+0

Ah, excellent, merci. Je n'avais jamais essayé l'option Match Places avant. Cela couvre au moins le cas d'utilisation que j'ai mentionné. – dcstraw

1

Ce n'est pas exactement ce que vous cherchez, mais nWire pour Java peut vous donner beaucoup d'informations qui est dérivé de l'AST. Il a également une recherche de texte intégral pour rechercher n'importe quel type, méthode, champ, etc. Une fois que vous trouvez ce que vous recherchez, un clic vous montrera toutes les associations de ce composant.

Découvrez la démo here.

Questions connexes