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:
parent
c6f4268b0a
commit
f9338afe1d
@ -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'?
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user