> Ah yes. Here is an example of such a "thinko":
>
> bool ArgSymbol::isConstant(void) {
>  if (intent == INTENT_CONST_IN || intent == INTENT_CONST_REF) {
>    return true;
>  }

Focusing on just the first half of this (for simplicity), whether or not 
this is a thinko depends on what isConstant() is supposed to do.  If it's 
"tell me whether or not I can assign to this thing" then it's correct as 
written; if it's "tell me whether or not the value this thing represents 
might change" then it's got a problem.  The bigger problem is probably 
that a user of this routine may assume it's one of things when in fact 
it's the other (as I did in my remoteValueForwarding patch).

In fixing that issue, I proposed splitting isConstant() into two routines 
for these two cases, with better (longer) names.  Then it's just a matter 
of figuring out which case each call to isConstant() wanted.  Any 
objections to this change/approach?

-Brad


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to