Browse Source

[Parser] Hacked work around for parser error.

newNRvisualizers
Mike Krüger 14 years ago
parent
commit
34932efc78
  1. 24
      ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-tokenizer.cs
  2. 1
      ICSharpCode.NRefactory.Tests/CSharp/Parser/Expression/PrimitiveExpressionTests.cs

24
ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-tokenizer.cs

@ -1789,7 +1789,7 @@ namespace Mono.CSharp @@ -1789,7 +1789,7 @@ namespace Mono.CSharp
if (peek_char () == '\n') {
putback_char = -1;
}
x = '\n';
advance_line ();
} else if (x == '\n') {
@ -1800,6 +1800,26 @@ namespace Mono.CSharp @@ -1800,6 +1800,26 @@ namespace Mono.CSharp
return x;
}
int get_char_withwithoutskippingwindowseol ()
{
int x;
if (putback_char != -1) {
x = putback_char;
putback_char = -1;
} else {
x = reader.Read ();
}
if (x == '\r') {
} else if (x == '\n') {
advance_line ();
} else {
col++;
}
return x;
}
void advance_line ()
{
line++;
@ -2887,7 +2907,7 @@ namespace Mono.CSharp @@ -2887,7 +2907,7 @@ namespace Mono.CSharp
#endif
while (true){
c = get_char ();
c = get_char_withwithoutskippingwindowseol ();
if (c == '"') {
if (quoted && peek_char () == '"') {
if (pos == value_builder.Length)

1
ICSharpCode.NRefactory.Tests/CSharp/Parser/Expression/PrimitiveExpressionTests.cs

@ -245,7 +245,6 @@ namespace ICSharpCode.NRefactory.CSharp.Parser.Expression @@ -245,7 +245,6 @@ namespace ICSharpCode.NRefactory.CSharp.Parser.Expression
}
[Test]
[Ignore("Mono parser crash")]
public void LargeVerbatimString()
{
StringBuilder b = new StringBuilder();

Loading…
Cancel
Save