1. A method for handling preprocessing in source code transformation, comprising: deconditioning an original source code to produce a parsable source code, the original source code including original preprocessing; parsing the parsable source code to produce an abstract syntax tree (AST) form; performing an AST-based transformation on the AST form to produce modified source code; and reconditioning by reconstructing that portion of the original preprocessing that was unaffected by the AST-based transformation in the modified source code.