You are quite right. In which case I suppose CTRL-SHIFT-SPACE in the
same situation will solve the other issue you mentioned.
Kirk
Bryon Jacob wrote:
>actually, you are incorrectly interpreting the symptom you observed... The
>drop down does not select the "longest possible value", the semantics seem
>to be more like "the most recently declared value" (this is, as well, a
>purely experimental conclusion -- maybe a definitive description of the
>*actual* behavior from someone at IntelliJ would be useful?) This seems to
>me to be the most likely desired behavior, but there are arguments for other
>mechanisms.
>
>given:
>
> private void foo()
> {
> int a = 1;
> int aaa = 2;
> int aa = 3;
>
> int b = a|
> }
>
>hitting CTRL-Space at | will yield a list containing 'a', 'aa', and 'aaa',
>but 'aa' will be recommended, as it is the most recently declared.
>
>interestingly, CTRL-Space doesn't seem to care about "assignability" in
>making its suggestions - for example, if you change the above to:
>
> private void foo()
> {
> int a = 1;
> int aaa = 2;
> int aa = 3;
> Object aaaa = null;
>
> int b = a|
> }
>
>pressing CTRL-Space at | suggests 'aaaa', even though Object is not
>assignable to int... The same behavior occurs even if we aren't discussing
>primitive types:
>
> private void foo()
> {
> Integer a = new Integer(42);
> Double aa = new Double(42.0);
> String aaa = "aaa";
>
> Number n = a|
> }
>
>pressing CTRL-Space at | suggests 'aaa', even though it is not assignable,
>but 'a' and 'aa' are...
>
>unassignable objects need to be in the list, because we may want to get the
>return value from one of its methods, but if the drop-down is going to go to
>the trouble of figuring out which of the items is most likely to be the
>desired value by looking at declaration order, shouldn't it maybe also give
>preference to the items that are actually assignable to the LHS of the
>assignment expression?
>
>-Bryon
>
>----- Original Message -----
>From: "Kirk Woll" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Sunday, March 17, 2002 3:09 PM
>Subject: [Eap-list] CTRL-Space selects the longest possible value, rather
>than the shortest
>
>
>>Given:
>>
>>class A {
>> void a() {
>> int a;
>> int aa;
>> int b = a|
>> }
>>}
>>
>>Hitting CTRL-Space at | will yield a drop down box with two entries: "a"
>>and "aa". However, "aa" is selected rather than "a". I find this
>>behavior confusing as I would expect the more exact match (and the
>>shorter match, and the first match) to be selected.
>>
>>Kirk
>>
>>
>>_______________________________________________
>>Eap-list mailing list
>>[EMAIL PROTECTED]
>>http://www.intellij.com/mailman/listinfo/eap-list
>>
>
>
>_______________________________________________
>Eap-list mailing list
>[EMAIL PROTECTED]
>http://www.intellij.com/mailman/listinfo/eap-list
>
>
_______________________________________________
Eap-list mailing list
[EMAIL PROTECTED]
http://www.intellij.com/mailman/listinfo/eap-list