Github user viirya commented on the issue:

    https://github.com/apache/spark/pull/19813
  
    > Another solution is to not make this contract. By a quick look this seems 
hard to do, because at the time of doing this, the code(method body) is already 
generated and we don't know how to replace statement like a + 1 with the 
generated parameter name, inside the method body. We may need to do this fix 
earlier in the codegen procedure.
    
    @cloud-fan Can you say more about this limitation? Can't we just replace 
all occurrences of `a + 1` with a parameter name like `varA` in method body if 
we are going to use it as parameter name in the split method?
    
    E.g., from a method body like:
    
    ```scala
    void splitMethod1(int a + 1, int b, boolean c) {
     ...
     int d = a + 1 + b;
     if (a + 1 > 10 && c) {
        ...
     }
    ```
    
    to
    
    ```scala
    void splitMethod1(int varA, int b, boolean c) {
     ...
     int d = varA + b;
     if (varA > 10 && c) {
        ...
     }
    ```
    
    



---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to