From d4e9eff2468627e144f319dcda3ba27d66bb414b Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Fri, 28 Apr 2006 21:14:03 +0000 Subject: [PATCH] Fixed SD2-642: Region inside class method not recognised git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.0@1368 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../NRefactory/Project/Src/Lexer/CSharp/Lexer.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Libraries/NRefactory/Project/Src/Lexer/CSharp/Lexer.cs b/src/Libraries/NRefactory/Project/Src/Lexer/CSharp/Lexer.cs index ba3f1381d8..5eb7883cdc 100644 --- a/src/Libraries/NRefactory/Project/Src/Lexer/CSharp/Lexer.cs +++ b/src/Libraries/NRefactory/Project/Src/Lexer/CSharp/Lexer.cs @@ -22,6 +22,14 @@ namespace ICSharpCode.NRefactory.Parser.CSharp { } + void ReadPreProcessingDirective() + { + Point start = new Point(Col - 1, Line); + string directive = ReadIdent('#'); + string argument = ReadToEOL(); + this.specialTracker.AddPreProcessingDirective(directive, argument.Trim(), start, new Point(start.X + directive.Length + argument.Length, start.Y)); + } + protected override Token Next() { int nextChar; @@ -47,10 +55,7 @@ namespace ICSharpCode.NRefactory.Parser.CSharp } break; case '#': - Point start = new Point(Col - 1, Line); - string directive = ReadIdent('#'); - string argument = ReadToEOL(); - this.specialTracker.AddPreProcessingDirective(directive, argument.Trim(), start, new Point(start.X + directive.Length + argument.Length, start.Y)); + ReadPreProcessingDirective(); continue; case '"': token = ReadString(); @@ -817,7 +822,7 @@ namespace ICSharpCode.NRefactory.Parser.CSharp } break; case '#': - SkipToEOL(); + ReadPreProcessingDirective(); break; case '"': ReadString();