ICSharpCode.NRefactory.CSharp.Completion.CSharpCompletionEngine.HandleCatchClauseType C# (CSharp) Method

HandleCatchClauseType() private method

private HandleCatchClauseType ( ExpressionResult identifierStart ) : IEnumerable
identifierStart ExpressionResult
return IEnumerable
		IEnumerable<ICompletionData> HandleCatchClauseType(ExpressionResult identifierStart)
		{
			Func<IType, IType> typePred = delegate (IType type) {
				if (type.GetAllBaseTypes().Any(t => t.ReflectionName == "System.Exception"))
					return type;
				return null;
			};
			if (identifierStart.Node is CatchClause) {
				var wrapper = new CompletionDataWrapper(this);
				AddTypesAndNamespaces(
					wrapper,
					GetState(),
					identifierStart.Node,
					typePred,
					m => false
				);
				return wrapper.Result;
			}
			
			var resolveResult = ResolveExpression(identifierStart);
			return CreateCompletionData(
				location,
				resolveResult.Item1,
				identifierStart.Node,
				resolveResult.Item2,
				typePred
			);
		}