|
From: | Eric M. Ludlam |
Subject: | Re: [CEDET-devel] CEDET completion-at-point-function |
Date: | Sat, 21 Jun 2014 20:23:42 -0400 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.3a1pre) Gecko/20091222 Shredder/3.1a1pre |
On 06/18/2014 09:47 PM, Stefan Monnier wrote:
reference. "d" is generally derived the same as f and a, but we apply one > last filter of the return type, so if you had: > q = p->f->a->d; > Then d's type should be similar to q.That's odd. Does that mean that the user might have been unable to use completion on the "p->f->a" part (before typing "->d") because the "a" field was not of a similar type as q? Or do you first use this "type similar to context" filter an if the filter doesn't let anything through, then you drop the filter (kind of like we filter out files that match completion-ignored-extensions, except when that results in "no match")?
Good call. The list of all possible completions from withing a struct/class contains any terminal type that matches (ie - int, char, etc) and any type that is a compound type (structs, classes) so it is both.
Basically, if you are completing to an int, it will toss chars, floats, etc but keep user types which have fields.
You can see it in semantic/analyze/complete around line 230. Eric
[Prev in Thread] | Current Thread | [Next in Thread] |