public GenerateNamespaceImport GetResult (ProjectDom dom, ICompilationUnit unit, IType type, TextEditorData data) { GenerateNamespaceImport result; if (cache.TryGetValue (type.Namespace, out result)) return result; result = new GenerateNamespaceImport (); cache[type.Namespace] = result; result.InsertNamespace = false; DomLocation location = new DomLocation (data.Caret.Line, data.Caret.Column); foreach (IUsing u in unit.Usings.Where (u => u.ValidRegion.Contains (location))) { if (u.Namespaces.Any (ns => type.Namespace == ns)) { result.GenerateUsing = false; return result; } } result.GenerateUsing = true; string name = type.DecoratedFullName.Substring (type.Namespace.Length + 1); foreach (IUsing u in unit.Usings.Where (u => u.ValidRegion.Contains (location))) { foreach (string ns in u.Namespaces) { if (dom.SearchType (unit, unit.GetTypeAt (location), unit.GetMemberAt (location), ns + "." + name) != null) { result.GenerateUsing = false; result.InsertNamespace = true; return result; } } } return result; }
public GenerateNamespaceImport GetResult (IUnresolvedFile unit, IType type, MonoDevelop.Ide.Gui.Document doc) { GenerateNamespaceImport result; if (cache.TryGetValue (type.Namespace, out result)) return result; result = new GenerateNamespaceImport (); cache[type.Namespace] = result; TextEditorData data = doc.Editor; result.InsertNamespace = false; var loc = new TextLocation (data.Caret.Line, data.Caret.Column); foreach (var ns in RefactoringOptions.GetUsedNamespaces (doc, loc)) { if (type.Namespace == ns) { result.GenerateUsing = false; return result; } } result.GenerateUsing = true; string name = type.Name; foreach (string ns in RefactoringOptions.GetUsedNamespaces (doc, loc)) { if (doc.Compilation.MainAssembly.GetTypeDefinition (ns, name, type.TypeParameterCount) != null) { result.GenerateUsing = false; result.InsertNamespace = true; return result; } } return result; }
public GenerateNamespaceImport GetResult(ProjectDom dom, ICompilationUnit unit, IType type, TextEditorData data) { GenerateNamespaceImport result; if (cache.TryGetValue(type.Namespace, out result)) { return(result); } result = new GenerateNamespaceImport(); cache[type.Namespace] = result; result.InsertNamespace = false; DomLocation location = new DomLocation(data.Caret.Line, data.Caret.Column); foreach (IUsing u in unit.Usings.Where(u => u.ValidRegion.Contains(location))) { if (u.Namespaces.Any(ns => type.Namespace == ns)) { result.GenerateUsing = false; return(result); } } result.GenerateUsing = true; string name = type.DecoratedFullName.Substring(type.Namespace.Length + 1); foreach (IUsing u in unit.Usings.Where(u => u.ValidRegion.Contains(location))) { foreach (string ns in u.Namespaces) { if (dom.SearchType(unit, unit.GetTypeAt(location), location, ns + "." + name) != null) { result.GenerateUsing = false; result.InsertNamespace = true; return(result); } } } return(result); }
public GenerateNamespaceImport GetResult(IUnresolvedFile unit, IType type, MonoDevelop.Ide.Gui.Document doc) { GenerateNamespaceImport result; if (cache.TryGetValue(type.Namespace, out result)) { return(result); } result = new GenerateNamespaceImport(); cache[type.Namespace] = result; TextEditorData data = doc.Editor; result.InsertNamespace = false; var loc = new TextLocation(data.Caret.Line, data.Caret.Column); foreach (var ns in RefactoringOptions.GetUsedNamespaces(doc, loc)) { if (type.Namespace == ns) { result.GenerateUsing = false; return(result); } } result.GenerateUsing = true; string name = type.Name; foreach (string ns in RefactoringOptions.GetUsedNamespaces(doc, loc)) { if (doc.Compilation.MainAssembly.GetTypeDefinition(ns, name, type.TypeParameterCount) != null) { result.GenerateUsing = false; result.InsertNamespace = true; return(result); } } return(result); }