From ae20e4929a78f2b4589f2b7db57c542a47853082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Kr=C3=BCger?= Date: Thu, 11 Oct 2012 14:05:50 +0200 Subject: [PATCH] [Resolver] Fixed unexpected resolver crash. Test Case: Action foo = f => { f.FirstOrDefault(l=>); }; --- ICSharpCode.NRefactory.CSharp/Resolver/ResolveVisitor.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ICSharpCode.NRefactory.CSharp/Resolver/ResolveVisitor.cs b/ICSharpCode.NRefactory.CSharp/Resolver/ResolveVisitor.cs index eb727b4faa..1fce31a562 100644 --- a/ICSharpCode.NRefactory.CSharp/Resolver/ResolveVisitor.cs +++ b/ICSharpCode.NRefactory.CSharp/Resolver/ResolveVisitor.cs @@ -1,4 +1,4 @@ -// Copyright (c) AlphaSierraPapa for the SharpDevelop Team +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team // // Permission is hereby granted, free of charge, to any person obtaining a copy of this // software and associated documentation files (the "Software"), to deal in the Software @@ -2525,6 +2525,11 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver Log.Indent(); while (undecidedLambdas.Count > 0) { LambdaBase lambda = undecidedLambdas[0]; + // may happen caused by parse error l => + if (lambda.LambdaExpression == null) { + undecidedLambdas.Remove (lambda); + continue; + } ResolveParentForConversion(lambda.LambdaExpression); if (lambda.IsUndecided) { // Lambda wasn't merged by resolving its parent -> enforce merging