[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_grammar.y,1.32,1.33 cs_in
From: |
Gopal.V <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_grammar.y,1.32,1.33 cs_invoke.tc,1.14,1.15 |
Date: |
Mon, 11 Nov 2002 15:22:44 -0500 |
Update of /cvsroot/dotgnu-pnet/pnet/cscc/csharp
In directory subversions:/tmp/cvs-serv26918/cscc/csharp
Modified Files:
cs_grammar.y cs_invoke.tc
Log Message:
vararg indexer support
Index: cs_grammar.y
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csharp/cs_grammar.y,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -r1.32 -r1.33
*** cs_grammar.y 5 Nov 2002 14:38:00 -0000 1.32
--- cs_grammar.y 11 Nov 2002 20:22:42 -0000 1.33
***************
*** 2960,2965 ****
FormalIndexParameter
! : OptAttributes Type Identifier
{
! $$ = ILNode_FormalParameter_create($1,
ILParamMod_empty, $2, $3);
}
| ARGLIST {
--- 2960,2965 ----
FormalIndexParameter
! : OptAttributes ParameterModifier Type Identifier
{
! $$ = ILNode_FormalParameter_create($1, $2, $3,
$4);
}
| ARGLIST {
Index: cs_invoke.tc
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csharp/cs_invoke.tc,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -r1.14 -r1.15
*** cs_invoke.tc 9 Nov 2002 21:24:13 -0000 1.14
--- cs_invoke.tc 11 Nov 2002 20:22:42 -0000 1.15
***************
*** 1132,1135 ****
--- 1132,1136 ----
ILMethod *method;
ILClass *classInfo;
+ ILProperty *property;
/* If we have an "explicit this" method, then we need to
***************
*** 1165,1168 ****
--- 1166,1189 ----
*paramMod = ILGenGetParamInfo
(method, signature, paramNum + firstParam,
¶mType);
+ }
+ else if((property=ILProgramItemToProperty(item))!=0)
+ {
+ /* To handle the rare case of a variable params indexer
+ * NOTE: get_ and set_ methods have the same sig , right ? */
+ if((method=ILProperty_Getter(property))!=0)
+ {
+ *paramMod = ILGenGetParamInfo(method, signature,
+
paramNum + firstParam,¶mType);
+ }
+ else if((method=ILProperty_Setter(property))!=0)
+ {
+ *paramMod = ILGenGetParamInfo(method, signature,
+
paramNum + firstParam,¶mType);
+ }
+ else /* just for that rare case */
+ {
+ *paramMod = ILGenGetParamInfo
+ (0, signature, paramNum +
firstParam, ¶mType);
+ }
}
else
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_grammar.y,1.32,1.33 cs_invoke.tc,1.14,1.15,
Gopal.V <address@hidden> <=