This PR contains the following changes: TransformationContext is now public: getEmitResolver and getEmitHost are still marked /*@internal*/. Added assertions to ensure transformation hooks are only modified at the right times during transformation. TransformationResult is now public. Transformer is now public. visitNode(), visitNodes(), and visitEachChild() are now public. NOTE: visitEachChild() d