diff --git a/src/Libraries/NRefactory/NRefactory.sln b/src/Libraries/NRefactory/NRefactory.sln
index dea9866794..35575343b3 100644
--- a/src/Libraries/NRefactory/NRefactory.sln
+++ b/src/Libraries/NRefactory/NRefactory.sln
@@ -1,5 +1,5 @@
Microsoft Visual Studio Solution File, Format Version 9.00
-# SharpDevelop 2.0.0.277
+# SharpDevelop 2.0.0.9999
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}"
diff --git a/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs b/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs
index 8afecad111..ff93b90569 100644
--- a/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs
+++ b/src/Libraries/NRefactory/Project/Src/Lexer/VBNet/Lexer.cs
@@ -228,7 +228,7 @@ namespace ICSharpCode.NRefactory.Parser.VB
return sb.ToString();
}
- if (peek != -1 && "%&@!#$".IndexOf((char)peek) != -1) {
+ if ("%&@!#$".IndexOf((char)peek) != -1) {
ReaderRead();
}
return sb.ToString();
diff --git a/src/Libraries/NRefactory/Test/Lexer/CSharp/LexerPositionTests.cs b/src/Libraries/NRefactory/Test/Lexer/CSharp/LexerPositionTests.cs
index f555948686..818eb7c444 100644
--- a/src/Libraries/NRefactory/Test/Lexer/CSharp/LexerPositionTests.cs
+++ b/src/Libraries/NRefactory/Test/Lexer/CSharp/LexerPositionTests.cs
@@ -78,6 +78,7 @@ namespace ICSharpCode.NRefactory.Tests.Lexer.CSharp
t = l.NextToken();
Assert.AreEqual(new Point(9, 1), t.Location);
}
+ [Test]
public void TestFloationPointNumber()
{
ILexer l = GenerateLexer("0.142 public");
@@ -86,22 +87,24 @@ namespace ICSharpCode.NRefactory.Tests.Lexer.CSharp
t = l.NextToken();
Assert.AreEqual(new Point(7, 1), t.Location);
}
- public void TestVerbatimString()
- {
- ILexer l = GenerateLexer("@\"a\"\"a\" public");
- Token t = l.NextToken();
- Assert.AreEqual(new Point(1, 1), t.Location);
- t = l.NextToken();
- Assert.AreEqual(new Point(9, 1), t.Location);
- }
- public void TestNoFloationPointNumber()
- {
- ILexer l = GenerateLexer("0.a");
- Token t = l.NextToken();
- Assert.AreEqual(new Point(1, 1), t.Location);
- t = l.NextToken();
- Assert.AreEqual(new Point(3, 1), t.Location);
- }
+// [Test]
+// public void TestVerbatimString()
+// {
+// ILexer l = GenerateLexer("@\"a\"\"a\" public");
+// Token t = l.NextToken();
+// Assert.AreEqual(new Point(1, 1), t.Location);
+// t = l.NextToken();
+// Assert.AreEqual(new Point(9, 1), t.Location);
+// }
+// [Test]
+// public void TestNoFloationPointNumber()
+// {
+// ILexer l = GenerateLexer("0.a");
+// Token t = l.NextToken();
+// Assert.AreEqual(new Point(1, 1), t.Location);
+// t = l.NextToken();
+// Assert.AreEqual(new Point(3, 1), t.Location);
+// }
[Test]
public void TestNumber()
{
diff --git a/src/Libraries/NRefactory/Test/Lexer/VBNet/LexerPositionTests.cs b/src/Libraries/NRefactory/Test/Lexer/VBNet/LexerPositionTests.cs
new file mode 100644
index 0000000000..e0b69166d5
--- /dev/null
+++ b/src/Libraries/NRefactory/Test/Lexer/VBNet/LexerPositionTests.cs
@@ -0,0 +1,125 @@
+//
+// 2002-2005 AlphaSierraPapa
+// GNU General Public License
+//
+// $Revision: 230 $
+//
+
+using System;
+using System.Drawing;
+using System.IO;
+using NUnit.Framework;
+using ICSharpCode.NRefactory.Parser;
+using ICSharpCode.NRefactory.Parser.CSharp;
+using ICSharpCode.NRefactory.PrettyPrinter;
+
+namespace ICSharpCode.NRefactory.Tests.Lexer.VB
+{
+ [TestFixture]
+ public class LexerPositionTests
+ {
+ ILexer GenerateLexer(string s)
+ {
+ return ParserFactory.CreateLexer(SupportedLanguages.VBNet, new StringReader(s));
+ }
+
+ [Test]
+ public void Test1()
+ {
+ ILexer l = GenerateLexer("public");
+ Token t = l.NextToken();
+ Assert.AreEqual(new Point(1, 1), t.Location);
+ }
+ [Test]
+ public void Test2()
+ {
+ ILexer l = GenerateLexer("public static");
+ Token t = l.NextToken();
+ t = l.NextToken();
+ Assert.AreEqual(new Point(8, 1), t.Location);
+ }
+// [Test]
+// public void TestReturn()
+// {
+// ILexer l = GenerateLexer("public\nstatic");
+// Token t = l.NextToken();
+// t = l.NextToken();
+// Assert.AreEqual(new Point(1, 2), t.Location);
+// }
+ [Test]
+ public void TestSpace()
+ {
+ ILexer l = GenerateLexer(" public");
+ Token t = l.NextToken();
+ Assert.AreEqual(new Point(3, 1), t.Location);
+ }
+// [Test]
+// public void TestOctNumber()
+// {
+// ILexer l = GenerateLexer("0142");
+// Token t = l.NextToken();
+// Assert.AreEqual(new Point(1, 1), t.Location);
+// }
+// [Test]
+// public void TestHexNumber()
+// {
+// ILexer l = GenerateLexer("0x142 public");
+// Token t = l.NextToken();
+// Assert.AreEqual(new Point(1, 1), t.Location);
+// t = l.NextToken();
+// Assert.AreEqual(new Point(7, 1), t.Location);
+// }
+// [Test]
+// public void TestHexNumberChar()
+// {
+// ILexer l = GenerateLexer("\'\\x224\' public");
+// Token t = l.NextToken();
+// Assert.AreEqual(new Point(1, 1), t.Location);
+// t = l.NextToken();
+// Assert.AreEqual(new Point(9, 1), t.Location);
+// }
+// [Test]
+// public void TestFloationPointNumber()
+// {
+// ILexer l = GenerateLexer("0.142 public");
+// Token t = l.NextToken();
+// Assert.AreEqual(new Point(1, 1), t.Location);
+// t = l.NextToken();
+// Assert.AreEqual(new Point(7, 1), t.Location);
+// }
+// [Test]
+// public void TestVerbatimString()
+// {
+// ILexer l = GenerateLexer("@\"a\"\"a\" public");
+// Token t = l.NextToken();
+// Assert.AreEqual(new Point(1, 1), t.Location);
+// t = l.NextToken();
+// Assert.AreEqual(new Point(9, 1), t.Location);
+// }
+// [Test]
+// public void TestNoFloationPointNumber()
+// {
+// ILexer l = GenerateLexer("0.a");
+// Token t = l.NextToken();
+// Assert.AreEqual(new Point(1, 1), t.Location);
+// t = l.NextToken();
+// Assert.AreEqual(new Point(3, 1), t.Location);
+// }
+// [Test]
+// public void TestNumber()
+// {
+// ILexer l = GenerateLexer("142\nstatic");
+// Token t = l.NextToken();
+// t = l.NextToken();
+// Assert.AreEqual(new Point(1, 2), t.Location);
+// }
+ [Test]
+ public void TestNumber2()
+ {
+ ILexer l = GenerateLexer("14 static");
+ Token t = l.NextToken();
+ t = l.NextToken();
+ Assert.AreEqual(new Point(4, 1), t.Location);
+ }
+ }
+}
diff --git a/src/Libraries/NRefactory/Test/NRefactoryTests.csproj b/src/Libraries/NRefactory/Test/NRefactoryTests.csproj
index d408f1890e..fa733135db 100644
--- a/src/Libraries/NRefactory/Test/NRefactoryTests.csproj
+++ b/src/Libraries/NRefactory/Test/NRefactoryTests.csproj
@@ -133,6 +133,7 @@
+