Browse Source

fixed NullReferenceException in VBNetExpressionFinder.FindFullExpression (Crash #1554)

pull/14/head
Siegfried Pammer 15 years ago
parent
commit
71ebb24fcd
  1. 6
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/VBNet/VBNetExpressionFinder.cs

6
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/VBNet/VBNetExpressionFinder.cs

@ -208,7 +208,7 @@ namespace ICSharpCode.SharpDevelop.Dom.VBNet
lexer = ParserFactory.CreateLexer(SupportedLanguage.VBNet, new StringReader(text)); lexer = ParserFactory.CreateLexer(SupportedLanguage.VBNet, new StringReader(text));
Token t; Token t;
Block block = null; Block block = Block.Default;
var expressionDelimiters = new[] { Tokens.EOL, Tokens.Colon, Tokens.Dot, Tokens.TripleDot, Tokens.DotAt }; var expressionDelimiters = new[] { Tokens.EOL, Tokens.Colon, Tokens.Dot, Tokens.TripleDot, Tokens.DotAt };
@ -216,9 +216,9 @@ namespace ICSharpCode.SharpDevelop.Dom.VBNet
t = lexer.NextToken(); t = lexer.NextToken();
p.InformToken(t); p.InformToken(t);
if (block == null && t.EndLocation > targetPosition) if (block == Block.Default && t.EndLocation > targetPosition)
block = p.CurrentBlock; block = p.CurrentBlock;
if (block != null && (block.isClosed || expressionDelimiters.Contains(t.Kind) && block == p.CurrentBlock)) if (block != Block.Default && (block.isClosed || expressionDelimiters.Contains(t.Kind) && block == p.CurrentBlock))
break; break;
if (t.Kind == Tokens.EOF) if (t.Kind == Tokens.EOF)
break; break;

Loading…
Cancel
Save