move addproblem into TokenList

This commit is contained in:
Dave Holoway
2020-06-29 16:24:01 +01:00
parent 31f3826971
commit 00da3cd2f1
2 changed files with 11 additions and 12 deletions

View File

@@ -3,6 +3,15 @@
*/
const ParseProblem = require('./parsetypes/parse-problem');
/**
*
* @param {TokenList} tokens
* @param {ParseProblem} problem
*/
function addproblem(tokens, problem) {
tokens.problems.push(problem);
}
class TokenList {
/**
* @param {Token[]} tokens
@@ -136,7 +145,6 @@ class TokenList {
return true;
}
const token = this.current || this.tokens[this.tokens.length - 1];
const addproblem = require("./body-parser").addproblem;
addproblem(this, ParseProblem.Error(token, `${value} expected`));
return false;
}
@@ -164,3 +172,4 @@ class TokenList {
}
exports.TokenList = TokenList;
exports.addproblem = addproblem;

View File

@@ -12,7 +12,7 @@ const ParseProblem = require('./parsetypes/parse-problem');
const { tokenize, Token } = require('./tokenizer');
const { resolveTypeOrPackage, resolveNextTypeOrPackage } = require('./type-resolver');
const { genericTypeArgs, typeIdent, typeIdentList } = require('./typeident');
const { TokenList } = require("./TokenList");
const { TokenList, addproblem } = require("./TokenList");
const { AnyMethod, AnyType, AnyValue } = require("./anys");
const { Label, Local, MethodDeclarations, ResolvedIdent } = require("./body-types");
const { resolveImports, resolveSingleImport } = require('./import-resolver');
@@ -104,7 +104,6 @@ function parseBody(method, imports, typemap) {
checkStatementBlock(block, method, typemap, tokenlist.problems);
} catch (err) {
addproblem(tokenlist, ParseProblem.Information(tokenlist.current, `Parse failed: ${err.message}`));
}
return {
block,
@@ -112,15 +111,6 @@ function parseBody(method, imports, typemap) {
}
}
/**
*
* @param {TokenList} tokens
* @param {ParseProblem} problem
*/
function addproblem(tokens, problem) {
tokens.problems.push(problem);
}
/**
* @param {TokenList} tokens
* @param {*} typemap