code: function wrapReadWithUndefinedCheck(node, name) {
          var ret;
  
          //if (name !== 'location') {
          //    ret = replaceInExpr(
          //        "(" + logIFunName + "(typeof (" + name + ") === 'undefined'? (" + name + "=" + RP + "2) : (" + name + "=" + RP + "3)))",
          //        createIdentifierAst(name),
          //        wrapRead(node, createLiteralAst(name), createIdentifierAst("undefined"), false, true, true),
          //        wrapRead(node, createLiteralAst(name), createIdentifierAst(name), true, true, true)
          //    );
          //} else {
              ret = replaceInExpr(
                  "(" + logIFunName + "(typeof (" + name + ") === 'undefined'? (" + RP + "2) : (" + RP + "3)))",
                  createIdentifierAst(name),
                  wrapRead(node, createLiteralAst(name), createIdentifierAst("undefined"), false, true, false),
                  wrapRead(node, createLiteralAst(name), createIdentifierAst(name), true, true, false)
              );
  //        }
          transferLoc(ret, node);
          return ret;
      }
docs: function wrapReadWithUndefinedCheck(node, name) { var ret = replaceInExpr( "("+logIFunName+"(typeof ("+name+") === 'undefined'? "+RP+"2 : "+RP+"3))", createIdentifierAst(name), wrapRead(node, createLiteralAst(name),createIdentifierAst("undefined")), wrapRead(node, createLiteralAst(name),createIdentifierAst(name), true) ); transferLoc(ret, node); return ret; }