private void inicializaVariaveisGlobaisQueSaoPassadasPorReferencia() throws ExcecaoVisitaASA { List<NoDeclaracao> declaracoes = asa.getListaDeclaracoesGlobais(); for (NoDeclaracao declaracao : declaracoes) { if (declaracao instanceof NoDeclaracaoVariavel) { NoDeclaracaoVariavel variavel = (NoDeclaracaoVariavel) declaracao; if (variavel.ehPassadaPorReferencia() && variavel.temInicializacao()) { String nomeTipo = Utils.getNomeTipoJava(variavel.getTipoDado()); saida.append(Utils.geraIdentacao(nivelEscopo)); saida.format( "REFS_%s[%s] = ", nomeTipo.toUpperCase(), Utils.geraStringIndice(variavel)); variavel.getInicializacao().aceitar(this); saida.append(";").println(); // o ponto e vírgula depois da inicialização } } } }