code: function N(iid, name, val, flags) {
          var bFlags = decodeBitPattern(flags, 3); // [isArgument, isLocalSync, isCatchParam]
          // isLocalSync is only true when we sync variables inside a for-in loop
          var aret;
  
          if (bFlags[0]) {
              argIndex++;
          }
          if (!bFlags[1] && sandbox.analysis && sandbox.analysis.declare) {
              if (bFlags[0] && argIndex > 1) {
                  aret = sandbox.analysis.declare(iid, name, val, bFlags[0], argIndex - 2, bFlags[2]);
              } else {
                  aret = sandbox.analysis.declare(iid, name, val, bFlags[0], -1, bFlags[2]);
              }
              if (aret) {
                  val = aret.result;
              }
          }
          return val;
      }
docs: variable declaration (Init)