Skip to content

Commit

Permalink
[mcs] More tweaks to conditional tokenizer. Fixes #23319
Browse files Browse the repository at this point in the history
  • Loading branch information
marek-safar committed Sep 24, 2014
1 parent ff16585 commit 1d94d17
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 1 deletion.
7 changes: 6 additions & 1 deletion mcs/mcs/cs-tokenizer.cs
Expand Up @@ -1268,6 +1268,7 @@ int TokenizePossibleNullableType ()
int next_token;
int parens = 0;
int generics = 0;
int brackets = 0;

var nt = xtoken ();
switch (nt) {
Expand Down Expand Up @@ -1333,6 +1334,11 @@ int TokenizePossibleNullableType ()
++parens;
goto default;

case Token.OPEN_BRACKET:
case Token.OPEN_BRACKET_EXPR:
++brackets;
goto default;

case Token.CLOSE_PARENS:
--parens;
goto default;
Expand All @@ -1348,7 +1354,6 @@ int TokenizePossibleNullableType ()
int interrs = 1;
int colons = 0;
int braces = 0;
int brackets = 0;
//
// All shorcuts failed, do it hard way
//
Expand Down
5 changes: 5 additions & 0 deletions mcs/tests/gtest-409.cs
Expand Up @@ -155,6 +155,11 @@ void Test_18 (bool b, Action a)
var e = b ? () => { } : a;
}

void Test_19 (int[,] table)
{
var x = 1 > 0 ? table[5, 1] : 0;
}

static void Helper<T> (T arg)
{
}
Expand Down
3 changes: 3 additions & 0 deletions mcs/tests/ver-il-net_4_5.xml
Expand Up @@ -14469,6 +14469,9 @@
<method name="Void &lt;Test_18&gt;m__1()" attrs="145">
<size>2</size>
</method>
<method name="Void Test_19(Int32[,])" attrs="129">
<size>11</size>
</method>
</type>
</test>
<test name="gtest-410.cs">
Expand Down

0 comments on commit 1d94d17

Please sign in to comment.