Description
In order to achieve the replacement of expr value during expression codegen (please see the proposal at https://github.com/apache/spark/pull/19813#issuecomment-354045400), we need an API to handle the insertion of temporary symbols for statements generated by expressions. This API must allow us to know what statement expressions are during codegen and to use symbols instead of actual codes when generating java codes.