![]() |
Section 6.6.1:
|
![]() |
Defining a constant in a class is like defining a shared entity, except that it has only a reader routine feature! This means that all objects of the class share the same value - but that it is read only for every object of any class.
This feature needs defining without an implementation, without arguments - just a value, giving the invariant shown below.
Feature :: name : token args : [ set of Feature ] kind : [ Type_Specifier ] value : [ Expression ] impl : [ seq of Statement ] vis : [ Visibility ] ext_vis : Visibility uses : [ Method_Kind ] ; inv mk_Feature(-,args,-,val,imp,vis,-,use) == use = One_Shot and (vis = {Use}) and (imp = nil) and (val <> nil) and (args = nil)
Note that the external visibility field needs testing against the concrete syntax specifications in the well-formedness checks.
TO BE DONE
TO BE DONE
![]() |
Specification Index | ![]() |
Language Index | ![]() |
Section 6 Index |
Comments
or enquiries should be made to Keith Hopper. Page last modified: Wednesday, 25 April 2001. |
![]() |