diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlResolver.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlResolver.cs index a4e06f6bec..dc5244a52a 100644 --- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlResolver.cs +++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlResolver.cs @@ -3,19 +3,10 @@ using System; using System.Collections.Generic; -using System.ComponentModel; using System.Linq; -using System.Runtime.Remoting.Lifetime; -using System.Threading; using ICSharpCode.NRefactory; -using ICSharpCode.NRefactory.CSharp.Resolver; -using ICSharpCode.NRefactory.Editor; using ICSharpCode.NRefactory.Semantics; using ICSharpCode.NRefactory.TypeSystem; -using ICSharpCode.NRefactory.TypeSystem.Implementation; -using ICSharpCode.NRefactory.Xml; -using ICSharpCode.SharpDevelop.Parser; -using ICSharpCode.XmlEditor; namespace ICSharpCode.XamlBinding { @@ -37,12 +28,7 @@ namespace ICSharpCode.XamlBinding { string prefix, memberName; string name = ParseName(expression, out prefix, out memberName); - string namespaceUrl; - - if (prefix == "") - namespaceUrl = context.ActiveElement.Namespace; - else - namespaceUrl = context.ActiveElement.ResolvePrefix(prefix); + string namespaceUrl = context.ActiveElement.LookupNamespace(prefix); if (string.IsNullOrEmpty(memberName)) { IType type = ResolveType(namespaceUrl, context.ActiveElement.LocalName); IMember member = type.GetMembers(m => m.Name == name).FirstOrDefault(); diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlUnresolvedFile.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlUnresolvedFile.cs index efc98ac504..2f4ddbcf4f 100644 --- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlUnresolvedFile.cs +++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlUnresolvedFile.cs @@ -111,14 +111,17 @@ namespace ICSharpCode.XamlBinding public static ITypeReference CreateTypeReference(string @namespace, string localName) { - if (@namespace.StartsWith("clr-namespace:", StringComparison.OrdinalIgnoreCase)) { + if (@namespace == null) + return new UnknownType(null, localName); + if (@namespace.StartsWith("clr-namespace:", StringComparison.OrdinalIgnoreCase)) return CreateClrNamespaceTypeReference(@namespace.Substring("clr-namespace:".Length), localName); - } return new XamlTypeReference(@namespace, localName); } public static ITypeReference CreateClrNamespaceTypeReference(string @namespace, string localName) { + if (@namespace == null) + return new UnknownType(null, localName); int assemblyNameIndex = @namespace.IndexOf(";assembly=", StringComparison.OrdinalIgnoreCase); IAssemblyReference asm = DefaultAssemblyReference.CurrentAssembly; if (assemblyNameIndex > -1) { diff --git a/src/Main/Base/Project/Dom/ClassBrowser/WorkspaceTreeNode.cs b/src/Main/Base/Project/Dom/ClassBrowser/WorkspaceTreeNode.cs index 6a2187b380..d49dd6e8fd 100644 --- a/src/Main/Base/Project/Dom/ClassBrowser/WorkspaceTreeNode.cs +++ b/src/Main/Base/Project/Dom/ClassBrowser/WorkspaceTreeNode.cs @@ -4,10 +4,10 @@ using System; using System.Collections.Generic; using System.Windows.Media; -using ICSharpCode.Core.Presentation; using ICSharpCode.NRefactory.TypeSystem; using ICSharpCode.NRefactory.Utils; using ICSharpCode.TreeView; +using ICSharpCode.SharpDevelop.Project; namespace ICSharpCode.SharpDevelop.Dom.ClassBrowser { diff --git a/src/Main/SharpDevelop/Dom/ClassBrowser/ClassBrowserTreeNodesFactory.cs b/src/Main/SharpDevelop/Dom/ClassBrowser/ClassBrowserTreeNodesFactory.cs deleted file mode 100644 index 1d6a7885e4..0000000000 --- a/src/Main/SharpDevelop/Dom/ClassBrowser/ClassBrowserTreeNodesFactory.cs +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) -// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) - -using System; -using System.Collections.Generic; -using System.Windows.Media; -using ICSharpCode.NRefactory.Utils; -using ICSharpCode.TreeView; -using ICSharpCode.SharpDevelop.Project; - -namespace ICSharpCode.SharpDevelop.Dom.ClassBrowser -{ - public class ClassBrowserTreeNodesFactory : ITreeNodeFactory - { - public Type GetSupportedType(object model) - { - if (model is ISolution) - return typeof(ISolution); - if (model is IProject) - return typeof(IProject); - if (model is INamespaceModel) - return typeof(INamespaceModel); - if (model is ITypeDefinitionModel) - return typeof(ITypeDefinitionModel); - if (model is IMemberModel) - return typeof(IMemberModel); - return null; - } - - public SharpTreeNode CreateTreeNode(object model) - { - if (model is ISolution) - return new SolutionTreeNode((ISolution)model); - if (model is IProject) - return new ProjectTreeNode((IProject)model); - if (model is INamespaceModel) - return new NamespaceTreeNode((INamespaceModel)model); - if (model is ITypeDefinitionModel) - return new TypeDefinitionTreeNode((ITypeDefinitionModel)model); - if (model is IMemberModel) - return new MemberTreeNode((IMemberModel)model); - return null; - } - } -} - - diff --git a/src/Main/SharpDevelop/SharpDevelop.csproj b/src/Main/SharpDevelop/SharpDevelop.csproj index cf42266e1d..396f415c43 100644 --- a/src/Main/SharpDevelop/SharpDevelop.csproj +++ b/src/Main/SharpDevelop/SharpDevelop.csproj @@ -107,7 +107,7 @@ Project\Build\MSBuildEngine\ExtendedBinaryReader.cs - +