replace regex parsing with linear parsing

This commit is contained in:
Dave Holoway
2020-06-15 11:15:25 +01:00
parent 18d56e0bc0
commit 01ae51d91a
17 changed files with 531 additions and 324 deletions

View File

@@ -1,16 +1,16 @@
const { ModuleBlock } = require('../parser9');
const { SourceUnit } = require('../source-type');
const ParseProblem = require('../parsetypes/parse-problem');
/**
* @param {ModuleBlock} mod
* @param {{unresolved:*[]}} imports
* @param {SourceUnit} unit
*/
module.exports = function(mod, imports) {
module.exports = function(mod, unit) {
/** @type {ParseProblem[]} */
const probs = [];
imports.unresolved.forEach(import_tokens => {
probs.push(ParseProblem.Warning(import_tokens, `Unresolved import: ${import_tokens.name}`));
unit.imports.forEach(i => {
if (!i.resolved)
probs.push(ParseProblem.Warning(i.nameTokens, `Unresolved import: ${i.package_name}`));
})
return probs;