示例#1
0
 internal void Scavenge(ProjectScavengeState state)
 {
     if (!state.ObfuscateResources)
     {
         Obfuscate        = false;
         ObfuscateChanged = false;
     }
 }
        internal void Scavenge(ProjectScavengeState state)
        {
            if (!state.RenameMembers)
            {
                RenameMembers                 = false;
                RenameMembersChanged          = false;
                RenamePublicTypes             = false;
                RenamePublicTypesChanged      = false;
                RenamePublicMethods           = false;
                RenamePublicMethodsChanged    = false;
                RenamePublicFields            = false;
                RenamePublicFieldsChanged     = false;
                RenamePublicProperties        = false;
                RenamePublicPropertiesChanged = false;
                RenamePublicEvents            = false;
                RenamePublicEventsChanged     = false;
            }

            if (!state.ObfuscateControlFlow)
            {
                ObfuscateControlFlow        = false;
                ObfuscateControlFlowChanged = false;
            }

            if (!state.EncryptIL)
            {
                EncryptIL        = false;
                EncryptILChanged = false;
            }

            if (!state.ObfuscateStrings)
            {
                ObfuscateStrings        = false;
                ObfuscateStringsChanged = false;
            }

            if (!state.RemoveUnusedMembers)
            {
                RemoveUnusedMembers        = false;
                RemoveUnusedMembersChanged = false;
            }

            if (!state.SealTypes)
            {
                SealTypes        = false;
                SealTypesChanged = false;
            }

            if (!state.DevirtualizeMethods)
            {
                DevirtualizeMethods        = false;
                DevirtualizeMethodsChanged = false;
            }
        }
        internal void Scavenge(ProjectScavengeState state)
        {
            if (!state.RenameMembers)
            {
                Rename        = false;
                RenameChanged = false;
                NameChanged   = false;
            }

            if (!state.RemoveUnusedMembers)
            {
                RemoveUnused        = false;
                RemoveUnusedChanged = false;
            }
        }
        internal void Scavenge(ProjectScavengeState state)
        {
            if (!state.RenameMembers)
            {
                Rename        = false;
                RenameChanged = false;
                NameChanged   = false;
            }

            if (!state.ObfuscateControlFlow)
            {
                ObfuscateControlFlow        = false;
                ObfuscateControlFlowChanged = false;
            }

            if (!state.EncryptIL)
            {
                EncryptIL        = false;
                EncryptILChanged = false;
            }

            if (!state.ObfuscateStrings)
            {
                ObfuscateStrings        = false;
                ObfuscateStringsChanged = false;
            }

            if (!state.RemoveUnusedMembers)
            {
                RemoveUnused        = false;
                RemoveUnusedChanged = false;
            }

            if (!state.DevirtualizeMethods)
            {
                Devirtualize        = false;
                DevirtualizeChanged = false;
            }
        }
        public void Scavenge()
        {
            var state = new ProjectScavengeState(this);

            if (_modules != null && _modules.Count > 0)
            {
                var modules = _modules.ToArray();
                foreach (var kvp in modules)
                {
                    var module = kvp.Value;

                    module.Scavenge(state);

                    if (module.IsEmpty)
                    {
                        _modules.Remove(kvp.Key);
                    }
                }
            }

            if (_resources != null && _resources.Count > 0)
            {
                var resources = _resources.ToArray();
                foreach (var kvp in resources)
                {
                    var resource = kvp.Value;

                    resource.Scavenge(state);

                    if (resource.IsEmpty)
                    {
                        _resources.Remove(kvp.Key);
                    }
                }
            }
        }
        internal void Scavenge(ProjectScavengeState state)
        {
            if (!state.RenameMembers)
            {
                RenameMembers                 = false;
                RenameMembersChanged          = false;
                RenamePublicTypes             = false;
                RenamePublicTypesChanged      = false;
                RenamePublicMethods           = false;
                RenamePublicMethodsChanged    = false;
                RenamePublicFields            = false;
                RenamePublicFieldsChanged     = false;
                RenamePublicProperties        = false;
                RenamePublicPropertiesChanged = false;
                RenamePublicEvents            = false;
                RenamePublicEventsChanged     = false;
            }

            if (!state.ObfuscateControlFlow)
            {
                ObfuscateControlFlow        = false;
                ObfuscateControlFlowChanged = false;
            }

            if (!state.EncryptIL)
            {
                EncryptIL        = false;
                EncryptILChanged = false;
            }

            if (!state.ObfuscateStrings)
            {
                ObfuscateStrings        = false;
                ObfuscateStringsChanged = false;
            }

            if (!state.RemoveUnusedMembers)
            {
                RemoveUnusedMembers        = false;
                RemoveUnusedMembersChanged = false;
            }

            if (!state.SealTypes)
            {
                SealTypes        = false;
                SealTypesChanged = false;
            }

            if (!state.DevirtualizeMethods)
            {
                DevirtualizeMethods        = false;
                DevirtualizeMethodsChanged = false;
            }

            if (_namespaces != null && _namespaces.Count > 0)
            {
                var namespaces = _namespaces.ToArray();
                foreach (var kvp in namespaces)
                {
                    var ns = kvp.Value;

                    ns.Scavenge(state);

                    if (ns.IsEmpty)
                    {
                        _namespaces.Remove(kvp.Key);
                    }
                }
            }

            if (_types != null && _types.Count > 0)
            {
                var types = _types.ToArray();
                foreach (var kvp in types)
                {
                    var type = kvp.Value;

                    type.Scavenge(state);

                    if (type.IsEmpty)
                    {
                        _types.Remove(kvp.Key);
                    }
                }
            }

            if (_methods != null && _methods.Count > 0)
            {
                var methods = _methods.ToArray();
                foreach (var kvp in methods)
                {
                    var method = kvp.Value;

                    method.Scavenge(state);

                    if (method.IsEmpty)
                    {
                        _methods.Remove(kvp.Key);
                    }
                }
            }

            if (_fields != null && _fields.Count > 0)
            {
                var fields = _fields.ToArray();
                foreach (var kvp in fields)
                {
                    var field = kvp.Value;

                    field.Scavenge(state);

                    if (field.IsEmpty)
                    {
                        _fields.Remove(kvp.Key);
                    }
                }
            }

            if (_properties != null && _properties.Count > 0)
            {
                var properties = _properties.ToArray();
                foreach (var kvp in properties)
                {
                    var property = kvp.Value;

                    property.Scavenge(state);

                    if (property.IsEmpty)
                    {
                        _properties.Remove(kvp.Key);
                    }
                }
            }

            if (_events != null && _events.Count > 0)
            {
                var events = _events.ToArray();
                foreach (var kvp in events)
                {
                    var e = kvp.Value;

                    e.Scavenge(state);

                    if (e.IsEmpty)
                    {
                        _events.Remove(kvp.Key);
                    }
                }
            }
        }