Browse Source

Support "Find references" and "Rename" in .xaml files.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2568 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 18 years ago
parent
commit
701223a3dc
  1. 8
      src/AddIns/BackendBindings/XamlBinding/Project/Src/XamlParser.cs
  2. 8
      src/AddIns/BackendBindings/XamlBinding/Project/Src/XamlResolver.cs
  3. 4
      src/Main/Base/Project/Src/Services/ProjectService/ParseableFileContentEnumerator.cs
  4. 2
      src/Main/Base/Project/Src/Services/RefactoringService/RefactoringService.cs

8
src/AddIns/BackendBindings/XamlBinding/Project/Src/XamlParser.cs

@ -102,9 +102,11 @@ namespace XamlBinding @@ -102,9 +102,11 @@ namespace XamlBinding
if (!string.IsNullOrEmpty(name)) {
IReturnType type = TypeFromXmlNode(cu, r);
if (!r.MoveToAttribute("Name", XamlNamespace)) {
r.MoveToAttribute("Name");
}
// Use position of Name attribute for field region
//if (!r.MoveToAttribute("Name", XamlNamespace)) {
// r.MoveToAttribute("Name");
//}
DomRegion position = new DomRegion(r.LineNumber, r.LinePosition, r.LineNumber, r.LinePosition + name.Length);
c.Fields.Add(new DefaultField(type, name, ModifierEnum.Internal, position, c));
}

8
src/AddIns/BackendBindings/XamlBinding/Project/Src/XamlResolver.cs

@ -148,6 +148,14 @@ namespace XamlBinding @@ -148,6 +148,14 @@ namespace XamlBinding
if (propertyOrEvent is IEvent) {
return new MethodResolveResult(callingClass, null, callingClass.DefaultReturnType, expression);
}
if (propertyOrEvent.Name == "Name") {
foreach (IField f in callingClass.Fields) {
if (f.Name == expression)
return new MemberResolveResult(callingClass, null, f);
}
}
IReturnType type = propertyOrEvent.ReturnType;
if (type == null) return null;
IClass c = type.GetUnderlyingClass();

4
src/Main/Base/Project/Src/Services/ProjectService/ParseableFileContentEnumerator.cs

@ -108,8 +108,10 @@ namespace ICSharpCode.SharpDevelop.Project @@ -108,8 +108,10 @@ namespace ICSharpCode.SharpDevelop.Project
ProjectItem item = nextItem;
nextItem = (++index < projectItems.Count) ? projectItems[index] : null;
if (item == null) return false;
if (item.ItemType != ItemType.Compile)
if (ParserService.GetParser(item.FileName) == null)
return MoveNext();
string fileContent;
try {
fileContent = GetFileContent(item);

2
src/Main/Base/Project/Src/Services/RefactoringService/RefactoringService.cs

@ -382,7 +382,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring @@ -382,7 +382,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring
}
}
foreach (ProjectItem item in p.Items) {
if (item.ItemType == ItemType.Compile) {
if (item is FileProjectItem) {
resultList.Add(item);
}
}

Loading…
Cancel
Save