mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 15:01:30 +00:00
7d5231796e
Obfuscation is controlled by obfuscate flag in Dart_IsolateFlags. Obfuscation of identifiers is performed during script tokenization - when TokenStream is generated from the source. All kIDENT and kINTERPOL_VAR tokens are renamed consistently using a persistent obfuscation map stored in ObjectStore::obfuscation_map. Some identifiers (pseudo-keywords, arithmetic operators, builtin recognized methods and entry-points) are not renamed to keep name based lookups from breaking. All other identifiers are renamed. Constant instances of Symbol-s (both created via literal syntax #ident and using constant constructor const Symbol("ident")) are renamed consistently with corresponding identifiers. Script urls and Library urls and names are also obfuscated. Obfuscation map can be dumped as a JSON array at the end of precompilation using Dart_GetObfuscationMap API. BUG=https://github.com/dart-lang/sdk/issues/30524 R=rmacnak@google.com Review-Url: https://codereview.chromium.org/3003583002 . |
||
---|---|---|
.. | ||
unsorted | ||
kernel.status |