Komentarze warunkowe
Za pomocą specjalnych komentarzy możesz wybiórczo wyłączyć obfuskację dla określonych fragmentów kodu.
Przydaje się to, gdy w wyniku muszą pozostać czytelne określone bloki konfiguracji lub ciągi z numerem wersji, bez rezygnowania z obfuskacji reszty pliku.
Obfuskator odczytuje te komentarze z kodu wejściowego, więc zachowaj je w każdym kroku builda wykonywanym przed obfuskacją. Minifikator, który wcześniej usuwa komentarze, usunie również je.
Co faktycznie pomija „disable”
Wyłączony obszar pomija tylko bezpośrednie transformacje znajdujących się w nim węzłów, czyli obfuskację deklaracji w miejscu, w którym została zadeklarowana. Transformacje potomne nadal są stosowane, więc odwołanie wewnątrz wyłączonego bloku do identyfikatora, którego nazwa została zmieniona przy jego deklaracji w innym miejscu, również ma zmienioną nazwę:
Jeśli nazwa ma pozostać czytelna wszędzie, gdzie występuje, wyłączenie jednego bloku nie wystarczy; umieść również jej deklarację poza obfuskowanym obszarem albo użyj reservedNames.
Przy włączonym vmObfuscation wyłączenie działa tylko na całe funkcje. Funkcja znajdująca się w wyłączonym obszarze nie jest wirtualizowana. Wyłączony obszar zagnieżdżony w funkcji, która zostaje zwirtualizowana, nadal jest kompilowany do kodu bajtowego razem z resztą ciała tej funkcji - jego czytelna postać nie przetrwa. Zwykłą postać w wyniku zachowuje tylko kod wyłączony na poziomie głównym (poza jakąkolwiek zwirtualizowaną funkcją).
