diff --git a/lib/modules/Tools.pmod/AutoDoc.pmod/PikeExtractor.pmod b/lib/modules/Tools.pmod/AutoDoc.pmod/PikeExtractor.pmod index ad688903ee5d34f261621d9b3a062c11e07e6150..cd24e86836bc5d87e749d03112827992e6b59152 100644 --- a/lib/modules/Tools.pmod/AutoDoc.pmod/PikeExtractor.pmod +++ b/lib/modules/Tools.pmod/AutoDoc.pmod/PikeExtractor.pmod @@ -22,7 +22,7 @@ static private class Extractor { static private .PikeParser parser; static void create(string s, string filename) { - parser = .PikeParser(); + parser = .PikeParser(0, filename); array(string) tokens; array(int) positions; diff --git a/lib/modules/Tools.pmod/AutoDoc.pmod/PikeParser.pike b/lib/modules/Tools.pmod/AutoDoc.pmod/PikeParser.pike index 20f7c0f68d47e190aeae4c337e6870a40b94e0e4..930acc89b08b54cbbb494551d973247661276e17 100644 --- a/lib/modules/Tools.pmod/AutoDoc.pmod/PikeParser.pike +++ b/lib/modules/Tools.pmod/AutoDoc.pmod/PikeParser.pike @@ -718,21 +718,23 @@ void setTokens(array(string) t, array(int) p) { // create(string, filename, firstline) // create(array(Token)) static void create(string|void s, - string|SourcePosition|void filename, + string|SourcePosition|void _filename, int|void line) { if (s) { - if (objectp(filename)) { - line = filename->firstline; - filename = filename->filename; + if (objectp(_filename)) { + line = _filename->firstline; + filename = _filename->filename; } if (!line) error("PikeParser::create() called without line arg.\n"); [tokens, positions] = tokenize(s, filename, line); } - else + else { tokens = ({}); + filename = _filename; + } #if TOKEN_DEBUG werror("PikeParser::create(), tokens = \n%O\n", tokens); #endif