next up previous
Next: Method declaration Up: Indications Previous: Indications

Language-defined indications

All language-defined indications are represented by known keys defined in Section 5.1. The set of operators associated with the indication was also defined there.

This Section assigns the same indication to an Operator and to the related AssignmentOperator. The reason is that the type analysis of assignment operations is split into two parts: the assignment part and the operation part. The operation part is processed in exactly the same manner as a dyadic operation with the related Operator.

Operator.d[37]:
PreDefInd('^=',   AssignmentOperator, upInd)
PreDefInd('«=',  AssignmentOperator, llInd)
PreDefInd('=',    AssignmentOperator, equalInd)
PreDefInd('»=',  AssignmentOperator, ggInd)
PreDefInd('»>=', AssignmentOperator, gggInd)
PreDefInd('|=',   AssignmentOperator, barInd)
PreDefInd('-=',   AssignmentOperator, minusInd)
PreDefInd('/=',   AssignmentOperator, slashInd)
PreDefInd('*=',   AssignmentOperator, starInd)
PreDefInd('&=',   AssignmentOperator, ampInd)
PreDefInd('%=',   AssignmentOperator, percentInd)
PreDefInd('+=',   AssignmentOperator, plusInd)
PreDefInd('^',              Operator, upInd)
PreDefInd('«',             Operator, llInd)
PreDefInd('<=',             Operator, leqInd)
PreDefInd('<',              Operator, lssInd)
PreDefInd('==',             Operator, eqlInd)
PreDefInd('>=',             Operator, geqInd)
PreDefInd('»>',            Operator, gggInd)
PreDefInd('»',             Operator, ggInd)
PreDefInd('>',              Operator, gtrInd)
PreDefInd('||',             Operator, barbarInd)
PreDefInd('|',              Operator, barInd)
PreDefInd('+',              Operator, plusInd)
PreDefInd('-',              Operator, minusInd)
PreDefInd('!=',             Operator, neqInd)
PreDefInd('/',              Operator, slashInd)
PreDefInd('*',              Operator, starInd)
PreDefInd('&',              Operator, ampInd)
PreDefInd('&&',             Operator, ampampInd)
PreDefInd('%',              Operator, percentInd)
PreDefInd('++',             Operator, plusplusInd)
PreDefInd('-',             Operator, minusminusInd)
PreDefInd('SPMtilde;',              Operator, tildeInd)
PreDefInd('!',              Operator, bangInd)
This macro is attached to a non-product file.

These definitions are implemented by the PreDefOp module, which reads the non-product file Operator.d:

Instantiate required modules[38]:
$/Type/PreDefOp.gnrc +referto=(Operator.d) :inst
This macro is defined in definitions 15, 26, 38, and 44.
This macro is invoked in definition 1.


next up previous
Next: Method declaration Up: Indications Previous: Indications
2008-09-11