From c47ea7df513220187cd87b0c49d90692bb20fa29 Mon Sep 17 00:00:00 2001 From: David Reeves <dereeves@nps.edu> Date: Wed, 31 Oct 2018 13:43:02 -0700 Subject: [PATCH] * code explorer filtering and selecting works on classes or methods now --- .../.vs/BehaviorDevelopmentStudio/v14/.suo | Bin 538112 -> 537600 bytes .../BehaviorStudio2/CodeExplorer.cs | 174 ++++++++++++++---- .../dist/BDSCodeCompleteServer.jar | Bin 27146 -> 27130 bytes .../src/bdscodecompleteserver/BDSServer.java | 6 +- 4 files changed, 138 insertions(+), 42 deletions(-) diff --git a/BehaviorDevelopmentStudio/.vs/BehaviorDevelopmentStudio/v14/.suo b/BehaviorDevelopmentStudio/.vs/BehaviorDevelopmentStudio/v14/.suo index 6f09ac9d3b1dd2f116ee29c19138395687d687cf..88f1f9d6c0676e7fe39c54ad75ece39c61dbf3da 100644 GIT binary patch delta 1584 zcmYk6e@v4{7{~A4UhiJ8uqp^uaTc7RQ$Ph|8>vaRsli0V05kr96Hpvrty5Y>Wzt2^ zg^`8zOpoYdl(|>bB|=}*o6~8Rm@NAd#|(ey*0|`LFn>*vPF>XQd5Lqo<a2k=bI;v< zpX8qN-?ICM?Ojehsek@#CE;#E{<`vwgLs|pqaWe`S%OdSQc{3N`1_;@-`8Vg3r;}C z`Pt<VRKtBrEB>6vpbv1LsTDjiRzL_si02UdYh5OU3c<()ihz&6PKPlAumV{?A}|@S z0Z-%cxPX`^yq!$L6ZvOqnevNC|4U8AoLF4MSmz~{Ws{C!gnEG^z)`?h7(?$*tiU=+ ze2hcMUIj<F&)SMV<}v8IxNm%`r5&OTeMaj^R(evEKwF>QSG)=9S+>h5p)@bX%egPT zbzCJx7$TvGd)Mhoy(;gJITToct>xf)exo6&k~`GuXHMRh+tO1+dV)%z$gbO+4izuv z2NP11`G~*0pxAmC^6LeT0Au;|F6c};55@ohhs7`PgA1nz5(&S%mnaj7?pa7*P};D* zxpIe!D|oDGr*c~1+gARKPw77EF|6CG2QBz0kGbRHy5WrIL{I{n`+p_{VjybD(kneB zY5FI{Yj9|n*TlW)ouc+z<`(t}lB)YVdR6Yoy%^f#H*x<wf2iA{SPfn6aMUhfH^4LY z_9Yq4Fc^l$v5XSFdS;yi#Z$O--wBHmGaoJ=g%y2Z-yy1dD?4%E(5OCIWx*kBbOLTO zgyO9`V<&gVPGUd-OaPIwlji%SbUW;AG08iO2BV_wI=zv!6Hc@M#yCxEAEL8N-H_nM zE#^$|-4L}+%|mX~fIO%URiZc0D(LG_GxDN0Q9Y`W@!u#`!Z)Z33)gKL5s{lTQ)W(P zSMZE?AaD(Gpbe-NHNt!~Y_g*!n0dfohc=-cWEb~5rj!Ibm@k6>t1u1It!6|K!aP&4 ziA%#YJ1H4f42*_F(rwx#T)$Jlmci8UV;W5n(FFFAwu~ifGnpbIf6z=tT=|nu3*Vs; z9KH)(FoQ*;e}ukn;yo88h>8)K8_r?hV6#yiNc@n?3S}fVmc*y*Yl-t%9E)2U*>>^X z1onyyz01nYf;^;7ex)%@OnyKu!v27c)gls&4{5hj^_C!ys1t-EwB9WjJ)&PKnv*Fa z@PxXg>oJJXwt;zeHcOLfJJ=1g_LNdFw}zF;vTD|E3KJF`C+vBUiIu5ZJtH#eU^Xml z8`!Y6f{|b|^NM&qD->sDFoztdXLGQ&pDCIH=wV8DCOc&sUkWAoZ>xp5Dvjin|0h$( zmSU{~HoXdT0>z9z*LBk@ahH+3y-=-|)qB_h{GUjy1tGi^=w?K_#YniGVIr{x8#E8N zN0@a?X4Vj0A|o9PUd4q*lF#>MH;Osmvm(CKL*>OY%z@PvKN_DCJpZ!&b6N9xw=oa4 zFo$hZT~kxln!3$Z6{{OO-Uhe3ro!u6yS7TWT9`{lpc_-q%d?AwRWhfz{3}z%`9Y@g z1Eo}cK-Fdz{(>pwuyURekvc?+rE?EEhqXaQcz#EQQMZ(r9M6`EgG^!(h_gP~cah~= z<<)EKMXWhg`YgfJAW=&urNEz-3K#{L4x>?|HW(Me*R!hM4|-0+OH5R+W{AOSG$%Mj z-E!M3b&(?cpjMlsD#Deo`lTyRb>YL20u^)DfvF-hmrW1mtEr;Bg-sE&=czya11LEk Aj{pDw delta 1637 zcmZvb3v3ic7{_;J=jL0Eqa3}q6sUS_cpSBqVu4^i!hr>fkwBmVlBTv`qY$`4A3Phn zKv7Z~Q#yD<02K->uPB8jH)3Nv2th&&HiVE^8lnx4iqK%;h%uG=Z8au7Hu>G$H;@1K z|GwQZyZq(@e`Am&pPo9N^0p0Q?7eG51>HtYia4z$yF|5KOG-psUraWNxh$7#7F$^* z`O1#7^<+TokZ;PqHP=b0T}?kAO-6u?(=<(FG5^a~bxoUy!7yYp@*&1UaZE$JNCv`? z;Ycd-tgo-nhZDbx9qa|-7DtSEG>O?yjRaydPcLb5=d&h);sx&c$<F3u7#v4VAWr<u z{><}@PQJIRi%$~UpZJ5`ypswuHN(zGz2$3eqRrX7IYOI)e%n787wc$~vlbj}5Gm4U z`sf~A6zAu8`?b;RapVLdj^#Hrxfy8_)AL8{GQIAbIEnfCI&?cclMlA5nj6TOMNhc> z<gkY{6<3jqqS{+a8bus`cZljCwY&~JGEMw8EMRApT=S5lBEG6`U?U23BxCKGCQrAs zT-ny4XV`_|f)ueoC5bsk?6Y+-MhZpsxY~gWai7yUd}Qf)SS|evS(0tmA2UQ?Qd+<7 z{yyNbMYu;4P73sE95MwH<}2ozJs#?<!<;*i_Yh~dNZZ>o=qv_N1mnI|rx#eS%L$%{ z=`%+N@4mC19$bF>*BQHQ-(gO-5_?_q7D^U~c+qxRL+wpRHu=c=PGzKKd;Hw{@pA;B zh>kE7Kj(Tpm(M|KQ#I8MJkp`+?(!NEz0Jd9P#Lz!gKN&XSZ=<<U(}aip=;N>(&d#q zJT-leR;86`tF>&cP%GCKVpO56(8Ag~T0k3%2M5VlAMlN?*+MTRBAxo=?k=9?O~4fg z=Rsvnwsr9w8M?<qGV~J<Df1qW5owNqgCem!Wq_t-E!38yuGPh<3f<=yhzQh=l%u=( z@aQ9cp2+Fl{A*?QaFawc;5<=eG)yCr9-b*n$3lt>l|xL-&t;P3K#<~Fc<Ym)^3A(& z)cMvm$tFOMFZs@m|JAGs@Fk5t<sCkm=7Eux8{E<RoKh#D!i4Q04|>3-d`a+-SWh{% zQh-G(pq0qhQQ&d;QN*jht%Qlx`js;)6R6e8X*3HMQ_O^3-Fn8km4}BIbhzY?mHkN) z<gR5fO-<Vg7f2)s)8*4ykf7$zf)+ix23qw&UZ+ogKCv6}@+g=R-4BE*5`aEpEdv_O z1jZGc2)!ioE>y{7Z@3a=;}ytMEh{0JkbsPxas}k)-8|9S22_T^FgB&SVtH9*(Tvi{ z70U}N%F41gtX_pVWNjF>s@NA0BGEb^{9lG-N;0&mwqnR3)&`&=;nR9mUjyri{G}2a zWGo5t)TI*0BUU{YkJhXP%$Ku3Pjl`P7X_!rs5y<Gh`h7`hRc>U)D&qo9%b!@rMlzY z)nBLDxDsCfr|*@hwFe1f)^Nb9ygl$}u;amM!3JCe%4B{S3#d$P+yI$)hX+-#0WOmN zO<oa!c2PVdL3PC-RhP{lx$32VE%pBGg+wo-qM{LaMxrT3XOimdgy)Iuxy_4I(S3NE zM9Lv#J%S|b3|cS@8ev93s&j#-Vg<?gaScVBD?1EFyJY_XBCfqQS$a=HP~N%;hP-+e z3~^vCS3BLtQoriFh5FWA;3|}3n0N!m8>W?wy17P@ydH*C66ZtSOY_Rw$L(Gocy4y> rg}jGyhV=dnTf~V2>Eh!9Ln8MeBxB=^P~;^e_TR0I*+z>ra}Dzk{--rm diff --git a/BehaviorDevelopmentStudio/BehaviorStudio2/CodeExplorer.cs b/BehaviorDevelopmentStudio/BehaviorStudio2/CodeExplorer.cs index dc1992a..62667a7 100644 --- a/BehaviorDevelopmentStudio/BehaviorStudio2/CodeExplorer.cs +++ b/BehaviorDevelopmentStudio/BehaviorStudio2/CodeExplorer.cs @@ -9,6 +9,7 @@ namespace BehaviorStudio2 delegate void SetListCallback(CodeExplorerItem[] lines); static Stack<CodeExplorerItemList> itemList = new Stack<CodeExplorerItemList>(); + static Stack<CodeExplorerItem> selectStack = new Stack<CodeExplorerItem>(); //static List<string> unfilteredList; static string className = ""; @@ -18,26 +19,43 @@ namespace BehaviorStudio2 InitializeComponent(); } + private void SetMethods(List<string> lines) + { + lines.RemoveAt(lines.Count - 1); + lines.Sort(); + itemList.Push(new CodeExplorerItemList(lines)); + + if (this.optionsLB.InvokeRequired) + { + SetListCallback l = new SetListCallback(_SetOptionsLB); + this.Invoke(l, new object[] { itemList.Peek().items.ToArray() }); + } + else + { + _SetOptionsLB(itemList.Peek().items.ToArray()); + } + } + private void SetLines(List<string> lines) { lines.RemoveAt(lines.Count - 1); lines.Sort(); - //unfilteredList = lines; itemList.Push(new CodeExplorerItemList(lines)); if (this.optionsLB.InvokeRequired) { - SetListCallback l = new SetListCallback(_SetLines); + SetListCallback l = new SetListCallback(_SetOptionsLB); this.Invoke(l, new object[] { itemList.Peek().items.ToArray() }); } else { - _SetLines(itemList.Peek().items.ToArray()); + _SetOptionsLB(itemList.Peek().items.ToArray()); } } - private void _SetLines(CodeExplorerItem[] items) + private void _SetOptionsLB(CodeExplorerItem[] items) { + this.optionsLB.Items.Clear(); this.optionsLB.Items.AddRange(items); } @@ -61,26 +79,6 @@ namespace BehaviorStudio2 } this.optionsLB.Items.AddRange(itemList.Peek().items.ToArray()); } - - //if (unfilteredList == null || unfilteredList.Count < 1) - //{ - // AsyncThreadClient atc = new AsyncThreadClient(); - // atc.Connect(); - // Console.WriteLine("ATC Connected!"); - // atc.SendAndReceiveThread("GETJARS<EOL>", SetLines); - //} - //else - //{ - // this.optionsLB.Items.AddRange(unfilteredList.ToArray()); - //} - } - - private void SetMethods(List<string> lines) - { - foreach (string line in lines) - { - Console.WriteLine("Line: " + line); - } } private void FindMethods(string line) @@ -120,6 +118,18 @@ namespace BehaviorStudio2 { string filter = lineTB.Text; + string[] strs = filter.Split('.'); + + if (strs.Length > 1 && strs[strs.Length - 1] == "") + { + // last char=. + filter = strs[strs.Length - 2] + "."; + } + else + { + filter = strs[strs.Length - 1].Trim(); + } + FilterList(filter); } @@ -188,8 +198,20 @@ namespace BehaviorStudio2 { if (optionsLB.SelectedIndex > -1) { - string txt = (string)optionsLB.SelectedItem; - lineTB.Text = txt; + string[] strs = lineTB.Text.Split('.'); + CodeExplorerItem cei = (CodeExplorerItem)optionsLB.SelectedItem; + selectStack.Push(cei); + strs[strs.Length - 1] = cei.GetFullDescription(false); + + string text = ""; + for(int i=0;i<strs.Length;i++) + { + text += strs[i]; + if (i < strs.Length - 1) + text += "."; + } + + lineTB.Text = text; lineTB.SelectionStart = lineTB.Text.Length; lineTB.SelectionLength = 0; } @@ -217,7 +239,7 @@ namespace BehaviorStudio2 // search through the list foreach (CodeExplorerItem item in itemList.Peek().items) { - string line = item.className; + string line = item.GetSearchName(); // convert the string to lower string lineLower = line.ToLower(); @@ -286,7 +308,7 @@ namespace BehaviorStudio2 { CodeExplorerItem.includeFullClassname = fullClassCBX.Checked; - if (optionsLB.Items.Count > 0) + if (itemList.Peek().IsClassList && optionsLB.Items.Count > 0) { int sel = optionsLB.SelectedIndex; object[] objs = new object[optionsLB.Items.Count]; @@ -303,6 +325,8 @@ namespace BehaviorStudio2 public List<CodeExplorerItem> items; public CodeExplorerItem selectedItem; + public bool IsClassList { get { return (items == null || items.Count < 1 ? false : true); } } + public CodeExplorerItemList(List<string> lines) { items = new List<CodeExplorerItem>(); @@ -328,34 +352,106 @@ namespace BehaviorStudio2 { public static bool includeFullClassname = false; - public string returnClass = ""; - public string className = ""; - public string fullClassName = ""; - public string[] paramNames = null; + string methodName = ""; + + // return value + string returnClassName = ""; + string returnFullClassName = ""; + + // class + string className = ""; + string fullClassName = ""; + + // params + string[] paramClassNames = null; + string[] paramFullClassNames = null; + + public bool IsClassItem { get; protected set; } public CodeExplorerItem(string item) { string[] its = item.Split('|'); - className = its[0]; - fullClassName = its[1]; + if (its.Length == 2) + { + // its a class item + className = its[0]; + fullClassName = its[1]; + IsClassItem = true; + } + else if (its.Length == 3) + { + // its a method item + methodName = its[0]; + + // return class + returnFullClassName = its[its.Length - 1]; + returnClassName = GetSimpleClassName(returnFullClassName); + + // params + paramFullClassNames = its[1].Trim().Split(','); + paramClassNames = new string[paramFullClassNames.Length]; + for (int i = 0; i < paramFullClassNames.Length; i++) + paramClassNames[i] = GetSimpleClassName(paramFullClassNames[i]); + } + else + { + Console.WriteLine("Error: Unable to parse code explorer item - " + item); + } + } + + public string GetSearchName() + { + if (IsClassItem) + return className; + else + return methodName; } public override string ToString() + { + return GetFullDescription(CodeExplorerItem.includeFullClassname); + } + + public string GetFullDescription(bool verbose) + { + if (IsClassItem) + { + if (verbose) + return className + "(" + fullClassName + ")"; + else + return className; + } + else + { + if (verbose) + return methodName + "(" + GetParamDescription(true) + ") " + returnFullClassName; + else + return methodName + "(" + GetParamDescription(false) + ")"; + } + } + + string GetParamDescription(bool verbose) { string desc = ""; - if (paramNames != null && paramNames.Length > 0) + if (paramClassNames != null && paramClassNames.Length > 0) { - for (int i = 0; i < paramNames.Length; i++) + for (int i = 0; i < paramClassNames.Length; i++) { if (i != 0) desc += ","; - desc += paramNames[i]; + desc += verbose ? paramFullClassNames[i] : paramClassNames[i]; } } - return className + (includeFullClassname ? "(" + fullClassName + ")" : "");// + ":" + (returnClass == null || returnClass == "" ? "null" : returnClass) + - //":" + (desc == null || returnClass == "" ? "null" : desc); + return desc; + } + + public static string GetSimpleClassName(string fclassname) + { + string[] strs = fclassname.Split('.'); + + return strs[strs.Length - 1]; } } } diff --git a/java/BDSCodeCompleteServer/dist/BDSCodeCompleteServer.jar b/java/BDSCodeCompleteServer/dist/BDSCodeCompleteServer.jar index 74d56dd885d61eaa0c07a7905cb81971cf7a42ca..5a6d3ae33445a4f2bcd323a77b28bb8b8ba70f29 100644 GIT binary patch delta 2106 zcmaJ?3wVxo6#t#~+qeI__xtaDvHQ(!V}@C6EoNpj#*B^08pG`Jxs0%4;Ul@`60ayl zqM}e(kwi)tbQ8LWE~KK1D58mV{_n=~)YH@ReBXJ`?SIbiob$gdI7anH$+KT?o0|dX zz_PN^rJixNrDdhtQV$4E7V~!1#w<D*0vt3w^{%cm50qf5fg#wYW4jXS6nRPDWq}<A zcH$KS0=o>j<5gwZE%2Ja9%b2Uz!R?<kl3dzZwS2Uf&F;Pz}t97$Ghr#z`#KqQmfxn z<b5T6An>7qFl;m63d2WAby&$vO7O9YcSQLz*@+__IErJ6d}82JrQ46sbbPMkxPfAP zq2q-5p49QBj<0llt>YUVr*xcF!M;_tGdjN0@x8zg3f)-)=kTMBpLG1p`HS(32hQVH z2QJ{E1Ha*SMJ@@<({Wir`9sGQWxT2o{;8v0DX;1HONG9!$PGmr44fzEL^^2(*~m>1 zyC8Q11zacz(iQPgYC|W75~Kru7sykPmrmY-d<6Ll@~b=Lv5E{9`~?MYOU>DiUT%Tx zWFB#pQ&3&1tRw$sY6=uAutrdbpilwRyy4j{uo6`gPSg?@WjQJ&N-@mL@Ja~`kQ7GY zY@`T9A|-}ngt^cw)h~*ol_o}!Scx)>H2W3=We936sRgwZ)JjroiX-@TALA^qo)kTy zrn=f$U747es0{If0wuMfwvrMsTT(k>b$jYy?(H8MFR3FXN$Nz&5)UftZK&nSB;Af_ zl2RyD&>fP}=uUH-cZ^?W>Ov4DowM_Ml%z{ar>^EY?_7N$7D>vWZssNLB3GtD6eOuT zB@;ZdCzqGiOe#-{=5;yQ19H0+6iUjXY(YIF<zOv$M^aDfC8(LCTm_&v^&!wyNqH1c zuotR=B=x0y1+^c+h#ob3!bFBpzzF)QPC7VnUiN^V`B{Z&(w_>bo1{YJKY#{GDxyK= zNuM}Ju%x?au%u$T+w}GgjtrGlLPI1CrBX@56j(}-G@KhjBPhEr-#6X8O9>x4!cf=& zH7BM}Q?b502J6d11blqJlV#bB{hb)abhLS>Svid{I|R2KIF>DK*p|g7wHo7KW4RB; zW1<zIkF}O}1nX254U?D;g4TfUunE)%+$(S&NMN$y$Wu^j#orpdiQ|`ql)6;>bUu*@ zXodSRl`|Pkr(hcU`Jx8X;o_(Pn1C6K)`kU)V<zKJIhQrzP&p%EzkvYG^MJstYsiRe z;6N<aH06fcBPutbo#ia<0F8F*T$dI)ofyilu$2~+@o=C8;xWg95{BNGi+P-O_AT91 z<TvUl5FwVIo&3<Q3H&K;a^ng+6<LrqDrF=yF`vuelueK|a&jrENCiF*-VC<|?2MN& z&oYmPr})+ISOp&9%ND##dG+YJ*oY-WZszvLWJl%>M1*)T@yj$XM*7oW(;gL1#b*1c zRNf_3QPEt~{HWblQTyPJY{X$PmtsdthPp)ck_K_t9>!AmQ**u!m%#)dHf+Um)_GDQ zHscZY^P(hd#0uuT=`feFk~tp=$6h>&$KcRx2xqQ>Ejwv7RxxM89$JaVnR9dD2O5hf zIG~*`u?nol8gBg+8iFUW7J|-jKNJ{#PqcwIw-s|wv5rT~oZ74!)^Qh-VQ+%G{ubn? zZ$Vzq4@P6I^_;6Q!!vLRtHE0!ucJM8R^ZusWYi<6fp@yY+Mul4U|E>iDDa%X^Gu1e zHy{oE|LY^LNno?Jj#u+<vs!l*9latNkOEz})DifP48V2Bn|P8N(6Q;XC|53Z3;*4@ zY(Ea7;RTj7yvSz&+-2g&=P2$0{_zy&1r?o$&GrD)za=}47&)<Q+{n6&*!V0Pzs=^D zid6Mhn;R-l|Ld(@QQ6P(I9C~_$yhU{Q;gZVs)M$?EwimmS5=ahm}s#x5<|?nRX(QX o4Am|tu`0pLb+*wOvX~7v7dyLXnK>3aC&$~o<n(dR<NF2p8~DAdkpKVy delta 2131 zcmaJ?2~?C-6#ni%4DaWk$1s4xun4#dDk@r%DQb!v67DOaC<BZO7~q!ZWTuss+siQ1 zGSkvr$|y}uv&B-gveb%f(@bqMvrN;J?i<i^>U271=Dz#xz3+bCz3;vMT{%Jvj#6;H z3|oK&m_XCwoF&1{Y)y)Dwx;eE!92~3n00V@RTNOAg3Zppf*|DJB@3fbY2sx)c}0tD z0^0>%wXg#_EePzg5Qx{bXScu}f!DQXuZ3W|VL{?e?RiV!?I7&KI~Lx>eiH}uc+kRo zIHXs<uf+#?`k}yK3o)p);ETaW+VruWv&g{_o$siQWw8TCgK!L=Xz{6q&$MkHs!V)t z;<$xud|~2CJ$_~4YZKp?IAP+XiEmAu(#gKlzSAbom^dr&y=M1=g&*;giJwiJWBhFV z5`^>k)qxB6&4J%>QHwtW7MQrCsa!Vkr*>Y^46mB_OB=75xUN%Ivmj_e7S5AllFg(5 zi|iDrg%D&~7{G;65LsF{v{{-ItS3&B+#x2pI6Z|53NtBOP#r;a1w~XI4_ZMMPa*}m zxv|RU=p7KnLF$mh<BVod&vehYDP^94WhG08MpO=#izz%t?+wKYtQJ&HP@KRrbvd}D z%Zu?66HrcI?gc1RbDVCK>1<TjEh(N7*hlrXXdp2Td1}5hHLM{u(w4?rG?DNiUmbS3 z)0#?ZMu~!wBsHfNgwSpiy`G}7gpw&mMc$%<<m6=SXelU4QZluY)Ef6oYC|cK+EP2U zrGIpyq+94#N$n|BV!rm?hH@@bQU~}X-A)|^b&`}uos~DFepnakN)Xu{)3bVHr%Ael zx~Y{ReawYeB&j>4t8*bk96dCnXh}UORb{!{zFyQ@P#;MdSi^mg)R!^^#YnnSqh(P) z0+mbZPb~@dfttOf0W?ta8pM4~7@u2G%6J19Zm{l|qi6b{%=AIMvbqoKAZZAtOB$-f zhtY6JBWNU{P7iNU9+#gm$x~KXtWLY!8L^VGX_TZK8chfvpF1_T)s!;t#8zEPN^)oP z^_G_L_DC8-xst}xI7xYwN-$b56_3`q%P<ldE}wc=b`DJo49ejvN*DvXS{Uh$1@t}w zE*E%nc^1IV37E)olG+*Rp(2&wZa%n}JxT2A&R2Lc?t+cyeNlobJZep^<wL<*F2=&Z zRMsP4RHGYg0@DPh3(Nos+$}h6Cd&Q!SGzZI{=QM8eL8;{U)2_9f?1f&NEXM;gpcDw z8RZ_#;jDES@m^+Y!vf|pmw9N+rL{aXW*qF-QHOEv6PR}uU7A&MBA!mG#fCm98XGXq zGD;vo69PI`CPmLCrm`WX!cS!~9B70@Jm9AigA6>#kT%S_X)8xojg9Ie${%N^Ftn^C ze}dakv%*e8{FDtE%}nOvAufX<YbhJ##l!w0HTg`0Fx^J5GhgOBPaTMDA2yBmP~Z{% z3WLuoubxyHR&NoJU9E|0=NP^X^`e|C!bYeQap5#lU5rblY!x4$N~6@U_yjI$M*J>+ zQF{@NbTq?aF2#<<+}$O*mo${SwiF8C)DYY8D3(D|5?;h(YzwAjY(fRcIVlC}v7EIK zI?Sa!&YFv2u?H*g1RRD9v8)xcXFILJO4e-HO%+(hT7VB{XcC^}gm#>xd_0BK-1<v2 z3QuDV1fAkTrOEI^V+_7=tXO-7ZM?;-@ppr3U&~!+2YW5$bvG$Ldz11yeo1Pu)-hHM z!gKHm|B2iTc@3?&vjXd{pvx7cRP(uY_zx)CHuycPJTI_OU=vGX^lEfK`2WTTY!=w! zU&pKYw?(hJj5f}C)o2e>`1BR{4+P*E<PARUs?nzQw&+kU^#%S1a@k>=#NZv_PGBp_ zc;rLPuhKD;0{?iUGb4r^Z;&1Y=zn7l9Gh1<t~jr<b%Vt2Hh#2Kc7CdU#8pN9$$vfK z^9%a<BdQ8wjMxS$v~7JAS=icG+nm)Vs<<%4NK5vslar&=v_hA<P#A64+p?*J>flW> dLeg1vtJ&U8#(<uFb!yKLb;|1s9F@;R@Hf~7wXOgF diff --git a/java/BDSCodeCompleteServer/src/bdscodecompleteserver/BDSServer.java b/java/BDSCodeCompleteServer/src/bdscodecompleteserver/BDSServer.java index 23c006e..4348904 100644 --- a/java/BDSCodeCompleteServer/src/bdscodecompleteserver/BDSServer.java +++ b/java/BDSCodeCompleteServer/src/bdscodecompleteserver/BDSServer.java @@ -273,12 +273,12 @@ public class BDSServer implements Runnable if (params!=null&¶ms.length>0) { for(Class<?> param : params) - paramsDesc+=param.getCanonicalName()+", "; - paramsDesc=paramsDesc.substring(0,paramsDesc.length()-2); + paramsDesc+=param.getCanonicalName()+","; + paramsDesc=paramsDesc.substring(0,paramsDesc.length()-1); } if (ret!=null) returnDesc+=ret.getCanonicalName(); - String desc = method.getName()+"("+paramsDesc+"):"+returnDesc; + String desc = method.getName()+"|"+paramsDesc+"|"+returnDesc; methodDescs.add(desc); } } -- GitLab