1
0
mirror of https://github.com/twiglet/cs2j.git synced 2025-01-18 13:15:17 +01:00

Bug fixes to the c# grammar

This commit is contained in:
Kevin Glynn 2010-11-02 16:52:37 +01:00
parent c6f4268b0a
commit f9338afe1d
2 changed files with 6 additions and 5 deletions

View File

@ -221,7 +221,7 @@ primary_expression:
primary_expression_start:
predefined_type
| (identifier '<') => identifier generic_argument_list
| (identifier generic_argument_list) => identifier generic_argument_list
| identifier ('::' identifier)?
| 'this'
| 'base'
@ -968,9 +968,10 @@ interface_property_declaration [string returnType]:
((InterfaceRepTemplate)$NSContext::currentTypeRep).Properties.Add(propRep); }
;
interface_method_declaration [string returnType]:
identifier generic_argument_list?
identifier gal=generic_argument_list?
'(' fpl=formal_parameter_list? ')'
{ ((InterfaceRepTemplate)$NSContext::currentTypeRep).Methods.Add(new MethodRepTemplate($returnType, $identifier.text, ($generic_argument_list.tyargs.ToArray()), $fpl.paramlist)); }
{ MethodRepTemplate meth = new MethodRepTemplate($returnType, $identifier.text, (gal == null ? null : $gal.tyargs.ToArray()), $fpl.paramlist);
((InterfaceRepTemplate)$NSContext::currentTypeRep).Methods.Add(meth); }
type_parameter_constraints_clauses? ';' ;
interface_event_declaration:
//attributes? 'new'?

View File

@ -135,7 +135,7 @@ primary_expression:
primary_expression_start:
predefined_type
| (identifier '<') => identifier generic_argument_list
| (identifier generic_argument_list) => identifier generic_argument_list
| identifier ('::' identifier)?
| 'this'
| 'base'
@ -1142,7 +1142,7 @@ IDENTIFIER:
IdentifierStart IdentifierPart* ;
Pragma:
// ignore everything after the pragma since the escape's in strings etc. are different
'#' ('pragma' | 'region' | 'endregion' | 'line' | 'warning' | 'error') ~('\n'|'\r')* ('\r' | '\n')+
'#' TS* ('pragma' | 'region' | 'endregion' | 'line' | 'warning' | 'error') ~('\n'|'\r')* ('\r' | '\n')+
{ Skip(); } ;
PREPROCESSOR_DIRECTIVE:
| PP_CONDITIONAL;