Files
memecoin-botV2/.pnpm-store/v10/files/fe/c965bad06d1d5cc2416869b4f50719512c05af5d2e8dd178525c71c552aff70f0a23a7a8f6beb45f0228527a76a33e91ccfd25d793cf1960c45defb721097e

37 lines
1.2 KiB
Plaintext

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ImportVisitor = void 0;
const definition_1 = require("../definition");
const Visitor_1 = require("./Visitor");
class ImportVisitor extends Visitor_1.Visitor {
#declaration;
#referencer;
constructor(declaration, referencer) {
super(referencer);
this.#declaration = declaration;
this.#referencer = referencer;
}
static visit(referencer, declaration) {
const importReferencer = new ImportVisitor(declaration, referencer);
importReferencer.visit(declaration);
}
ImportDefaultSpecifier(node) {
const local = node.local;
this.visitImport(local, node);
}
ImportNamespaceSpecifier(node) {
const local = node.local;
this.visitImport(local, node);
}
ImportSpecifier(node) {
const local = node.local;
this.visitImport(local, node);
}
visitImport(id, specifier) {
this.#referencer
.currentScope()
.defineIdentifier(id, new definition_1.ImportBindingDefinition(id, specifier, this.#declaration));
}
}
exports.ImportVisitor = ImportVisitor;