Richard,
this is fixed in #651. Thank you for the report!
Please submit bug reports via IntelliJ Tracker in the future
(http://www.intellij.net/tracker)
Friendly,
Dmitry
Richard S.Martin wrote:
> Given the class:
>
> class Test {
> public Test() {
> Object obj = new Object();
> obj.hashCode();
> }
> }
>
> If you do an "introduce field" refactoring on obj and choose "Initialize in
> class constructor" with "make final" ticked, it gives:
>
> class Test {
> private final Object obj;
>
> public Test() {
> obj.hashCode();
> obj = new Object();
> }
> }
>
> Which is a compile-time error since the final obj is being used before it is
> initialized. If you don't choose "make final" it is potentially even worse
> since the initialization occurs after the usage, but the compiler will not
> pick this up.
>
> I believe the fix to this is something like:
> For "introduce field" with "initialize in class constructor":
> If the line is in a constructor, place the initialization on this same line
> in this constructor.
>
>
>
>
>
>
> ==============================================================================
> This email and any files transmitted with it are confidential and intended solely
>for the use of the individual or entity to whom they are addressed. All information
>is the view of the individual and not necessarily the company. If you are not the
>intended recipient you are hereby notified that any dissemination, distribution, or
>copying of this communication and its attachments is strictly prohibited. If you have
>received this email in error please notify:
> [EMAIL PROTECTED]
>
>
> ==============================================================================
>
--
Dmitry Lomov
JetBrains Inc. / IntelliJ Labs
http://www.intellij.com
"Develop with pleasure!"
_______________________________________________
Eap-bugs mailing list
[EMAIL PROTECTED]
http://lists.jetbrains.com/mailman/listinfo/eap-bugs