PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/emacs/24.3/lisp/cedet/semantic
Viewing File: /usr/share/emacs/24.3/lisp/cedet/semantic/db.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:56:54 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/cedet/semantic/db.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\207" [require eieio-base semantic] 2) #@43 Refresh references to DBT in other files. (autoload 'semanticdb-refresh-references "semantic/db-ref" '(#$ . 633)) (custom-declare-group 'semanticdb nil "Parser Generator Persistent Database interface." :group 'semantic) #@31 List of all active databases. (defvar semanticdb-database-list nil (#$ . 859)) #@198 The default type of database created for new files. This can be changed on a per file basis, so that some directories are saved using one mechanism, and some directories via a different mechanism. (defvar semanticdb-new-database-class 'semanticdb-project-database-file (#$ . 945)) (make-variable-buffer-local 'semanticdb-new-database-class) #@128 The default type of search index to use for a `semanticdb-table's. This can be changed to try out new types of search indices. (defvar semanticdb-default-find-index-class 'semanticdb-find-search-index (#$ . 1293)) (make-variable-buffer-local 'semanticdb-default-find=index-class) #@60 For a given buffer, this is the currently active database. (defvar semanticdb-current-database nil (#$ . 1579)) (make-variable-buffer-local 'semanticdb-current-database) #@66 For a given buffer, this is the currently active database table. (defvar semanticdb-current-table nil (#$ . 1755)) (byte-code "\300\301!\210\302\303\304\305\306$\210\307\310\311\310\312\"\"\210\313\310\304\303\314$\210\307\315\311\315\316\"\"\210\313\315\304\303\317$\210\307\320\311\320\321\"\"\210\313\320\304\303\322$\210\307\323\311\323\324\"\"\210\313\323\304\303\325$\210\307\326\311\326\327\"\"\210\313\326\304\303\330$\210\307\331\311\331\332\"\"\210\313\331\304\303\333$\210\307\334\311\334\335\"\"\210\313\334\304\303\336$\210\307\337\311\337\340\"\"\210\313\337\304\303\341$\210\302\342\304\343\344$\210\307\345\311\345\346\"\"\210\313\345\304\303\347$\210\307\350\311\350\351\"\"\210\313\350\304\342\352$\210\307\353\311\353\354\"\"\210\313\353\304\342\355$\210\302\356\357\304\360$\210\307\361\311\361\362\"\"\210\313\361\304\356\363$\210\302\364\365\366\367$\210\307\310\311\310\370\"\"\210\313\310\304\364\371$\210\307\315\311\315\372\"\"\210\313\315\304\364\373$\210\307\374\311\374\375\"\"\210\313\374\304\364\376$\210\307\320\311\320\377\"\"\210\313\320\304\364\201@$\210\307\323\311\323\324\"\"\210\313\323\304\364\201A$\210\307\326\311\326\201B\"\"\210\313\326\304\364\201C$\210\307\337\311\337\201D\"\"\210\313\337\304\364\201E$\210\302\201F\201G\201H\201I$\210\307\320\311\320\321\"\"\210\313\320\304\201F\201J$\210\307\323\311\323\201K\"\"\210\313\323\304\201F\201L$\210\307\337\311\337\201M\"\"\210\313\337\304\201F\201N$\210\307\201O\311\201O\201P\"\"\210\313\201O\201Q\201F\201R$\210\307\201S\311\201S\201T\"\"\210\313\201S\304\201F\201U$\210\307\201V\311\201V\201W\"\"\210\313\201V\304\201F\201X$\210\307\201Y\311\201Y\201Z\"\"\210\313\201Y\304\201F\201[$\207" [make-variable-buffer-local semanticdb-current-table eieio-defclass semanticdb-abstract-table nil ((parent-db :documentation "Database Object containing this table.") (major-mode :initarg :major-mode :initform nil :documentation "Major mode this table belongs to.\nSometimes it is important for a program to know if a given table has the\nsame major mode as the current buffer.") (tags :initarg :tags :accessor semanticdb-get-tags :printer semantic-tag-write-list-slot-value :documentation "The tags belonging to this table.") (db-refs :initform nil :documentation "List of `semanticdb-table' objects refering to this one.\nThese aren't saved, but are instead recalculated after load.\nSee the file semanticdb-ref.el for how this slot is used.") (index :type semanticdb-abstract-search-index :documentation "The search index.\nUsed by semanticdb-find to store additional information about\nthis table for searching purposes.\n\nNote: This index will not be saved in a persistent file.") (cache :type list :initform nil :documentation "List of cache information for tools.\nAny particular tool can cache data to a database at runtime\nwith `semanticdb-cache-get'.\n\nUsing a semanticdb cache does not save any information to a file,\nso your cache will need to be recalculated at runtime. Caches can be\nreferenced even when the file is not in a buffer.\n\nNote: This index will not be saved in a persistent file.")) ("A simple table for semantic tags.\nThis table is the root of tables, and contains the minimum needed\nfor a new table not associated with a buffer." :abstract t) eieio--defalias semanticdb-in-buffer-p eieio--defgeneric-init-form #1="Return a nil, meaning abstract table OBJ is not in a buffer." eieio--defmethod #[(obj) "\300\207" [nil] 1 #1#] semanticdb-get-buffer #2="Return a buffer associated with OBJ.\nIf the buffer is not in memory, load it with `find-file-noselect'." #[(obj) "\300\207" [nil] 1 #2#] semanticdb-full-filename #3="Fetch the full filename that OBJ refers to.\nAbstract tables do not have file names associated with them." #[(obj) "\300\207" [nil] 1 #3#] semanticdb-dirty-p #4="Return non-nil if OBJ is 'dirty'." #[(obj) "\300\207" [nil] 1 #4#] semanticdb-set-dirty #5="Mark the abstract table OBJ dirty.\nAbstract tables can not be marked dirty, as there is nothing\nfor them to synchronize against." #[(obj) "\300\207" [nil] 1 #5#] semanticdb-normalize-tags #6="For the table OBJ, convert a list of TAGS, into standardized form.\nThe default is to return TAGS.\nSome databases may default to searching and providing simplified tags\nbased on whichever technique used. This method provides a hook for\nthem to convert TAG into a more complete form." #[(obj tags) "\207" [tags] 1 #6#] semanticdb-normalize-one-tag #7="For the table OBJ, convert a TAG, into standardized form.\nThis method returns a list of the form (DATABASE . NEWTAG).\n\nThe default is to just return (OBJ TAG).\n\nSome databases may default to searching and providing simplified tags\nbased on whichever technique used. This method provides a hook for\nthem to convert TAG into a more complete form." #[(obj tag) " B\207" [obj tag] 2 #7#] object-print #8="Pretty printer extension for `semanticdb-abstract-table'.\nAdds the number of tags in this file to the object print name." #[(obj &rest strings) "\203G\302U\203#@;\203#@\303\230\203#\304 \305\306\307 !G\"\"\207\310\304 #\207" [strings obj 1 #18="" call-next-method format " (%d tags)" semanticdb-get-tags apply] 6 #8#] semanticdb-abstract-search-index ((table :initarg :table :type semanticdb-abstract-table :documentation "XRef to the table this belongs to.")) ("A place where semanticdb-find can store search index information.\nThe search index will store data about which other tables might be\nneeded, or perhaps create hash or index tables for the current buffer." :abstract t) semanticdb-get-table-index #9="Return the search index for the table OBJ.\nIf one doesn't exist, create it." #[(obj) "\303\304\"\203\f\305\304\"\207\306\n\307!\310P\311#\312\304 #\210 )\207" [obj idx semanticdb-default-find-index-class slot-boundp index eieio-oref nil object-name " index" :table eieio-oset] 4 #9#] semanticdb-synchronize #10="Synchronize the search index IDX with some NEW-TAGS." #[(idx new-tags) "\300\207" [#10#] 1 #10#] semanticdb-partial-synchronize #11="Synchronize the search index IDX with some changed NEW-TAGS." #[(idx new-tags) "\300\207" [#11#] 1 #11#] semanticdb-search-results-table (semanticdb-abstract-table) ("Table used for search results when there is no file or table association.\nExamples include search results from external sources such as from\nEmacs's own symbol table, or from external libraries.") semanticdb-refresh-table #12="If the tag list associated with OBJ is loaded, refresh it.\nThis will call `semantic-fetch-tags' if that file is in memory." #[(obj &optional force) "\300\207" [nil] 1 #12#] semanticdb-table (semanticdb-abstract-table) ((file :initarg :file :documentation "File name relative to the parent database.\nThis is for the file whose tags are stored in this TABLE object.") (buffer :initform nil :documentation "The buffer associated with this table.\nIf nil, the table's buffer is no in Emacs. If it has a value, then\nit is in Emacs.") (dirty :initform nil :documentation "Non nil if this table needs to be `Saved'.") (db-refs :initform nil :documentation "List of `semanticdb-table' objects referring to this one.\nThese aren't saved, but are instead recalculated after load.\nSee the file semantic/db-ref.el for how this slot is used.") (pointmax :initarg :pointmax :initform nil :documentation "Size of buffer when written to disk.\nChecked on retrieval to make sure the file is the same.") (fsize :initarg :fsize :initform nil :documentation "Size of the file when it was last referenced.\nChecked when deciding if a loaded table needs updating from changes\noutside of Semantic's control.") (lastmodtime :initarg :lastmodtime :initform nil :documentation "Last modification time of the file referenced.\nChecked when deciding if a loaded table needs updating from changes outside of\nSemantic's control.") (unmatched-syntax :initarg :unmatched-syntax :documentation "List of vectors specifying unmatched syntax.") (lexical-table :initarg :lexical-table :initform nil :printer semantic-lex-spp-table-write-slot-value :documentation "Table that might be needed by the lexical analyzer.\nFor C/C++, the C preprocessor macros can be saved here.")) ("A single table of tags derived from file.") #13="Return a buffer associated with OBJ.\nIf the buffer is in memory, return that buffer." #[(obj) "\302\303\"\304 !\203 \202\305\303\306#)\207" [obj buff eieio-oref buffer buffer-live-p eieio-oset nil] 4 #13#] #14="Return a buffer associated with OBJ.\nIf the buffer is in memory, return that buffer.\nIf the buffer is not in memory, load it with `find-file-noselect'." #[(obj) "\302!\206\303 \304\216\305\306!\307\"*\207" [obj save-match-data-internal semanticdb-in-buffer-p match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) find-file-noselect semanticdb-full-filename t] 3 #14#] semanticdb-set-buffer #15="Set the current buffer to be a buffer owned by OBJ.\nIf OBJ's file is not loaded, read it in first." #[(obj) "\301!q\207" [obj semanticdb-get-buffer] 2 #15#] #16="Fetch the full filename that OBJ refers to." #[(obj) "\301\302\303\"\302\211\304\"\305\"\"\207" [obj expand-file-name eieio-oref file parent-db reference-directory] 6 #16#] #[(obj) "\301\302\"\207" [obj eieio-oref dirty] 3 "Return non-nil if OBJ is 'dirty'."] #17="Mark the abstract table OBJ dirty." #[(obj) "\301\302\303#\207" [obj eieio-oset dirty t] 4 #17#] #19="Pretty printer extension for `semanticdb-table'.\nAdds the number of tags in this file to the object print name." #[(obj &rest strings) "\302\303\304\305\306!G\"\307\310\"\203\311\202\312 BB#\207" [obj strings apply call-next-method format " (%d tags)" semanticdb-get-tags eieio-oref dirty ", DIRTY" #18#] 7 #19#] semanticdb-project-database (eieio-instance-tracker) ((tracking-symbol :initform semanticdb-database-list) (reference-directory :type string :documentation "Directory this database refers to.\nWhen a cache directory is specified, then this refers to the directory\nthis database contains symbols for.") (new-table-class :initform semanticdb-table :type class :documentation "New tables created for this database are of this class.") (cache :type list :initform nil :documentation "List of cache information for tools.\nAny particular tool can cache data to a database at runtime\nwith `semanticdb-cache-get'.\n\nUsing a semanticdb cache does not save any information to a file,\nso your cache will need to be recalculated at runtime.\n\nNote: This index will not be saved in a persistent file.") (tables :initarg :tables :type semanticdb-abstract-table-list :accessor semanticdb-get-database-tables :protection :protected :documentation "List of `semantic-db-table' objects.")) ("Database of file tables.") #[(obj) "\300\207" [nil] 1 "Fetch the full filename that OBJ refers to.\nAbstract tables do not have file names associated with them."] #20="Return non-nil if DB is 'dirty'.\nA database is dirty if the state of the database changed in a way\nwhere it may need to resynchronize with some persistent storage." #[(DB) "\303\304\305\"\n\204 \203\306 @! A\202\n*\207" [DB tabs dirty nil eieio-oref tables semanticdb-dirty-p] 4 #20#] #21="Pretty printer extension for `semanticdb-project-database'.\nAdds the number of tables in this file to the object print name." #[(obj &rest strings) "\302\303\304\305\306!G\307!\203\310\202\311# B#\207" [obj strings apply call-next-method format " (%d tables%s)" semanticdb-get-database-tables semanticdb-dirty-p " DIRTY" #18#] 8 #21#] semanticdb-create-database #22="Create a new semantic database of class DBC for DIRECTORY and return it.\nIf a database for DIRECTORY has already been created, return it.\nIf DIRECTORY doesn't exist, create a new one." :STATIC #[(dbc directory) "\302!\211\204\303\304!\305\306#\307 \310\311!#\210 )\207" [directory db semanticdb-directory-loaded-p semanticdb-project-database file-name-nondirectory :tables nil eieio-oset reference-directory file-truename] 6 #22#] semanticdb-flush-database-tables #23="Reset the tables in DB to be empty." #[(db) "\301\302\303#\207" [db eieio-oset tables nil] 4 #23#] semanticdb-create-table #24="Create a new table in DB for FILE and return it.\nThe class of DB contains the class name for the type of table to create.\nIf the table for FILE exists, return it.\nIf the table for FILE does not exist, create one." #[(db file) "\303 \"\211\204#\304\305\"\306 !\307\306 !#\310\n\311#\210\312\313\n\314$\210\n)\207" [db file newtab semanticdb-file-table eieio-oref new-table-class file-name-nondirectory :file eieio-oset parent-db object-add-to-list tables t] 6 #24#] semanticdb-file-table #25="From OBJ, return FILENAME's associated table object." #[(obj filename) "\302\303\304!\305 \306\"\"\307\305 \310\"#\207" [filename obj object-assoc file-relative-name file-truename eieio-oref reference-directory file tables] 6 #25#]] 5) #@62 Get a database for FILENAME. If one isn't found, create one. (defalias 'semanticdb-get-database #[(filename) "\302\303 !\"\207" [semanticdb-new-database-class filename semanticdb-create-database file-truename] 4 (#$ . 14726)]) #@64 Return the project belonging to PATH if it was already loaded. (defalias 'semanticdb-directory-loaded-p #[(path) "\301\302\303#\207" [path eieio-instance-tracker-find reference-directory semanticdb-database-list] 4 (#$ . 14960)]) #@177 Initialize a database table for FILENAME, and return it. If FILENAME exists in the database already, return that. If there is no database for the table to live in, create one. (defalias 'semanticdb-create-table-for-file #[(filename) "\305\211\306\307!!\310\f \"\311 \" \n+B\207" [filename dd tbl cdb semanticdb-new-database-class nil file-name-directory file-truename semanticdb-create-database semanticdb-create-table] 5 (#$ . 15198)]) (byte-code "\300\301\302\303\304$\210\305\306\307\306\310\"\"\210\311\306\302\312\313$\210\305\314\307\314\315\"\"\210\311\314\302\312\316$\210\305\317\307\317\320\"\"\210\311\317\302\301\321$\210\305\322\307\322\323\"\"\210\311\322\302\301\324$\210\300\325\302\326\327$\210\305\306\307\306\330\"\"\210\311\306\302\331\332$\210\305\314\307\314\315\"\"\210\311\314\302\331\333$\210\305\317\307\317\320\"\"\210\311\317\302\325\334$\210\305\322\307\322\323\"\"\210\311\322\302\325\335$\210\305\336\307\336\337\"\"\210\311\336\302\340\341$\210\305\342\307\342\343\"\"\210\311\342\302\340\344$\210\305\317\307\317\345\"\"\210\311\317\302\312\346$\210\305\322\307\322\347\"\"\210\311\322\302\312\350$\210\305\351\307\351\352\"\"\210\311\351\302\331\353$\207" [eieio-defclass semanticdb-abstract-cache nil ((table :initarg :table :type semanticdb-abstract-table :documentation "Cross reference to the table this belongs to.")) ("Abstract baseclass for tools to use to cache information in semanticdb.\nTools needing a per-file cache must subclass this, and then get one as\nneeded. Cache objects are identified in semanticdb by subclass.\nIn order to keep your cache up to date, be sure to implement\n`semanticdb-synchronize', and `semanticdb-partial-synchronize'.\nSee the file semantic/scope.el for an example." :abstract t) eieio--defalias semanticdb-cache-get eieio--defgeneric-init-form #1="Get a cache object on TABLE of class DESIRED-CLASS.\nThis method will create one if none exists with no init arguments\nother than :table." eieio--defmethod semanticdb-abstract-table #[(table desired-class) "\305\306\"\204 \307\310!\210\311 \303\"\312\n\204, \203, @\fH=\203& @ A\202\n\2034\n\202A\313\314 #\315 \303\n#\210\n*\207" [desired-class table obj cache object-class child-of-class-p semanticdb-abstract-cache error "Invalid SemanticDB cache" eieio-oref nil "Cache" :table object-add-to-list] 4 #1#] semanticdb-cache-remove #2="Remove from TABLE the cache object CACHE." #[(table cache) "\302\301 #\207" [table cache object-remove-from-list] 4 #2#] semanticdb-synchronize #3="Synchronize a CACHE with some NEW-TAGS." #[(cache new-tags) "\300\207" [#3#] 1 #3#] semanticdb-partial-synchronize #4="Synchronize a CACHE with some changed NEW-TAGS." #[(cache new-tags) "\300\207" [#4#] 1 #4#] semanticdb-abstract-db-cache ((db :initarg :db :type semanticdb-project-database :documentation "Cross reference to the database this belongs to.")) ("Abstract baseclass for tools to use to cache information in semanticdb.\nTools needing a database cache must subclass this, and then get one as\nneeded. Cache objects are identified in semanticdb by subclass.\nIn order to keep your cache up to date, be sure to implement\n`semanticdb-synchronize', and `semanticdb-partial-synchronize'.\nSee the file semantic/scope.el for an example." :abstract t) #5="Get a cache object on DB of class DESIRED-CLASS.\nThis method will create one if none exists with no init arguments\nother than :table." semanticdb-project-database #[(db desired-class) "\305\306\"\204 \307\310!\210\311 \303\"\312\n\204, \203, @\fH=\203& @ A\202\n\2034\n\202A\313\314 #\315 \303\n#\210\n*\207" [desired-class db obj cache object-class child-of-class-p semanticdb-abstract-cache error "Invalid SemanticDB cache" eieio-oref nil "Cache" :db object-add-to-list] 4 #5#] #[(db cache) "\302\301 #\207" [db cache object-remove-from-list] 4 "Remove from TABLE the cache object CACHE."] #[(cache new-tags) "\300\207" [#6="Synchronize a CACHE with some NEW-TAGS."] 1 #6#] #[(cache new-tags) "\300\207" [#7="Synchronize a CACHE with some changed NEW-TAGS."] 1 #7#] semanticdb-refresh-table #8="If the tag list associated with OBJ is loaded, refresh it.\nOptional argument FORCE will force a refresh even if the file in question\nis not in a buffer. Avoid using FORCE for most uses, as an old cache\nmay be sufficient for the general case. Forced updates can be slow.\nThis will call `semantic-fetch-tags' if that file is in memory." semanticdb-table #[(obj &optional force) "\303!\203 \304!\210\305 \207 \205#\212\306\307!\310\"\211q\210\305 \210\311\n!*\207" [obj force buff semanticdb-in-buffer-p semanticdb-set-buffer semantic-fetch-tags semantic-find-file-noselect semanticdb-full-filename t kill-buffer] 4 #8#] semanticdb-needs-refresh-p #9="Return non-nil of OBJ's tag list is out of date.\nThe file associated with OBJ does not need to be in a buffer." #[(obj) "\306!\307!\211\203r\nq\210 )??\202C\310 !\311\f8\312\f8\313\314\"?\206B\315\316\"\2064\317 U?\206B\315\320\"\232?+*\207" [obj ff buff semantic-parse-tree-state stats actualsize semanticdb-full-filename semanticdb-in-buffer-p file-attributes 7 5 slot-boundp tags eieio-oref fsize 0 lastmodtime actualmod] 4 #9#] #10="Synchronize the table TABLE with some NEW-TAGS." #[(table new-tags) "\306\307 #\210\306\310d#\210\311\312!!\306\313\314\n8#\210\306\315\316\n8#\210)\306\317 #\210\320\321!\2036\306\322\323 #\210\324!\210\325\326\"\203P\327\326\"\211\203O\330\f \"\210)\327\331\"\332\211\203n@\330 \"\210A\211\204\\*\333!\207" [table new-tags fattr semantic-unmatched-syntax-cache idx C eieio-oset tags pointmax file-attributes semanticdb-full-filename fsize 7 lastmodtime 5 unmatched-syntax featurep semantic/lex-spp lexical-table semantic-lex-spp-save-table semanticdb-set-dirty slot-boundp index eieio-oref semanticdb-synchronize cache nil semanticdb-refresh-references --dolist-tail--] 6 #10#] #11="Synchronize the table TABLE where some NEW-TAGS changed." #[(table new-tags) "\306!\210\307\310!\203\311\312\313 #\210\311\314 #\210\315\316\"\203-\317\316\"\211\203,\320\n \"\210)\317\321\"\322\211\203G @\323\f \"\210 A\211\2048*\324 !\322\211\203s@\211A@)\325=\203j@BA\211\204T\237*\205}\326!\207" [table semantic-unmatched-syntax-cache idx new-tags C --dolist-tail-- semanticdb-set-dirty featurep semantic/lex-spp eieio-oset lexical-table semantic-lex-spp-save-table unmatched-syntax slot-boundp index eieio-oref semanticdb-partial-synchronize cache nil semanticdb-synchronize semantic-something-to-tag-table include semanticdb-refresh-references result tags tag] 5 #11#] semanticdb-save-db #12="Cause a database to save itself.\nThe database base class does not save itself persistently.\nSubclasses could save themselves to a file, or to a database, or other\nform." #[(DB &optional suppress-questions) "\300\207" [nil] 1 #12#]] 5) #@32 Save the current tag database. (defalias 'semanticdb-save-current-db #[nil "\204\302\303!\210\304 !\210?\205\302\305!\207" [noninteractive semanticdb-current-database message "Saving current tag summaries..." semanticdb-save-db "Saving current tag summaries...done"] 2 (#$ . 22133) nil]) #@34 Save all semantic tag databases. (defalias 'semanticdb-save-all-db #[nil "\204\303\304!\210\305\306\307\n\"\210)?\205\303\310!\207" [noninteractive semanticdb--inhibit-make-directory semanticdb-database-list message "Saving tag summaries..." nil mapc semanticdb-save-db "Saving tag summaries...done"] 3 (#$ . 22433) nil]) #@105 Save all semantic tag databases from idle time. Exit the save between databases if there is user input. (defalias 'semanticdb-save-all-db-idle #[nil "\203 \302\211\303\215)\207\304\305\306\217\207" [debug-on-error semantic-current-input-throw-symbol semanticdb-idle-save (mapc #[#1=(db) "\203\302 \204\303 \203\304\305\"\210\306 \307\"\207" [semantic-current-input-throw-symbol db input-pending-p accept-process-output throw semanticdb-idle-save semanticdb-save-db t] 3] semanticdb-database-list) err (byte-code "\301\211\302\215)\207" [semantic-current-input-throw-symbol semanticdb-idle-save (mapc #[#1# "\203\302 \204\303 \203\304\305\"\210\306 \307\"\207" [semantic-current-input-throw-symbol db input-pending-p accept-process-output throw semanticdb-idle-save semanticdb-save-db t] 3] semanticdb-database-list)] 3) ((error (byte-code "\301\302\303\304p\305!#\"\210\306\207" [err message "Auto-DB Save: %S" format "%S - %s" error-message-string nil] 7)))] 4 (#$ . 22769)]) #@409 List of predicates to try that indicate a directory belongs to a project. This list is used when `semanticdb-persistent-path' contains the value 'project. If the predicate list is nil, then presume all paths are valid. Project Management software (such as EDE and JDE) should add their own predicates with `add-hook' to this variable, and semanticdb will save tag caches in directories controlled by them. (defvar semanticdb-project-predicate-functions nil (#$ . 23774)) (byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\207" [eieio--defalias semanticdb-write-directory-p eieio--defgeneric-init-form #1="Return non-nil if OBJ should be written to disk.\nUses `semanticdb-persistent-path' to determine the return value." eieio--defmethod nil semanticdb-project-database #[(obj) "\300\207" [nil] 1 #1#]] 5) #@39 Return the currently active database. (defalias 'semanticdb-current-database #[nil "\206\f \205\f\303\n \"\207" [semanticdb-current-database default-directory semanticdb-new-database-class semanticdb-create-database] 3 (#$ . 24599)]) #@238 Non-nil to temporarily search any major mode for a tag. If a particular major mode wants to search any mode, put the `semantic-match-any-mode' symbol onto the symbol of that major mode. Do not set the value of this variable permanently. (defvar semanticdb-match-any-mode nil (#$ . 24843)) #@147 A Semanticdb search occurring withing BODY will search tags in all modes. This temporarily sets `semanticdb-match-any-mode' while executing BODY. (defalias 'semanticdb-with-match-any-mode '(macro . #[(&rest body) "\301\302BB\207" [body let ((semanticdb-match-any-mode t))] 3 (#$ . 25139)])) (byte-code "\300\301\302\303#\210\304\305\306\305\307\"\"\210\310\305\311\211\312$\210\304\313\306\313\314\"\"\210\310\313\311\315\316$\210\304\313\306\313\314\"\"\210\310\313\311\317\320$\210\321\322\311\323\324\325\326\327&\207" [put semanticdb-with-match-any-mode lisp-indent-function 0 eieio--defalias semanticdb-equivalent-mode-for-search eieio--defgeneric-init-form #1="Return non-nil if TABLE's mode is equivalent to BUFFER.\nSee `semanticdb-equivalent-mode' for details.\nThis version is used during searches. Major-modes that opt\nto set the `semantic-match-any-mode' property will be able to search\nall files of any type." eieio--defmethod nil #[(table &optional buffer) "\304N\206 \206\305\n \"\207" [major-mode semanticdb-match-any-mode table buffer semantic-match-any-mode semanticdb-equivalent-mode] 3 #1#] semanticdb-equivalent-mode #2="Return non-nil if TABLE's mode is equivalent to BUFFER.\nEquivalent modes are specified by the `semantic-equivalent-major-modes'\nlocal variable." semanticdb-abstract-table #[(table &optional buffer) "\300\207" [nil] 1 #2#] semanticdb-table #[(table &optional buffer) "\212\203q\210\304 \303\"?\206(\n\204\305 \304 \303\"\"\206(\n\205(\304 \303\"\n\235)\207" [buffer table semantic-equivalent-major-modes major-mode eieio-oref mode-local-use-bindings-p] 5 "Return non-nil if TABLE's mode is equivalent to BUFFER.\nEquivalent modes are specified by the `semantic-equivalent-major-modes'\nlocal variable."] custom-declare-variable semanticdb-project-roots "*List of directories, where each directory is the root of some project.\nAll subdirectories of a root project are considered a part of one project.\nValues in this string can be overridden by project management programs\nvia the `semanticdb-project-root-functions' variable." :group semanticdb :type (repeat string)] 8) #@406 List of functions used to determine a given directories project root. Functions in this variable can override `semanticdb-project-roots'. Functions set in the variable are given one argument (a directory) and must return a string, (the root directory) or a list of strings (multiple root directories in a more complex system). This variable should be used by project management programs like EDE or JDE. (defvar semanticdb-project-root-functions nil (#$ . 27282)) #@260 List of databases containing system library information. Mode authors can create their own system databases which know detailed information about the system libraries for querying purposes. Put those into this variable as a buffer-local, or mode-local value. (defvar semanticdb-project-system-databases nil (#$ . 27754)) (make-variable-buffer-local 'semanticdb-project-system-databases) #@62 Non nil if search routines are to include a system database. (defvar semanticdb-search-system-databases t (#$ . 28147)) #@527 Return a list of databases associated with the current buffer. If optional argument DIR is non-nil, then use DIR as the starting directory. If this buffer has a database, but doesn't have a project associated with it, return nil. First, it checks `semanticdb-project-root-functions', and if that has no results, it checks `semanticdb-project-roots'. If that fails, it returns the results of function `semanticdb-current-database'. Always append `semanticdb-project-system-databases' if `semanticdb-search-system' is non-nil. (defalias 'semanticdb-current-database-list #[(&optional dir) "\306\211\307 \206 \n!\310\311 \"\211\203\307 !\202? \203?\307 @!\312\313\314!P \"\2037) A\211\204\" \204E  \203\313\314 !P\203~\315@\316\"\203u\312\317@\316\"\"\203u@\fBA\211\204Y*\203\211\f\244\f,\207" [semanticdb-project-roots dir default-directory roots dbs root nil file-truename run-hook-with-args-until-success semanticdb-project-root-functions string-match "^" regexp-quote slot-boundp reference-directory eieio-oref r semanticdb-database-list adb regexp semanticdb-search-system-databases semanticdb-project-system-databases] 6 (#$ . 28274)]) #@51 Hash table mapping file names to database tables. (defvar semanticdb-file-table-hash (make-hash-table :test 'equal) (#$ . 29477)) #@75 Retrieve a DB table from the hash for FILE. Does not use `file-truename'. (defalias 'semanticdb-file-table-object-from-hash #[(file) "\302 \303#\207" [file semanticdb-file-table-hash gethash no-hit] 4 (#$ . 29613)]) #@48 For FILE, associate DBTABLE in the hash table. (defalias 'semanticdb-file-table-object-put-hash #[(file dbtable) "\303 \n#\207" [file dbtable semanticdb-file-table-hash puthash] 4 (#$ . 29836)]) #@319 Return a semanticdb table belonging to FILE, make it up to date. If file has database tags available in the database, return it. If file does not have tags available, and DONTLOAD is nil, then load the tags for FILE, and create a new table object for it. DONTLOAD does not affect the creation of new database objects. (defalias 'semanticdb-file-table-object #[(file &optional dontload) "\205\347\306!\205\347\307!\310!\311\n\312=\203B\313!\314 !\206'\315 !\316\f \"\211\203A\317\n\"\210 \230\204A\317 \n\"\210)\n\203Y\320\n!\203Y\212\321\n!\210\322 \210\n)\202\346\n\203e \203e\n\202\346\n\203|\323\324\n\325\"!\203|\326\n!\204|\n\202\346 \203\206\327 !\204\214\327!\203\220\311\202\346 \204\304\n\204\240 \204\240\313! \204\254\n\203\254\330\n!\331 !\317\n\"\210 \230\204\300\317 \n\"\210\n\202\346 \204\314\313!\332!\211A\317\n\"\210 \230\204\344\317 \n\"\210\n)+\207" [file default-directory tab fullfile db dontload file-exists-p file-name-directory semanticdb-file-table-object-from-hash nil no-hit file-truename semanticdb-directory-loaded-p semanticdb-get-database semanticdb-file-table semanticdb-file-table-object-put-hash semanticdb-in-buffer-p semanticdb-set-buffer semantic-fetch-tags number-or-marker-p eieio-oref pointmax semanticdb-needs-refresh-p get-file-buffer semanticdb-full-filename semanticdb-create-table-for-file-not-in-buffer semanticdb-create-table-for-file ans] 5 (#$ . 30039)]) #@101 When non-nil, a function for creating a semanticdb table. This should take a filename to be parsed. (defvar semanticdb-out-of-buffer-create-table-fcn nil (#$ . 31509)) (make-variable-buffer-local 'semanticdb-out-of-buffer-create-table-fcn) #@159 Create a table for the file FILENAME. If there are no language specific configurations, this function will read in the buffer, parse it, and kill the buffer. (defalias 'semanticdb-create-table-for-file-not-in-buffer #[(filename) "\203\305 !\204 !\207\212\306 !\211\206\307 \310\"\211q\210\f\203&\311 \210\f\n\204/\312 !\210+\207" [semanticdb-out-of-buffer-create-table-fcn filename kill-buffer-flag buffer-to-kill semanticdb-current-table file-remote-p find-buffer-visiting semantic-find-file-noselect t semantic-fetch-tags kill-buffer] 4 (#$ . 31756)]) #@183 Return a list of tags belonging to FILE. If file has database tags available in the database, return them. If file does not have tags available, then load the file, and create them. (defalias 'semanticdb-file-stream #[(file) "\302!\211\205 \303 !)\207" [file table semanticdb-file-table-object semanticdb-get-tags] 3 (#$ . 32329)]) (provide 'semantic/db)