Comentários condicionais
Você pode desativar a ofuscação de forma seletiva em partes específicas do seu código usando comentários especiais.
Útil quando você precisa manter legíveis na saída determinados blocos de configuração ou strings de versão, sem abrir mão da ofuscação no resto do arquivo.
O ofuscador lê esses comentários da própria entrada, então preserve-os em qualquer etapa de build que rode antes da ofuscação; um minificador que remove comentários antes os elimina.
O que "disable" realmente ignora
Uma região desativada ignora apenas as transformações diretas dos nós dentro dela - a ofuscação de uma declaração no ponto em que ela é declarada. As transformações filhas continuam sendo aplicadas, então uma referência dentro de um bloco desativado a um identificador que foi renomeado na sua declaração em outro lugar continua sendo renomeada:
Se você precisa que um nome continue legível em todos os lugares em que aparece, desativar um bloco não basta; mantenha também a declaração dele fora de uma região ofuscada ou use reservedNames.
Com vmObfuscation, disable só funciona em funções inteiras. Uma função dentro de uma região desativada não é virtualizada. Uma região desativada aninhada dentro de uma função que é virtualizada continua sendo compilada para bytecode junto com o resto do corpo dessa função - a forma legível não sobrevive. Apenas o código desativado no nível raiz (fora de qualquer função virtualizada) permanece simples na saída.
