+1
-----Original Message-----
From: Thomas Singer [mailto:[EMAIL PROTECTED]]
Sent: Friday, February 08, 2002 5:43 AM
To: [EMAIL PROTECTED]
Subject: Re: [Eap-features] Move local declaration out of block
+1
At 11:27 08.02.02 +0000, you wrote:
>If I have
>
> Session sess = getSession();
> sess.process(data);
> sess.close();
>
>Now I'm worried that 'process()' might fail, so I surround the lot with a
>try..catch, and add some code in the catch
>
> try {
> Session sess = getSession();
> sess.process(data);
> sess.close();
> }
> catch (SessionException e) {
> // I type this...
> sess = getDefaultSession();
> }
>
>I'd like IDEA to automatically spot that I've used 'sess' (declared inside
>the try block) and show a light bulb to ask me if I'd like to move the
>declaration of sess outside the block, and ask me for a default value
>(which could either be null or the expression used to initialise "sess").
>
>The same thing would happen if I did this in a finally block; imagine I
>copied the 'sess.close()' part into the finally block -- sess is used but
>not defined, so IDEA prompts to move the declaration out.
>
>In fact, this might work in general situations. If a local variable is
>declared inside a block, but used outside it, IDEA could prompt to move the
>declaration outside as many blocks as is necesary to bring it into scope.
>So in the general case:
>
> {
> if (condition) {
> String my_string = getValue();
> }
> }
> // Syntax error; my_string is not defined.
> return my_string;
>
>IDEA prompts to 'Move my_string into scope?' when I type the return
>statement. If I say OK, the code becomes
>
> String my_string = null;
> {
> if (condition) {
> my_string = getValue();
> }
> }
> // No syntax errors now.
> return my_string;
>
>I the other option on the light bulb menu is to add another declaration of
>String my_string. In this case, the code becomes
>
> {
> if (condition) {
> String my_string = getValue();
> }
> }
> // No syntax errors now, but probably not what I meant
> String my_string = null;
> return my_string;
>
>
>What do you think? I've had to do this about 20 times manually today, It
>would be a real time-saver if IDEA did it automatically.
>
>Cheers,
>Ben.
_______________________________________________
Eap-features mailing list
[EMAIL PROTECTED]
http://www.intellij.com/mailman/listinfo/eap-features
_______________________________________________
Eap-features mailing list
[EMAIL PROTECTED]
http://www.intellij.com/mailman/listinfo/eap-features