Browse Source

Fixed bug in C# expression finder that caused CC to fail for "int a = 0; ((NewType)expr).MethodCall(a);".

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@425 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 21 years ago
parent
commit
34fe86a22b
  1. 8
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/ExpressionFinder.cs

8
src/AddIns/BackendBindings/CSharpBinding/Project/Src/Parser/ExpressionFinder.cs

@ -649,7 +649,7 @@ namespace CSharpBinding.Parser
} }
break; break;
default: default:
if (IsDigit()) { if (IsNumber(ch)) {
ReadDigit(ch); ReadDigit(ch);
curTokenType = Digit; curTokenType = Digit;
} else if (IsIdentifierPart(ch)) { } else if (IsIdentifierPart(ch)) {
@ -677,11 +677,13 @@ namespace CSharpBinding.Parser
break; break;
} }
} }
bool IsDigit() bool IsNumber(char ch)
{ {
if (!Char.IsDigit(ch))
return false;
int n = 0; int n = 0;
while (true) { while (true) {
char ch = Peek(n); ch = Peek(n);
if (Char.IsDigit(ch)) { if (Char.IsDigit(ch)) {
n++; n++;
continue; continue;

Loading…
Cancel
Save