|
|
|
|
@ -319,7 +319,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
@@ -319,7 +319,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
|
|
|
|
|
var isAsExpression = GetExpressionAt(offset); |
|
|
|
|
if (controlSpace && isAsExpression != null && isAsExpression.Node is VariableDeclarationStatement && token != "new") { |
|
|
|
|
var parent = isAsExpression.Node as VariableDeclarationStatement; |
|
|
|
|
var proposeNameList = new CompletionDataWrapper (this); |
|
|
|
|
var proposeNameList = new CompletionDataWrapper(this); |
|
|
|
|
|
|
|
|
|
foreach (var possibleName in GenerateNameProposals (parent.Type)) { |
|
|
|
|
if (possibleName.Length > 0) { |
|
|
|
|
@ -386,7 +386,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
@@ -386,7 +386,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
|
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
if (resolveResult.Item1.Type.Kind == TypeKind.Enum) { |
|
|
|
|
var wrapper = new CompletionDataWrapper (this); |
|
|
|
|
var wrapper = new CompletionDataWrapper(this); |
|
|
|
|
AddContextCompletion(wrapper, resolveResult.Item2, expressionOrVariableDeclaration.Node, expressionOrVariableDeclaration.Unit); |
|
|
|
|
AddEnumMembers(wrapper, resolveResult.Item1.Type, resolveResult.Item2); |
|
|
|
|
AutoCompleteEmptyMatch = false; |
|
|
|
|
@ -443,7 +443,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
@@ -443,7 +443,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
|
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var wrapper = new CompletionDataWrapper (this); |
|
|
|
|
var wrapper = new CompletionDataWrapper(this); |
|
|
|
|
if (currentType != null) { |
|
|
|
|
// bool includeProtected = DomType.IncludeProtected (dom, typeFromDatabase, resolver.CallingType);
|
|
|
|
|
foreach (var method in currentType.Methods) { |
|
|
|
|
@ -464,7 +464,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
@@ -464,7 +464,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
|
|
|
|
|
return null; |
|
|
|
|
case ":": |
|
|
|
|
if (currentMember == null) { |
|
|
|
|
var wrapper = new CompletionDataWrapper (this); |
|
|
|
|
var wrapper = new CompletionDataWrapper(this); |
|
|
|
|
AddTypesAndNamespaces(wrapper, GetState(), null, t => currentType != null ? !currentType.ReflectionName.Equals(t.ReflectionName) : true); |
|
|
|
|
return wrapper.Result; |
|
|
|
|
} |
|
|
|
|
@ -500,7 +500,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
@@ -500,7 +500,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
|
|
|
|
|
} |
|
|
|
|
return DefaultControlSpaceItems(); |
|
|
|
|
} |
|
|
|
|
var dataList = new CompletionDataWrapper (this); |
|
|
|
|
var dataList = new CompletionDataWrapper(this); |
|
|
|
|
AddKeywords(dataList, linqKeywords); |
|
|
|
|
return dataList.Result; |
|
|
|
|
} |
|
|
|
|
@ -508,17 +508,15 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
@@ -508,17 +508,15 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
|
|
|
|
|
return HandleEnumContext(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var contextList = new CompletionDataWrapper (this); |
|
|
|
|
var contextList = new CompletionDataWrapper(this); |
|
|
|
|
var identifierStart = GetExpressionAtCursor(); |
|
|
|
|
if (identifierStart != null) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (identifierStart.Node is TypeParameterDeclaration) { |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (identifierStart.Node is MemberReferenceExpression) { |
|
|
|
|
return HandleMemberReferenceCompletion(new ExpressionResult (((MemberReferenceExpression)identifierStart.Node).Target, identifierStart.Unit)); |
|
|
|
|
return HandleMemberReferenceCompletion(new ExpressionResult(((MemberReferenceExpression)identifierStart.Node).Target, identifierStart.Unit)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (identifierStart.Node is Identifier) { |
|
|
|
|
@ -682,7 +680,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
@@ -682,7 +680,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
|
|
|
|
|
if (evaluationExpr != null) { |
|
|
|
|
resolveResult = ResolveExpression(evaluationExpr, identifierStart.Unit); |
|
|
|
|
if (resolveResult != null && resolveResult.Item1.Type.Kind == TypeKind.Enum) { |
|
|
|
|
var wrapper = new CompletionDataWrapper (this); |
|
|
|
|
var wrapper = new CompletionDataWrapper(this); |
|
|
|
|
AddContextCompletion(wrapper, resolveResult.Item2, evaluationExpr, identifierStart.Unit); |
|
|
|
|
AddEnumMembers(wrapper, resolveResult.Item1.Type, resolveResult.Item2); |
|
|
|
|
AutoCompleteEmptyMatch = false; |
|
|
|
|
@ -1177,7 +1175,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
@@ -1177,7 +1175,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
|
|
|
|
|
if (currentType != null) { |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
var wrapper = new CompletionDataWrapper (this); |
|
|
|
|
var wrapper = new CompletionDataWrapper(this); |
|
|
|
|
AddTypesAndNamespaces(wrapper, GetState(), null, t => false); |
|
|
|
|
return wrapper.Result; |
|
|
|
|
case "case": |
|
|
|
|
@ -1260,7 +1258,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
@@ -1260,7 +1258,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
var isAsWrapper = new CompletionDataWrapper (this); |
|
|
|
|
var isAsWrapper = new CompletionDataWrapper(this); |
|
|
|
|
var def = isAsType != null ? isAsType.GetDefinition() : null; |
|
|
|
|
AddTypesAndNamespaces(isAsWrapper, GetState(), null, t => t.GetDefinition() == null || def == null || t.GetDefinition().IsDerivedFrom(def), m => false); |
|
|
|
|
return isAsWrapper.Result; |
|
|
|
|
@ -1372,7 +1370,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
@@ -1372,7 +1370,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
|
|
|
|
|
if (accessorContext != null) { |
|
|
|
|
return accessorContext; |
|
|
|
|
} |
|
|
|
|
wrapper = new CompletionDataWrapper (this); |
|
|
|
|
wrapper = new CompletionDataWrapper(this); |
|
|
|
|
state = GetState(); |
|
|
|
|
if (currentType != null) { |
|
|
|
|
AddTypesAndNamespaces(wrapper, state, null, null, m => false); |
|
|
|
|
@ -1494,16 +1492,18 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
@@ -1494,16 +1492,18 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
|
|
|
|
|
} |
|
|
|
|
return null; |
|
|
|
|
case "yield": |
|
|
|
|
var yieldDataList = new CompletionDataWrapper (this); |
|
|
|
|
var yieldDataList = new CompletionDataWrapper(this); |
|
|
|
|
DefaultCompletionString = "return"; |
|
|
|
|
yieldDataList.AddCustom("break"); |
|
|
|
|
yieldDataList.AddCustom("return"); |
|
|
|
|
return yieldDataList.Result; |
|
|
|
|
case "in": |
|
|
|
|
var inList = new CompletionDataWrapper (this); |
|
|
|
|
var node = Unit.GetNodeAt(location); |
|
|
|
|
var rr = ResolveExpression(node, Unit); |
|
|
|
|
AddContextCompletion(inList, rr != null ? rr.Item2 : GetState(), node, Unit); |
|
|
|
|
var inList = new CompletionDataWrapper(this); |
|
|
|
|
|
|
|
|
|
var expr = GetExpressionAtCursor(); |
|
|
|
|
var rr = ResolveExpression(expr); |
|
|
|
|
|
|
|
|
|
AddContextCompletion(inList, rr != null ? rr.Item2 : GetState(), expr.Node, Unit); |
|
|
|
|
return inList.Result; |
|
|
|
|
// case "where":
|
|
|
|
|
// CompletionDataList whereDataList = new CompletionDataList ();
|
|
|
|
|
|