After extracting a method, I changed my mind and inlined it back.
The inlining should have cancelled the extraction, but it introduce 1 useless temp 
variable (see stage 3 below).


stage 1 :

    public int testParent ()
    {
        int result = 17;
        result   = 37 * result + (int)__byte0 ;  <<- extract method
        return result  ;
    }


extract method to :

stage 2
    public int testParent ()
    {
        int result = 17;
        result = tk( result , __byte0 ); <<- inline method
        return result  ;
    }

    private int tk( int i_result , final byte i_byte0 )
    {
        i_result   = 37 * i_result + (int)i_byte0 ;
        return i_result;
    }



inline method to :
stage 3

    public int testParent ()
    {
        int result = 17;
        int result1 = result;                   <<- useless code
        result1   = 37 * result1 + (int)__byte0 ;
        result = result1;
        return result  ;
    }
 
should have been same as stage 1 :

    public int testParent ()
    {
        int result = 17;
        result   = 37 * result + (int)__byte0 ;  <<- extract method
        return result  ;
    }


Alain Ravet

_______________________________________________
Eap-list mailing list
[EMAIL PROTECTED]
http://www.intellij.com/mailman/listinfo/eap-list

Reply via email to