UNPKG

@designliquido/delegua

Version:

Linguagem de programação simples e moderna usando português estruturado.

34 lines 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Var = void 0; const declaracao_1 = require("./declaracao"); /** * Uma declaração de variável. */ class Var extends declaracao_1.Declaracao { constructor(simbolo, inicializador, tipo = 'qualquer', tipoExplicito = false, decoradores = [], tipoOriginal) { super(Number(simbolo.linha), simbolo.hashArquivo, decoradores); this.escopo = 'local'; this.simbolo = simbolo; this.inicializador = inicializador; // Preserva o tipo original especificado pelo usuário (antes de inferência do parser) this.tipoOriginal = tipoOriginal !== undefined ? tipoOriginal : tipo; if (tipo !== 'qualquer') { this.tipo = tipo; } else { this.tipo = (inicializador === null || inicializador === void 0 ? void 0 : inicializador.tipo) || tipo; } this.tipoExplicito = tipoExplicito; this.referencia = false; this.desestruturacao = false; } async aceitar(visitante) { return await visitante.visitarDeclaracaoVar(this); } paraTexto() { return `<var nome=${this.simbolo.lexema} valor=${this.inicializador ? this.inicializador.paraTexto() : 'Nada'} />`; } } exports.Var = Var; //# sourceMappingURL=var.js.map