[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_oper.tc,1.27,1.28 cs_decl
From: |
Gopal.V <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_oper.tc,1.27,1.28 cs_decls.tc,1.24,1.25 |
Date: |
Sat, 16 Nov 2002 03:11:44 -0500 |
Update of /cvsroot/dotgnu-pnet/pnet/cscc/csharp
In directory subversions:/tmp/cvs-serv11800/cscc/csharp
Modified Files:
cs_oper.tc cs_decls.tc
Log Message:
do the remaining changes as well
Index: cs_oper.tc
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csharp/cs_oper.tc,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -r1.27 -r1.28
*** cs_oper.tc 16 Nov 2002 01:02:30 -0000 1.27
--- cs_oper.tc 16 Nov 2002 08:11:42 -0000 1.28
***************
*** 91,95 ****
&(node->expr1),
CSSemGetType(*value1),
! argType1);
/* CSSemSetRValue(*value1, argType1); *//* not needed */
}
--- 91,95 ----
&(node->expr1),
CSSemGetType(*value1),
! argType1,1);
/* CSSemSetRValue(*value1, argType1); *//* not needed */
}
***************
*** 99,103 ****
&(node->expr2),
CSSemGetType(*value2),
! argType2);
CSSemSetRValue(*value2, argType2);
}
--- 99,103 ----
&(node->expr2),
CSSemGetType(*value2),
! argType2,1);
CSSemSetRValue(*value2, argType2);
}
***************
*** 173,188 ****
/* try constant coercion before operator lookup */
if(canCoerce &&
ILCanCoerceNodeKind(info,node->expr1,CSSemGetType(value1),
! CSSemGetType(value2),IL_CONVERT_CONSTANT))
{
ILCoerceKind(info,node->expr1,&(node->expr1),CSSemGetType(value1),
! CSSemGetType(value2),IL_CONVERT_CONSTANT);
CSSemSetRValue(value1,CSSemGetType(value2));
}
else if(canCoerce &&
ILCanCoerceNodeKind(info,node->expr2,CSSemGetType(value2),
! CSSemGetType(value1),IL_CONVERT_CONSTANT))
{
ILCoerceKind(info,node->expr2,&(node->expr2),CSSemGetType(value2),
! CSSemGetType(value1),IL_CONVERT_CONSTANT);
CSSemSetRValue(value2,CSSemGetType(value1));
}
--- 173,188 ----
/* try constant coercion before operator lookup */
if(canCoerce &&
ILCanCoerceNodeKind(info,node->expr1,CSSemGetType(value1),
! CSSemGetType(value2),IL_CONVERT_CONSTANT,1))
{
ILCoerceKind(info,node->expr1,&(node->expr1),CSSemGetType(value1),
! CSSemGetType(value2),IL_CONVERT_CONSTANT,1);
CSSemSetRValue(value1,CSSemGetType(value2));
}
else if(canCoerce &&
ILCanCoerceNodeKind(info,node->expr2,CSSemGetType(value2),
! CSSemGetType(value1),IL_CONVERT_CONSTANT,1))
{
ILCoerceKind(info,node->expr2,&(node->expr2),CSSemGetType(value2),
! CSSemGetType(value1),IL_CONVERT_CONSTANT,1);
CSSemSetRValue(value2,CSSemGetType(value1));
}
***************
*** 226,240 ****
/* As a last resort try coercion */
if(ILCanCoerceNode(info, node->expr1, CSSemGetType(value1),
! CSSemGetType(value2)))
{
ILCoerce(info, node->expr1, &(node->expr1),
CSSemGetType(value1),
! CSSemGetType(value2));
CSSemSetRValue(value1, CSSemGetType(value2));
}
else if(ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! CSSemGetType(value1)))
{
ILCoerce(info, node->expr2, &(node->expr2),
CSSemGetType(value2),
! CSSemGetType(value1));
CSSemSetRValue(value2, CSSemGetType(value1));
}
--- 226,240 ----
/* As a last resort try coercion */
if(ILCanCoerceNode(info, node->expr1, CSSemGetType(value1),
! CSSemGetType(value2),1))
{
ILCoerce(info, node->expr1, &(node->expr1),
CSSemGetType(value1),
! CSSemGetType(value2),1);
CSSemSetRValue(value1, CSSemGetType(value2));
}
else if(ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! CSSemGetType(value1),1))
{
ILCoerce(info, node->expr2, &(node->expr2),
CSSemGetType(value2),
! CSSemGetType(value1),1);
CSSemSetRValue(value2, CSSemGetType(value1));
}
***************
*** 378,392 ****
/* try constant coercion first */
if(ILCanCoerceNodeKind(info,node->expr1,CSSemGetType(value1),
! CSSemGetType(value2),IL_CONVERT_CONSTANT))
{
ILCoerceKind(info,node->expr1,&(node->expr1),CSSemGetType(value1),
! CSSemGetType(value2),IL_CONVERT_CONSTANT);
CSSemSetRValue(value1,CSSemGetType(value2));
}
else if(ILCanCoerceNodeKind(info,node->expr2,CSSemGetType(value2),
! CSSemGetType(value1),IL_CONVERT_CONSTANT))
{
ILCoerceKind(info,node->expr2,&(node->expr2),CSSemGetType(value2),
! CSSemGetType(value1),IL_CONVERT_CONSTANT);
CSSemSetRValue(value2,CSSemGetType(value1));
}
--- 378,392 ----
/* try constant coercion first */
if(ILCanCoerceNodeKind(info,node->expr1,CSSemGetType(value1),
! CSSemGetType(value2),IL_CONVERT_CONSTANT,1))
{
ILCoerceKind(info,node->expr1,&(node->expr1),CSSemGetType(value1),
! CSSemGetType(value2),IL_CONVERT_CONSTANT,1);
CSSemSetRValue(value1,CSSemGetType(value2));
}
else if(ILCanCoerceNodeKind(info,node->expr2,CSSemGetType(value2),
! CSSemGetType(value1),IL_CONVERT_CONSTANT,1))
{
ILCoerceKind(info,node->expr2,&(node->expr2),CSSemGetType(value2),
! CSSemGetType(value1),IL_CONVERT_CONSTANT,1);
CSSemSetRValue(value2,CSSemGetType(value1));
}
***************
*** 432,436 ****
/* Convert the first argument into "ObjectRef" */
ILCast(info, node->expr1, &(node->expr1),
CSSemGetType(value1),
! ILFindSystemType(info, "Object"));
}
if(!ILTypeIsStringClass(CSSemGetType(value2)))
--- 432,436 ----
/* Convert the first argument into "ObjectRef" */
ILCast(info, node->expr1, &(node->expr1),
CSSemGetType(value1),
! ILFindSystemType(info, "Object"),1);
}
if(!ILTypeIsStringClass(CSSemGetType(value2)))
***************
*** 438,442 ****
/* Convert the second argument into "ObjectRef" */
ILCast(info, node->expr2, &(node->expr2),
CSSemGetType(value2),
! ILFindSystemType(info, "Object"));
}
*parent = ILNode_Concat_create(node->expr1, node->expr2);
--- 438,442 ----
/* Convert the second argument into "ObjectRef" */
ILCast(info, node->expr2, &(node->expr2),
CSSemGetType(value2),
! ILFindSystemType(info, "Object"),1);
}
*parent = ILNode_Concat_create(node->expr1, node->expr2);
***************
*** 463,477 ****
/* As a last measure , try coercing the nodes */
if(ILCanCoerceNode(info, node->expr1, CSSemGetType(value1),
! CSSemGetType(value2)))
{
ILCoerce(info, node->expr1, &(node->expr1),
CSSemGetType(value1),
! CSSemGetType(value2));
CSSemSetRValue(value1, CSSemGetType(value2));
}
else if(ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! CSSemGetType(value1)))
{
ILCoerce(info, node->expr2, &(node->expr2),
CSSemGetType(value2),
! CSSemGetType(value1));
CSSemSetRValue(value2, CSSemGetType(value1));
}
--- 463,477 ----
/* As a last measure , try coercing the nodes */
if(ILCanCoerceNode(info, node->expr1, CSSemGetType(value1),
! CSSemGetType(value2),1))
{
ILCoerce(info, node->expr1, &(node->expr1),
CSSemGetType(value1),
! CSSemGetType(value2),1);
CSSemSetRValue(value1, CSSemGetType(value2));
}
else if(ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! CSSemGetType(value1),1))
{
ILCoerce(info, node->expr2, &(node->expr2),
CSSemGetType(value2),
! CSSemGetType(value1),1);
CSSemSetRValue(value2, CSSemGetType(value1));
}
***************
*** 528,542 ****
/* try constant coercion first */
if(ILCanCoerceNodeKind(info,node->expr1,CSSemGetType(value1),
! CSSemGetType(value2),IL_CONVERT_CONSTANT))
{
ILCoerceKind(info,node->expr1,&(node->expr1),CSSemGetType(value1),
! CSSemGetType(value2),IL_CONVERT_CONSTANT);
CSSemSetRValue(value1,CSSemGetType(value2));
}
else if(ILCanCoerceNodeKind(info,node->expr2,CSSemGetType(value2),
! CSSemGetType(value1),IL_CONVERT_CONSTANT))
{
ILCoerceKind(info,node->expr2,&(node->expr2),CSSemGetType(value2),
! CSSemGetType(value1),IL_CONVERT_CONSTANT);
CSSemSetRValue(value2,CSSemGetType(value1));
}
--- 528,542 ----
/* try constant coercion first */
if(ILCanCoerceNodeKind(info,node->expr1,CSSemGetType(value1),
! CSSemGetType(value2),IL_CONVERT_CONSTANT,1))
{
ILCoerceKind(info,node->expr1,&(node->expr1),CSSemGetType(value1),
! CSSemGetType(value2),IL_CONVERT_CONSTANT,1);
CSSemSetRValue(value1,CSSemGetType(value2));
}
else if(ILCanCoerceNodeKind(info,node->expr2,CSSemGetType(value2),
! CSSemGetType(value1),IL_CONVERT_CONSTANT,1))
{
ILCoerceKind(info,node->expr2,&(node->expr2),CSSemGetType(value2),
! CSSemGetType(value1),IL_CONVERT_CONSTANT,1);
CSSemSetRValue(value2,CSSemGetType(value1));
}
***************
*** 590,604 ****
/* As a last measure try coercing the types*/
if(ILCanCoerceNode(info, node->expr1, CSSemGetType(value1),
! CSSemGetType(value2)))
{
ILCoerce(info, node->expr1, &(node->expr1),
CSSemGetType(value1),
! CSSemGetType(value2));
CSSemSetRValue(value1, CSSemGetType(value2));
}
else if(ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! CSSemGetType(value1)))
{
ILCoerce(info, node->expr2, &(node->expr2),
CSSemGetType(value2),
! CSSemGetType(value1));
CSSemSetRValue(value2, CSSemGetType(value1));
}
--- 590,604 ----
/* As a last measure try coercing the types*/
if(ILCanCoerceNode(info, node->expr1, CSSemGetType(value1),
! CSSemGetType(value2),1))
{
ILCoerce(info, node->expr1, &(node->expr1),
CSSemGetType(value1),
! CSSemGetType(value2),1);
CSSemSetRValue(value1, CSSemGetType(value2));
}
else if(ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! CSSemGetType(value1),1))
{
ILCoerce(info, node->expr2, &(node->expr2),
CSSemGetType(value2),
! CSSemGetType(value1),1);
CSSemSetRValue(value2, CSSemGetType(value1));
}
***************
*** 776,780 ****
_("invalid array initializer
element"));
}
! else if(!ILCanCoerceNode(info, *parent, CSSemGetType(value),
type))
{
CCErrorOnLine(yygetfilename(expr), yygetlinenum(expr),
--- 776,780 ----
_("invalid array initializer
element"));
}
! else if(!ILCanCoerceNode(info, *parent, CSSemGetType(value),
type,1))
{
CCErrorOnLine(yygetfilename(expr), yygetlinenum(expr),
***************
*** 785,789 ****
else
{
! ILCoerce(info, *parent, parent, CSSemGetType(value),
type);
}
}
--- 785,789 ----
else
{
! ILCoerce(info, *parent, parent, CSSemGetType(value),
type,1);
}
}
***************
*** 844,848 ****
if(!CSSemExpectValue(node->expr2, info, &(node->expr2), &value2) ||
!ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! CSSemGetType(value1)))
{
CCErrorOnLine(yygetfilename(node), yygetlinenum(node),
--- 844,848 ----
if(!CSSemExpectValue(node->expr2, info, &(node->expr2), &value2) ||
!ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! CSSemGetType(value1),1))
{
CCErrorOnLine(yygetfilename(node), yygetlinenum(node),
***************
*** 855,859 ****
/* Insert coercion nodes to convert the rvalue appropriately */
ILCoerce(info, node->expr2, &(node->expr2),
! CSSemGetType(value2), CSSemGetType(value1));
/* Convert value1 into an rvalue and return its type */
--- 855,859 ----
/* Insert coercion nodes to convert the rvalue appropriately */
ILCoerce(info, node->expr2, &(node->expr2),
! CSSemGetType(value2), CSSemGetType(value1),1);
/* Convert value1 into an rvalue and return its type */
***************
*** 977,981 ****
/* Convert the second argument into "ObjectRef" */
ILCast(info, node->expr2, &(node->expr2),
CSSemGetType(value2),
! ILFindSystemType(info, "Object"));
}
*parent = ILNode_Concat_create(node->expr1, node->expr2);
--- 977,981 ----
/* Convert the second argument into "ObjectRef" */
ILCast(info, node->expr2, &(node->expr2),
CSSemGetType(value2),
! ILFindSystemType(info, "Object"),1);
}
*parent = ILNode_Concat_create(node->expr1, node->expr2);
***************
*** 1015,1022 ****
/* Try again, this time coercing value2's type to value1's type */
if (ILCanCoerceNode(info, node->expr2,
! CSSemGetType(value2),
CSSemGetType(value1)))
{
ILCoerce(info, node->expr2, &(node->expr2),
! CSSemGetType(value2),
CSSemGetType(value1));
CSSemSetRValue(value2, CSSemGetType(value1));
return value1;
--- 1015,1022 ----
/* Try again, this time coercing value2's type to value1's type */
if (ILCanCoerceNode(info, node->expr2,
! CSSemGetType(value2),
CSSemGetType(value1),1))
{
ILCoerce(info, node->expr2, &(node->expr2),
! CSSemGetType(value2),
CSSemGetType(value1),1);
CSSemSetRValue(value2, CSSemGetType(value1));
return value1;
***************
*** 1482,1488 ****
/* We must have boolean arguments at this point */
if(!ILCanCoerceNode(info, node->expr1, CSSemGetType(value1),
! ILType_Boolean) ||
!ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! ILType_Boolean))
{
goto error;
--- 1482,1488 ----
/* We must have boolean arguments at this point */
if(!ILCanCoerceNode(info, node->expr1, CSSemGetType(value1),
! ILType_Boolean,1) ||
!ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! ILType_Boolean,1))
{
goto error;
***************
*** 1491,1497 ****
/* Coerce the two arguments to `bool' */
ILCoerce(info, node->expr1, &(node->expr1),
! CSSemGetType(value1), ILType_Boolean);
ILCoerce(info, node->expr2, &(node->expr2),
! CSSemGetType(value2), ILType_Boolean);
/* The result is boolean */
--- 1491,1497 ----
/* Coerce the two arguments to `bool' */
ILCoerce(info, node->expr1, &(node->expr1),
! CSSemGetType(value1), ILType_Boolean,1);
ILCoerce(info, node->expr2, &(node->expr2),
! CSSemGetType(value2), ILType_Boolean,1);
/* The result is boolean */
***************
*** 1577,1583 ****
/* We must have boolean arguments at this point */
if(!ILCanCoerceNode(info, node->expr1, CSSemGetType(value1),
! ILType_Boolean) ||
!ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! ILType_Boolean))
{
goto error;
--- 1577,1583 ----
/* We must have boolean arguments at this point */
if(!ILCanCoerceNode(info, node->expr1, CSSemGetType(value1),
! ILType_Boolean,1) ||
!ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! ILType_Boolean,1))
{
goto error;
***************
*** 1586,1592 ****
/* Coerce the two arguments to `bool' */
ILCoerce(info, node->expr1, &(node->expr1),
! CSSemGetType(value1), ILType_Boolean);
ILCoerce(info, node->expr2, &(node->expr2),
! CSSemGetType(value2), ILType_Boolean);
/* The result is boolean */
--- 1586,1592 ----
/* Coerce the two arguments to `bool' */
ILCoerce(info, node->expr1, &(node->expr1),
! CSSemGetType(value1), ILType_Boolean,1);
ILCoerce(info, node->expr2, &(node->expr2),
! CSSemGetType(value2), ILType_Boolean,1);
/* The result is boolean */
***************
*** 1712,1718 ****
{
if(ILCanCoerceNode(info, node->expr1,
CSSemGetType(value1),
!
CSSemGetType(value2)) ||
ILCanCoerceNode(info, node->expr2,
CSSemGetType(value2),
!
CSSemGetType(value1)))
{
CSSemSetRValue(value1, ILType_Boolean);
--- 1712,1718 ----
{
if(ILCanCoerceNode(info, node->expr1,
CSSemGetType(value1),
!
CSSemGetType(value2),1) ||
ILCanCoerceNode(info, node->expr2,
CSSemGetType(value2),
!
CSSemGetType(value1),1))
{
CSSemSetRValue(value1, ILType_Boolean);
***************
*** 1740,1754 ****
/* Try coercion as a last resort */
if(ILCanCoerceNode(info, node->expr1, CSSemGetType(value1),
! CSSemGetType(value2)))
{
ILCoerce(info, node->expr1, &(node->expr1),
CSSemGetType(value1),
! CSSemGetType(value2));
CSSemSetRValue(value1, ILType_Boolean);
}
else if(ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! CSSemGetType(value1)))
{
ILCoerce(info, node->expr2, &(node->expr2),
CSSemGetType(value2),
! CSSemGetType(value1));
CSSemSetRValue(value1, ILType_Boolean);
}
--- 1740,1754 ----
/* Try coercion as a last resort */
if(ILCanCoerceNode(info, node->expr1, CSSemGetType(value1),
! CSSemGetType(value2),1))
{
ILCoerce(info, node->expr1, &(node->expr1),
CSSemGetType(value1),
! CSSemGetType(value2),1);
CSSemSetRValue(value1, ILType_Boolean);
}
else if(ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! CSSemGetType(value1),1))
{
ILCoerce(info, node->expr2, &(node->expr2),
CSSemGetType(value2),
! CSSemGetType(value1),1);
CSSemSetRValue(value1, ILType_Boolean);
}
***************
*** 1885,1894 ****
/* Determine which of the types is the result type */
if(ILCanCoerceNode(info, node->expr1, CSSemGetType(value1),
! CSSemGetType(value2)) &&
!ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! CSSemGetType(value1)))
{
ILCoerce(info, node->expr2, &(node->expr2),
CSSemGetType(value1),
! CSSemGetType(value2));
CSSemSetRValue(value2, CSSemGetType(value2));
EvalOperator(info, *parent, parent, &value1);
--- 1885,1894 ----
/* Determine which of the types is the result type */
if(ILCanCoerceNode(info, node->expr1, CSSemGetType(value1),
! CSSemGetType(value2),1) &&
!ILCanCoerceNode(info, node->expr2, CSSemGetType(value2),
! CSSemGetType(value1),1))
{
ILCoerce(info, node->expr2, &(node->expr2),
CSSemGetType(value1),
! CSSemGetType(value2),1);
CSSemSetRValue(value2, CSSemGetType(value2));
EvalOperator(info, *parent, parent, &value1);
***************
*** 1896,1905 ****
}
else if(ILCanCoerceNode(info, node->expr1, CSSemGetType(value2),
! CSSemGetType(value1)) &&
!ILCanCoerceNode(info, node->expr2, CSSemGetType(value1),
! CSSemGetType(value2)))
{
ILCoerce(info, node->expr3, &(node->expr3),
CSSemGetType(value2),
! CSSemGetType(value1));
CSSemSetRValue(value1, CSSemGetType(value1));
EvalOperator(info, *parent, parent, &value1);
--- 1896,1905 ----
}
else if(ILCanCoerceNode(info, node->expr1, CSSemGetType(value2),
! CSSemGetType(value1),1)
&&
!ILCanCoerceNode(info, node->expr2, CSSemGetType(value1),
!
CSSemGetType(value2),1))
{
ILCoerce(info, node->expr3, &(node->expr3),
CSSemGetType(value2),
! CSSemGetType(value1),1);
CSSemSetRValue(value1, CSSemGetType(value1));
EvalOperator(info, *parent, parent, &value1);
***************
*** 1991,1995 ****
if(ILCoerceKind(info, node->expr1, &(node->expr1),
CSSemGetType(value), type,
! IL_CONVERT_REFERENCE |
IL_CONVERT_BOXING))
{
*parent = node->expr1;
--- 1991,1995 ----
if(ILCoerceKind(info, node->expr1, &(node->expr1),
CSSemGetType(value), type,
! IL_CONVERT_REFERENCE |
IL_CONVERT_BOXING,1))
{
*parent = node->expr1;
***************
*** 2037,2041 ****
/* Determine if there is an implicit reference or boxing coercion */
if(ILCanCoerceKind(info, CSSemGetType(value), type,
! IL_CONVERT_REFERENCE |
IL_CONVERT_BOXING))
{
if(ILTypeIsReference(CSSemGetType(value)))
--- 2037,2041 ----
/* Determine if there is an implicit reference or boxing coercion */
if(ILCanCoerceKind(info, CSSemGetType(value), type,
! IL_CONVERT_REFERENCE |
IL_CONVERT_BOXING,1))
{
if(ILTypeIsReference(CSSemGetType(value)))
Index: cs_decls.tc
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csharp/cs_decls.tc,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -r1.24 -r1.25
*** cs_decls.tc 9 Nov 2002 21:24:13 -0000 1.24
--- cs_decls.tc 16 Nov 2002 08:11:42 -0000 1.25
***************
*** 641,645 ****
/* Make sure that the value is compatible with the field's type
*/
if(!ILCoerce(info, node->initializer, &(node->initializer),
! CSSemGetType(value),
ILField_Type(node->fieldInfo)))
{
CCErrorOnLine(yygetfilename(node->initializer),
--- 641,645 ----
/* Make sure that the value is compatible with the field's type
*/
if(!ILCoerce(info, node->initializer, &(node->initializer),
! CSSemGetType(value),
ILField_Type(node->fieldInfo),1))
{
CCErrorOnLine(yygetfilename(node->initializer),
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/cscc/csharp cs_oper.tc,1.27,1.28 cs_decls.tc,1.24,1.25,
Gopal.V <address@hidden> <=