package Ġcom . github . tom asm il ata . int elli routes Ċ Ċ import Ġcom . github . tom asm il ata . int elli routes . psi . Routes TokenType Ċ import Ġcom . github . tom asm il ata . int elli routes . psi . Routes Types Ċ import Ġcom . intellij . code Insight . navigation . actions . G oto Declaration Handler Ċ import Ġcom . intellij . openapi . action System . DataContext Ċ import Ġcom . intellij . openapi . editor . Editor Ċ import Ġcom . intellij . psi . Java Psi Facade Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . impl . source . tree . Leaf Psi Element Ċ import Ġcom . intellij . psi . search . Project Scope Ċ Ċ class ĠRoutes G oto Router Handler Ġ: ĠG oto Declaration Handler Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Action Text ( context : ĠData Context ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Go Ġto Ġrouter " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget G oto Declaration Targets ( source Element : ĠPsi Element ?, Ġoffset : ĠInt , Ġeditor : ĠEditor ?): ĠArray < Psi Element >? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( source Element Ġ! is ĠLeaf Psi Element Ġ|| Ġsource Element . elementType Ġ!= ĠRoutes Types . ROUT ER _ REFERENCE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠPsi Element . EMPTY _ ARRAY ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġeditor ?. project !! ĊĊĠĠĠĠĠĠĠ Ġval Ġtarget Routes Files : ĠArray < Psi Element > Ġ= ĠProject File Index . routes Files ( project ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . name . replace ("\\ . routes $ ". to Regex (), Ġ". Routes ") Ġ== Ġsource Element . text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. to Typed Array () ĊĊĠĠĠĠĠĠĠ Ġval Ġproject With Libraries Scope Ġ= ĠProject Scope . getAll Scope ( project ) ĊĠĠĠĠĠĠĠ Ġval Ġpsi Facade Ġ= ĠJava Psi Facade . getInstance ( project ) ĊĊĠĠĠĠĠĠĠ Ġval ĠclassName Ġ= Ġsource Element . text ĊĠĠĠĠĠĠĠ Ġval Ġtarget Router Classes Ġ= Ġpsi Facade . find Classes ( className , Ġproject With Libraries Scope ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtarget Routes Files . plus ( target Router Classes ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ