@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
33 lines • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FuncaoDeclaracao = void 0;
const declaracao_1 = require("./declaracao");
const geracao_identificadores_1 = require("../geracao-identificadores");
/**
* Uma declaração de função.
*/
class FuncaoDeclaracao extends declaracao_1.Declaracao {
constructor(simbolo, funcao, tipoRetorno = 'qualquer', decoradores = [], acesso = 'publico', estatico = false, abstrato = false, eObtenedor = false, eDefinidor = false, eFuncaoDeDecorador = false) {
super(Number(simbolo.linha), simbolo.hashArquivo);
this.id = (0, geracao_identificadores_1.uuidv4)();
this.simbolo = simbolo;
this.funcao = funcao;
this.tipo = tipoRetorno;
this.decoradores = decoradores;
this.acesso = acesso;
this.estatico = estatico;
this.abstrato = abstrato;
this.eObtenedor = eObtenedor;
this.eDefinidor = eDefinidor;
this.eFuncaoDeDecorador = eFuncaoDeDecorador;
}
async aceitar(visitante) {
return await visitante.visitarDeclaracaoDefinicaoFuncao(this);
}
paraTexto() {
// TODO: Corpo.
return `<declaração-função nome=${this.simbolo.lexema} tipo=${this.tipo} />`;
}
}
exports.FuncaoDeclaracao = FuncaoDeclaracao;
//# sourceMappingURL=funcao.js.map