whole_func_string: function () {
                  if (parserInput.commentStore.length) {
                      var comment = parserInput.commentStore.shift();
                      return new(tree.Comment)(comment.text, comment.isLineComment, comment.index, fileInfo);
                  }
              }
func_code_string: function () {
                  if (parserInput.commentStore.length) {
                      var comment = parserInput.commentStore.shift();
                      return new(tree.Comment)(comment.text, comment.isLineComment, comment.index, fileInfo);
                  }
              }
func_documentation_string: comments are collected by the main parsing mechanism and then assigned to nodes where the current structure allows it