{
return Create (null, row, column);
}
+
+ public static LocatedToken Create (string value, Location loc)
+ {
+ return Create (value, loc.Row, loc.Column);
+ }
public static LocatedToken Create (string value, int row, int column)
{
}
}
- enum PreprocessorDirective
+ public enum PreprocessorDirective
{
Invalid = 0,
public bool parsing_modifiers;
- public bool async_block;
-
//
// The special characters to inject on streams to run the unit parser
// in the special expression mode. Using private characters from
escaped_identifiers.Add (loc);
}
- public bool IsEscapedIdentifier (MemberName name)
+ public bool IsEscapedIdentifier (ATypeNameExpression name)
{
return escaped_identifiers != null && escaped_identifiers.Contains (name.Location);
}
else
tab_size = 8;
- //
- // FIXME: This could be `Location.Push' but we have to
- // find out why the MS compiler allows this
- //
Mono.CSharp.Location.Push (file, file);
}
break;
case Token.AWAIT:
- if (!async_block)
+ if (parsing_block == 0)
res = -1;
break;
if (id_builder [0] >= '_' && !quoted) {
int keyword = GetKeyword (id_builder, pos);
if (keyword != -1) {
- val = LocatedToken.Create (null, ref_line, column);
+ val = LocatedToken.Create (keyword == Token.AWAIT ? "await" : null, ref_line, column);
return keyword;
}
}