package Ġdev . ek ved ar as . laravel query . completion Ċ Ċ import Ġcom . intellij . code Insight . completion . Completion Parameters Ċ import Ġcom . intellij . code Insight . completion . Completion Provider Ċ import Ġcom . intellij . code Insight . completion . Completion ResultSet Ċ import Ġcom . intellij . code Insight . lookup . Lookup Element Ċ import Ġcom . intellij . database . model . Das Table Ċ import Ġcom . intellij . openapi . application . Application Manager Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . util . Processing Context Ċ import Ġcom . jetbrains . php . lang . psi . elements . Method Reference Ċ import Ġdev . ek ved ar as . laravel query . models . Db Reference Expression Ċ import Ġdev . ek ved ar as . laravel query . utils . Database Utils . Companion . db Data Sources In Parallel Ċ import Ġdev . ek ved ar as . laravel query . utils . Database Utils . Companion . foreign Keys In Parallel Ċ import Ġdev . ek ved ar as . laravel query . utils . Database Utils . Companion . indexes In Parallel Ċ import Ġdev . ek ved ar as . laravel query . utils . Database Utils . Companion . keys In Parallel Ċ import Ġdev . ek ved ar as . laravel query . utils . Database Utils . Companion . schemas In Parallel Ċ import Ġdev . ek ved ar as . laravel query . utils . Database Utils . Companion . tables In Parallel Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils . Companion . can Only Have Columns In Array Values Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils . Companion . is Blueprint Method Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils . Companion . is Builder Method For Foreign Keys Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils . Companion . is Builder Method For Indexes Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils . Companion . is Builder Method For Keys Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils . Companion . is Builder Method For Unique Indexes Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils . Companion . is For Indexes Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils . Companion . is For Keys Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils . Companion . is For Unique Indexes Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils . Companion . is ForeignKey In Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils . Companion . is Index In Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils . Companion . is Inside Php Array Or Value Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils . Companion . is Inside Regular Function Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils . Companion . is Key In Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils . Companion . is Unique Index In Ċ import Ġdev . ek ved ar as . laravel query . utils . Lookup Utils . Companion . build Lookup Ċ import Ġdev . ek ved ar as . laravel query . utils . Method Utils Ċ import Ġdev . ek ved ar as . laravel query . utils . Psi Utils . Companion . contains Variable Ċ import Ġjava . util . Collections Ċ import Ġjava . util . function . Consumer Ċ Ċ class ĠIndex Completion Provider Ġ: ĠCompletion Provider < Completion Parameters >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġadd Comp letions ( ĊĠĠĠĠĠĠĠ Ġparameters : ĠCompletion Parameters , ĊĠĠĠĠĠĠĠ Ġcontext : ĠProcessing Context , ĊĠĠĠĠĠĠĠ Ġresult : ĠCompletion ResultSet ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmethod Ġ= ĠMethod Utils . resolve Method Reference ( parameters . position ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġmethod . project ĊĊĠĠĠĠĠĠĠ Ġif Ġ( should Not Complete ( project , Ġmethod , Ġparameters )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= ĠDb Reference Expression ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameters . position , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmethod . is For Indexes () Ġ|| Ġmethod . is For Unique Indexes () Ġ-> ĠDb Reference Expression . Companion . Type . Index ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmethod . is For Keys () Ġ-> ĠDb Reference Expression . Companion . Type . Key ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠDb Reference Expression . Companion . Type . ForeignKey ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġitems Ġ= ĠCollections . synchronized List ( mutable ListOf < Lookup Element >()) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Application Manager . getApplication (). is Read Access Allowed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApplication Manager . getApplication (). run Read Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete ( project , Ġmethod , Ġtarget , Ġitems ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġresult . addAll Elements ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems . distinct By Ġ{ Ġit . lookup String Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ(!( parameters . is Inside Php Array Or Value () Ġ&& Ġmethod . can Only Have Columns In Array Values ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . stop Here () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcomplete ( ĊĠĠĠĠĠĠĠ Ġproject : ĠProject , ĊĠĠĠĠĠĠĠ Ġmethod : ĠMethod Reference , ĊĠĠĠĠĠĠĠ Ġtarget : ĠDb Reference Expression , ĊĠĠĠĠĠĠĠ Ġresult : ĠMutable List < Lookup Element >, ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġschemas Ġ= Ġtarget . tables And Aliases . map Ġ{ Ġit . value . second Ġ}. filter NotNull (). distinct () ĊĠĠĠĠĠĠĠ Ġval Ġtables Ġ= Ġtarget . tables And Aliases . map Ġ{ Ġit . value . first Ġ}. distinct () ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmethod . is For Indexes () Ġ-> Ġcomplete For ( project , Ġschemas , Ġtables ) Ġ{ Ġtable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable . indexes In Parallel () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġ! it . is Unique Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġresult . add ( it . build Lookup ( project )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmethod . is For Unique Indexes () Ġ-> Ġcomplete For ( project , Ġschemas , Ġtables ) Ġ{ Ġtable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable . indexes In Parallel () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . is Unique Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġresult . add ( it . build Lookup ( project )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmethod . is For Keys () Ġ-> Ġcomplete For ( project , Ġschemas , Ġtables ) Ġ{ Ġtable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable . keys In Parallel (). forEach Ġ{ Ġresult . add ( it . build Lookup ( project )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġcomplete For ( project , Ġschemas , Ġtables ) Ġ{ Ġtable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable . foreign Keys In Parallel (). forEach Ġ{ Ġresult . add ( it . build Lookup ( project )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcomplete For ( ĊĠĠĠĠĠĠĠ Ġproject : ĠProject , ĊĠĠĠĠĠĠĠ Ġschemas : ĠList < String >, ĊĠĠĠĠĠĠĠ Ġtables : ĠList < String >, ĊĠĠĠĠĠĠĠ Ġscan Table Using : ĠConsumer < Das Table > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġproject . db Data Sources In Parallel (). forEach Ġ{ ĠdataSource Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdataSource . schemas In Parallel (). filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġschemas . isEmpty () Ġ|| Ġschemas . contains ( it . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. forEach Ġ{ Ġschema Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġschema . tables In Parallel () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġtables . contains ( it . name ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach ( scan Table Using ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshould Not Complete ( project : ĠProject , Ġmethod : ĠMethod Reference , Ġparameters : ĠCompletion Parameters ) Ġ= ĊĠĠĠĠĠĠĠ Ġ! Application Manager . getApplication (). is Read Access Allowed Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameters . contains Variable () Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameters . is Inside Php Array Or Value () Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! method . is Builder Method For Indexes () Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! method . is Builder Method For Keys () Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! method . is Builder Method For Foreign Keys () Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! method . is Builder Method For Unique Indexes () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! parameters . is Index In ( method ) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! parameters . is Unique Index In ( method ) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! parameters . is Key In ( method ) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! parameters . is ForeignKey In ( method ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameters . is Inside Regular Function () Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! method . is Blueprint Method ( project ) Ċ } Ċ