whole_func_string: function(className) {
        var pos = className.lastIndexOf("."); 
        var meta = {
            className: className,
            packageName: pos > -1 ? className.substring(0, pos) : null,
            name: pos > -1 ? className.substring(pos + 1) : className,
            superClass: null,
            interfaces: [],
            mixins: [],
            functionName: null
        };
        this.__metaStack.push(meta);
        this.__classMeta = meta;
        this.__metaDefinitions[className] = meta;
        this.__numClassesDefined++;
      }
func_code_string: function(className) {
        var pos = className.lastIndexOf("."); 
        var meta = {
            className: className,
            packageName: pos > -1 ? className.substring(0, pos) : null,
            name: pos > -1 ? className.substring(pos + 1) : className,
            superClass: null,
            interfaces: [],
            mixins: [],
            functionName: null
        };
        this.__metaStack.push(meta);
        this.__classMeta = meta;
        this.__metaDefinitions[className] = meta;
        this.__numClassesDefined++;
      }
func_documentation_string: Pushes new meta data onto the stack - each meta represents a class being defined,
  we operate a stack so that we can handle inner classes
  
  @param className {String} name of the class being defined