whole_func_string: function(className) {
        if (!this.__metaStack.length) {
          throw new Error("No __metaStack entries to pop"); 
        }
        let meta = this.__metaStack[this.__metaStack.length - 1];
        if (className && meta.className != className) {
          throw new Error("Wrong __metaStack entries to pop, expected " + className + " found " + meta.className); 
        }
        this.__metaStack.pop();
        meta = this.__metaStack[this.__metaStack.length - 1] || null;
        this.__classMeta = meta;
      }
func_code_string: function(className) {
        if (!this.__metaStack.length) {
          throw new Error("No __metaStack entries to pop"); 
        }
        let meta = this.__metaStack[this.__metaStack.length - 1];
        if (className && meta.className != className) {
          throw new Error("Wrong __metaStack entries to pop, expected " + className + " found " + meta.className); 
        }
        this.__metaStack.pop();
        meta = this.__metaStack[this.__metaStack.length - 1] || null;
        this.__classMeta = meta;
      }
func_documentation_string: Pops the current meta off the stack, optionally checking that the classname is correct