private void DoAdd(TypeReference type) { if (type != m_type) { GenericInstanceType generic = type as GenericInstanceType; if (generic != null) { DoAdd(generic.GetOriginalType()); for (int i = 0; i < generic.GenericArguments.Count; ++i) { DoAdd(generic.GenericArguments[i]); } } else { string name = type.FullName; if (!type.IsCompilerGenerated() && m_types.IndexOf(name) < 0) { Log.DebugLine(this, " {0}", name); m_types.Add(name); } } } }