pike.git / lib / modules / Tools.pmod / AutoDoc.pmod / DocParser.pmod

version» Context lines:

pike.git/lib/modules/Tools.pmod/AutoDoc.pmod/DocParser.pmod:68:       "b" : BRACEKEYWORD,    "i" : BRACEKEYWORD,    "u" : BRACEKEYWORD,    "tt" : BRACEKEYWORD,    "url" : BRACEKEYWORD,    "pre" : BRACEKEYWORD,    "sub" : BRACEKEYWORD,    "sup" : BRACEKEYWORD,    "ref" : BRACEKEYWORD, +  "rfc" : BRACEKEYWORD,    "xml" : BRACEKEYWORD, // well, not really, but....    "expr" : BRACEKEYWORD,    "image" : BRACEKEYWORD,       "deprecated" : DELIMITERKEYWORD,    "obsolete" : DELIMITERKEYWORD,       "bugs" : DELIMITERKEYWORD,    "copyright" : DELIMITERKEYWORD,    "example" : DELIMITERKEYWORD,
pike.git/lib/modules/Tools.pmod/AutoDoc.pmod/DocParser.pmod:434:    if (parser->peekToken() != ",") return res;    } else    res += xmltag("name", xmltag("ref", s));    if (parser->peekToken() == EOF)    return res;    parser->eat(",");    }    }       protected mapping(string : string) sectionArgHandler(string keyword, string arg) { -  return ([ "title" : String.trim_all_whites (arg) ]); +  return ([ "title" : String.trim (arg) ]);    }       protected string typeArgHandler(string keyword, string arg) {    // werror("This is the @type arg handler ");    .PikeParser parser = .PikeParser(arg, currentPosition);    // werror("&&& %O\n", arg);    Type t = parser->parseOrType();    if (!t) {    parseError("@member: expected type, got %O", arg);    t = MixedType();
pike.git/lib/modules/Tools.pmod/AutoDoc.pmod/DocParser.pmod:478:    else    return dots ? xmltag("minvalue", xmlquote(s)) : xmlquote(s);    else    if (s2)    return xmltag("maxvalue", xmlquote(s2));    else    parseError("@value: expected identifier or literal constant, got %O", arg);    return "";    }    -  protected mapping(string:string) itemArgHandler (string keyword, string arg) +  protected string|mapping(string:string) itemArgHandler(string keyword, string arg)    { -  return (["name": String.trim_all_whites (arg)]); +  arg = String.trim(arg); +  if (arg == "") return ""; +  if (!has_value(arg, "@")) return ([ "name":arg ]); +  return xmlNode(arg);    }       protected mapping(string : string) standardArgHandler(string keyword, string arg)    {    array(string) args = ({});    arg += "\0";       int i = 0;    for (;;) {    while (isSpaceChar(arg[i]))
pike.git/lib/modules/Tools.pmod/AutoDoc.pmod/DocParser.pmod:684:    }    }    while (sizeof(tagstack)) {    parseError("@" + tagstack[0] + "{ without matching @}");    if (tagstack[0] == "xml")    --inXML;    else    res += closetag(tagstack[0]);    tagstack = tagstack[1..];    } -  res = String.trim_all_whites(res-"<p></p>"); +  res = String.trim(res-"<p></p>");    if(!sizeof(res)) return "\n";    return "<p>" + res + "</p>\n";    }       // Read until the next delimiter token on the same level, or to    // the end.    protected string xmlText() {    string res = "";    for (;;) {    Token token = peekToken();
pike.git/lib/modules/Tools.pmod/AutoDoc.pmod/DocParser.pmod:837:    res += opentag("text") + xmlText() + closetag("text");    }    res += closetag("group");    }    }       protected void create(string | array(Token) s,    SourcePosition|void position,    .Flags|void flags)    { -  if (zero_type(flags)) flags = .FLAG_NORMAL; +  if (undefinedp(flags)) flags = .FLAG_NORMAL;    -  this_program::flags = flags; +  this::flags = flags;       if (arrayp(s)) {    tokenArr = s;    }    else { -  if (!position) throw(({ __FILE__,__LINE__,"position == 0"})); +  if (!position) error("position == 0");    tokenArr = split(s, position);    }    tokenArr += ({ Token(ENDTOKEN, 0, 0, 0, 0) });    }       //! @returns    //! Returns the @[MetaData] for the documentation string.    MetaData getMetaData() {    MetaData meta = MetaData();    string scopeModule = 0;    while(peekToken()->type == METAKEYWORD) {    Token token = readToken();    string keyword = token->keyword;    string arg = token->arg;    string endkeyword = 0;    switch (keyword) {    case "namespace": -  +  case "enum":    case "class":    case "module":    {    if (endkeyword)    parseError("@%s must stand alone", endkeyword);    if (meta->appears)    parseError("@appears before @%s", keyword);    if (meta->belongs)    parseError("@belongs before @%s", keyword);    if (meta->type)
pike.git/lib/modules/Tools.pmod/AutoDoc.pmod/DocParser.pmod:902:    parseError("@%s: '%s::' only allowed as @namespace name",    keyword, s);    }    if (nameparser->peekToken() != EOF)    parseError("@%s: expected %s name, got %O", keyword, keyword, arg);    meta->name = s;    }    break;       case "endnamespace": +  case "endenum":    case "endclass":    case "endmodule":    {    if (meta->type || meta->belongs || meta->appears || endkeyword)    parseError("@%s must stand alone", keyword);    meta->type = endkeyword = keyword;    .PikeParser nameparser = .PikeParser(arg, currentPosition);    while (nameparser->peekToken() != EOF)    meta->name = (meta->name || "") + nameparser->readToken();    }
pike.git/lib/modules/Tools.pmod/AutoDoc.pmod/DocParser.pmod:977:    int first = !meta->type;    if (!meta->type)    meta->type = "decl";    else if (meta->type != "decl")    parseError("@directive can not be combined with @%s", meta->type);    if (meta->appears)    parseError("@appears before @directive");    if (meta->belongs)    parseError("@belongs before @directive");    meta->type = "decl"; -  string s = String.trim_all_whites(arg); +  string s = String.trim(arg);    meta->decls += ({ .PikeObjects.CppDirective(s) });    }    break;       case "appears":    {    if (endkeyword)    parseError("@%s must stand alone", endkeyword);    if (meta->type == "class" || meta->type == "decl"    || meta->type == "module" || !meta->type)