static traverse(ast, callback) {
    babelTraverse(ast, {
      noScope: true,
      enter: function(path) {
        callback(path.node, path.parent, path);
      }
    });
  }
traverse ast nodes.
@param {AST} ast - target AST.
@param {function(node: Object, parent: Object, path: Object)} callback - this is called with each node.