2010-02-04 2 views
6

Esiste un plug-in per Eclipse che consente di eseguire ricerche basate su Java AST (Abstract Syntax Tree) dei file di progetto? La funzione di "Java Search" non sembra per coprire casi come:Ricerca basata su AST per Eclipse

"Get me tutti i campi dichiarati come tipo 'X' in tutte le classi"

Posso immaginare molte più possibilità che avrebbe aperto con una ricerca basata su AST, ma non so nemmeno se un plug-in di questo tipo avrebbe prestazioni pratiche.

Aggiornamento: Come sottolineato da Kevin di seguito, la funzione di ricerca Java non copre il caso d'uso che ho citato. Sono ancora curioso di sapere se qualcuno abbia scritto o meno un plug-in che permetta qualsiasi tipo di ricerca AST, es. "Get tutte le concatenazioni di stringhe" (InfixExpression con + operatore e operando letterale stringa)

risposta

1

Get me tutti i campi dichiarati come tipo 'X' in tutte le classi

Non so cos'altro avevo in mente, ma credo che si può realizzare questa ricerca specifica nel modo seguente:

  • l'apertura di tipo X (Ctrl-shift-T)
  • Evidenziare il nome della classe
  • Ctrl-H per la ricerca
  • Ricerca per tipologia/Incontro Locali -> Tipi di campo
+0

che sembra tornare solo la dichiarazione del tipo stesso. – dcstraw

+0

Siamo spiacenti. Ho modificato la voce per utilizzare il filtro Location Locations anziché le dichiarazioni. – Kevin

+0

Ah, eccellente, grazie. Non avevo mai provato prima l'opzione Match Locations. Questo almeno copre il caso d'uso che ho menzionato. – dcstraw

1

Non è esattamente quello che stai cercando, ma nWire per Java può dare un sacco di informazioni che è derivato dall'AST. Ha anche una ricerca di testo completo per cercare qualsiasi tipo, metodo, campo, ecc. Una volta trovato quello che stai cercando, un clic mostrerà tutte le associazioni di quel componente.

Guarda la demo here.