code: function G(iid, base, offset, flags) {
          var bFlags = decodeBitPattern(flags, 3); // [isComputed, isOpAssign, isMethodCall]
  
          var aret, skip = false, val;
  
          if (sandbox.analysis && sandbox.analysis.getFieldPre) {
              aret = sandbox.analysis.getFieldPre(iid, base, offset, bFlags[0], bFlags[1], bFlags[2]);
              if (aret) {
                  base = aret.base;
                  offset = aret.offset;
                  skip = aret.skip;
              }
          }
  
          if (!skip) {
              val = base[offset];
          }
          if (sandbox.analysis && sandbox.analysis.getField) {
              aret = sandbox.analysis.getField(iid, base, offset, val, bFlags[0], bFlags[1], bFlags[2]);
              if (aret) {
                  val = aret.result;
              }
          }
          return (lastComputedValue = val);
      }
docs: getField (property read)