Browse Source

Fixed SD2-597: No code completion after "new".

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@872 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
3a680c1375
  1. 18
      src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs

18
src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs

@ -118,9 +118,6 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
} }
expression = expression.TrimStart(); expression = expression.TrimStart();
if (expressionResult.Context.IsObjectCreation) {
expression = "new " + expression;
}
return expression; return expression;
} }
@ -159,6 +156,21 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
if (expr == null) { if (expr == null) {
return null; return null;
} }
if (expressionResult.Context.IsObjectCreation) {
Expression tmp = expr;
while (tmp != null) {
if (tmp is IdentifierExpression)
return ResolveInternal(expr, ExpressionContext.Type);
if (tmp is FieldReferenceExpression)
tmp = (tmp as FieldReferenceExpression).TargetObject;
else
break;
}
expr = ParseExpression("new " + expression);
if (expr == null) {
return null;
}
}
} }
if (expressionResult.Context == ExpressionContext.Attribute) { if (expressionResult.Context == ExpressionContext.Attribute) {

Loading…
Cancel
Save