function enter(node, parent) {
    if(!node.body)return;
    for(var i = 0; i < node.body.length; i++){

      // Function to append a statement after the current statement
      var append  = [].splice.bind(node.body, i+1, 0);

      // Get all comments associated with the current statement
      var current = node.body[i];
      var comment = [].concat(current.leadingComments, current.trailingComments);

      // For every comment find the @examples and @expose tags 
      for(var j in comment){
        if(!comment[j])continue;
        var test = parseComment(comment[j], append);
        if(test)tests.push(test);
      }
    }
  }
function enter(node, parent) {
    if(!node.body)return;
    for(var i = 0; i < node.body.length; i++){

      
      var append  = [].splice.bind(node.body, i+1, 0);

      
      var current = node.body[i];
      var comment = [].concat(current.leadingComments, current.trailingComments);

      
      for(var j in comment){
        if(!comment[j])continue;
        var test = parseComment(comment[j], append);
        if(test)tests.push(test);
      }
    }
  }
function enter ( node , parent ) { if ( ! node . body ) return ; for ( var i = 0 ; i < node . body . length ; i ++ ) { // Function to append a statement after the current statement var append = [ ] . splice . bind ( node . body , i + 1 , 0 ) ; // Get all comments associated with the current statement var current = node . body [ i ] ; var comment = [ ] . concat ( current . leadingComments , current . trailingComments ) ; // For every comment find the @examples and @expose tags  for ( var j in comment ) { if ( ! comment [ j ] ) continue ; var test = parseComment ( comment [ j ] , append ) ; if ( test ) tests . push ( test ) ; } } }
Called on the program root and on every statemenet
Called on the program root and on every statemenet