The total removal of parenthesis removes casting parenthesis and breaks potential watch expressions so this cleanup should be removed.
Instead of calling getFullPathExpression() multiple times, built the fullPath from the topLevelExpression variable.
In the case of Expressions, add encapsulating parenthesis to handle type casting properly.
Update casting tests accordingly.
The total removal of parenthesis removes casting parenthesis and breaks potential watch expressions so this cleanup should be removed. Instead of calling getFullPathExpression() multiple times, built the fullPath from the topLevelExpression variable. In the case of Expressions, add encapsulating parenthesis to handle type casting properly. Update casting tests accordingly.