"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ImportarComoConstruto = void 0;
/**
 * Expressão usada para importação resolvida em tempo de execução.
 * Implementa a primeira forma de importação, também conhecida como importação dinâmica.
 */
class ImportarComoConstruto {
    constructor(caminho) {
        this.hashArquivo = caminho.hashArquivo;
        this.linha = caminho.linha;
        this.caminho = caminho;
    }
    async aceitar(visitante) {
        return await visitante.visitarExpressaoImportar(this);
    }
    paraTexto() {
        return `<importar-como-construto caminho=${this.caminho.valor} />`;
    }
    paraTextoSaida() {
        throw new Error('Método não implementado.');
    }
}
exports.ImportarComoConstruto = ImportarComoConstruto;
//# sourceMappingURL=importar-como-construto.js.map