From 82896a018fa5bb9eea0feba8e5cfe39a237fb778 Mon Sep 17 00:00:00 2001 From: de4dot Date: Wed, 16 Apr 2014 19:15:11 +0200 Subject: [PATCH] Prevent merge if it's 'this' --- de4dot.code/renamer/ExistingNames.cs | 2 ++ de4dot.code/renamer/TypeNames.cs | 2 ++ de4dot.code/renamer/VariableNameState.cs | 2 ++ 3 files changed, 6 insertions(+) diff --git a/de4dot.code/renamer/ExistingNames.cs b/de4dot.code/renamer/ExistingNames.cs index 5f4e1287..a0716f7d 100644 --- a/de4dot.code/renamer/ExistingNames.cs +++ b/de4dot.code/renamer/ExistingNames.cs @@ -62,6 +62,8 @@ namespace de4dot.code.renamer { } public void Merge(ExistingNames other) { + if (this == other) + return; foreach (var key in other.allNames.Keys) allNames[key] = true; } diff --git a/de4dot.code/renamer/TypeNames.cs b/de4dot.code/renamer/TypeNames.cs index c664ef06..0a9adc28 100644 --- a/de4dot.code/renamer/TypeNames.cs +++ b/de4dot.code/renamer/TypeNames.cs @@ -113,6 +113,8 @@ namespace de4dot.code.renamer { protected abstract string FixName(string prefix, string name); public virtual TypeNames Merge(TypeNames other) { + if (this == other) + return this; foreach (var pair in other.typeNames) { NameCreator nc; if (typeNames.TryGetValue(pair.Key, out nc)) diff --git a/de4dot.code/renamer/VariableNameState.cs b/de4dot.code/renamer/VariableNameState.cs index 4e2ea22d..029c433d 100644 --- a/de4dot.code/renamer/VariableNameState.cs +++ b/de4dot.code/renamer/VariableNameState.cs @@ -61,6 +61,8 @@ namespace de4dot.code.renamer { } public VariableNameState Merge(VariableNameState other) { + if (this == other) + return this; existingVariableNames.Merge(other.existingVariableNames); existingMethodNames.Merge(other.existingMethodNames); existingPropertyNames.Merge(other.existingPropertyNames);