Browse Source

Fixed forum-14696: Code completion exception for Boo

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.1@2304 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 19 years ago
parent
commit
12e0510669
  1. 2
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ConvertVisitor.cs
  2. 16
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ResolveVisitor.cs

2
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ConvertVisitor.cs

@ -244,6 +244,8 @@ namespace Grunwald.BooBinding.CodeCompletion @@ -244,6 +244,8 @@ namespace Grunwald.BooBinding.CodeCompletion
rt = new BooResolver.DuckClass(new DefaultCompilationUnit(projectContent)).DefaultReturnType;
else if (BooAmbience.ReverseTypeConversionTable.ContainsKey(name))
rt = new GetClassReturnType(projectContent, BooAmbience.ReverseTypeConversionTable[name], typeParameterCount);
else if (callingClass == null)
rt = new GetClassReturnType(projectContent, name, typeParameterCount);
else
rt = new SearchClassReturnType(projectContent, callingClass, caretLine, caretColumn,
name, typeParameterCount);

16
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ResolveVisitor.cs

@ -73,12 +73,18 @@ namespace Grunwald.BooBinding.CodeCompletion @@ -73,12 +73,18 @@ namespace Grunwald.BooBinding.CodeCompletion
void MakeTypeResult(IClass c)
{
resolveResult = new TypeResolveResult(callingClass, resolver.CallingMember, c);
if (c != null)
resolveResult = new TypeResolveResult(callingClass, resolver.CallingMember, c);
else
ClearResult();
}
void MakeTypeResult(IReturnType rt)
{
resolveResult = new TypeResolveResult(callingClass, resolver.CallingMember, rt);
if (rt != null)
resolveResult = new TypeResolveResult(callingClass, resolver.CallingMember, rt);
else
ClearResult();
}
void MakeMethodResult(IReturnType type, string methodName)
@ -262,7 +268,11 @@ namespace Grunwald.BooBinding.CodeCompletion @@ -262,7 +268,11 @@ namespace Grunwald.BooBinding.CodeCompletion
}
IReturnType rt = projectContent.SearchType(new SearchTypeRequest(name.ToString(), typeArguments.Count, callingClass,
cu, resolver.CaretLine, resolver.CaretColumn)).Result;
return new ConstructedReturnType(rt, typeArguments);
if (rt != null) {
return new ConstructedReturnType(rt, typeArguments);
} else {
return null;
}
}
#endregion

Loading…
Cancel
Save