home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / lrm / chap08.err < prev    next >
Encoding:
Text File  |  1988-05-03  |  8.9 KB  |  200 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                             Errata for changes to Chapter 8 version 21
  7.  
  8.  
  9.  
  10. 8.3  (paragraph 6)8.3  (paragraph 6)8.3  (paragraph 6)
  11.  
  12.  
  13. Visibility is either by selection or direct.  A declaration is visible by__ selection_________ at places that
  14. are defined as follows.
  15.  
  16.  
  17.  
  18. 8.4  Use Clauses (paragraph 12)8.4  Use Clauses (paragraph 12)8.4  Use Clauses (paragraph 12)
  19.  
  20.  
  21. References:___________ compilation unit 10.1, context clause 10.1, declaration  3.1,  declarative  item  3.9,
  22. declarative  region  8.1,  direct  visibility  8.3,  elaboration 3.1 3.9, elaboration has no other
  23. effect 3.1, enumeration literal specification 3.5.1,  extends  8.1,  hiding  8.3,  homograph  8.3,
  24. identifier 2.3, immediate scope 8.2, name 4.1, occur immediately within 8.1, package 7, scope 8.2,
  25. subprogram declaration 6.1, visible part 7.2
  26.  
  27.  
  28.  
  29. 8.5  Renaming Declarations (paragraph 4)8.5  Renaming Declarations (paragraph 4)8.5  Renaming Declarations (paragraph 4)
  30.  
  31.  
  32. The  first  form  of renaming declaration is used for the renaming of objects.  The renamed entity
  33. must be an object of the base type of the type mark.  The properties of the renamed object are not
  34. affected by the renaming declaration.  In particular, its  value  and  whether  or  not  it  is  a
  35. constant  are  unaffected;  similarly, the constraints that apply to an object are not affected by
  36. renaming (any constraint implied by the type mark of the renaming declaration  is  ignored).   The
  37. renaming  declaration  is legal only if exactly one object has this type and can be denoted by the
  38. object name.
  39.  
  40.  
  41.  
  42. 8.5  Renaming Declarations (paragraph 9)8.5  Renaming Declarations (paragraph 9)8.5  Renaming Declarations (paragraph 9)
  43.  
  44.  
  45. A procedure can only be renamed as a procedure.  Either of a function or operator can  be  renamed
  46. as  either  of  a function or operator;  for renaming as an operator, the subprogram specification
  47. given in the renaming declaration is subject to the  rules  given  in  section  6.7  for  operator
  48. declarations.  Enumeration literals can be renamed as functions;  similarly, attributes defined as
  49. functions  (such as SUCC and PRED) can be renamed as functions.  An entry can only be renamed as a
  50. procedure;  the new name is only allowed to appear in contexts that allow a  procedure  name.   An
  51. entry of a family can be renamed, but an entry family cannot be renamed as a whole.
  52.  
  53.  
  54.  
  55. 8.7  The Context of Overload Resolution (paragraphs 4 5 6)8.7  The Context of Overload Resolution (paragraphs 4 5 6)8.7  The Context of Overload Resolution (paragraphs 4 5 6)
  56.  
  57.  
  58.  
  59.   -  A declaration.
  60.  
  61.   -  A statement.
  62.  
  63.  
  64.  
  65.  
  66.  
  67. -1                                       The Context of Overload Resolution (paragraphs 4 5 6) 8.7
  68.  
  69.  
  70.  
  71.  
  72.   -  A representation clause.
  73.  
  74.  
  75.  
  76. 8.7  The Context of Overload Resolution (paragraph 10)8.7  The Context of Overload Resolution (paragraph 10)8.7  The Context of Overload Resolution (paragraph 10)
  77.  
  78.  
  79. When considering possible interpretations of a complete context, the only rules considered are the
  80. syntax rules, the scope and visibility rules, and the rules of the form described below.
  81.  
  82.  
  83.  
  84. 8.7  The Context of Overload Resolution  (paragraph 12)8.7  The Context of Overload Resolution  (paragraph 12)8.7  The Context of Overload Resolution  (paragraph 12)
  85.  
  86.  
  87.  
  88. (b)  Any rule that requires the type of a name or expression to be a  type  of  a  certain  class;
  89.      similarly,  any rule that requires a certain type to be a discrete, integer, real, universal,
  90.      character, boolean, or nonlimited type.
  91.  
  92.  
  93.  
  94. 8.7  The Context of Overload Resolution (paragraph 15)8.7  The Context of Overload Resolution (paragraph 15)8.7  The Context of Overload Resolution (paragraph 15)
  95.  
  96.  
  97.  
  98. (e)  The rules that require the type of an aggregate or string literal to be  determinable  solely
  99.      from the enclosing complete context (see 4.3 and 4.2).  Similarly, the rules that require the
  100.      type  of  the  prefix  of an attribte, the type of the expression of a case statement, or the
  101.      type of the operand of a type conversion, to be determinable  independently  of  the  context
  102.      (see 4.1.4, 5.4, 4.6, and 6.4.1).
  103.  
  104.  
  105.  
  106. 8.7  The Context of Overload Resolution (paragraph 16)8.7  The Context of Overload Resolution (paragraph 16)8.7  The Context of Overload Resolution (paragraph 16)
  107.  
  108.  
  109.  
  110. (f)  The rules given in section 6.6, for  the  resolution  of  overloaded  subprogram  calls;   in
  111.      section  4.6,  for  the implicit conversions of universal expressions;  in section 3.6.1, for
  112.      the interpretation of discrete ranges with bounds having a universal type;   and  in  section
  113.      4.1.3,  for  the  interpretation  of an expanded name whose prefix denotes a subprogram or an
  114.      accept statement.
  115.  
  116.  
  117.  
  118. 8.7  The Context of Overload Resolution (paragraph 22 (new))8.7  The Context of Overload Resolution (paragraph 22 (new))8.7  The Context of Overload Resolution (paragraph 22 (new))
  119.  
  120.  
  121. Rules that require certain constructs to have the same parameter  and  result  type  profile  fall
  122. under the category (a);  the same holds for rules that require conformance of two constructs since
  123. conformance  requires  that  corresponding  names  be given the same meaning by the visibility and
  124. overloading rules.
  125.  
  126.  
  127.  
  128. 8.7  The Context of Overload Resolution (paragraph 22)8.7  The Context of Overload Resolution (paragraph 22)8.7  The Context of Overload Resolution (paragraph 22)
  129.  
  130.  
  131.  
  132.  
  133. 8.7 The Context of Overload Resolution (paragraph 22 (new))                                     -2
  134.  
  135.  
  136.  
  137.  
  138. References:___________ aggregate 4.3, allocator 4.8, assignment 5.2, basic operation  3.3.3,  case  statement
  139. 5.4,  class  of  type  3.3,  declaration  3.1, entry 9.5, enumeration literal 3.5.1, exception 11,
  140. expression 4.4,  formal  part  6.1,  identifier  2.3,  legal  1.6,  literal  4.2,  loop  parameter
  141. specification  5.5,  membership  test 4.5.2, name 4.1, null literal 3.8, operation 3.3.3, operator
  142. 4.5, overloading 6.6, pragma 2.8, representation clause 13.1, statement 5, static expression  4.9,
  143. static subtype 4.9, subprogram 6, subtype 3.3, type conversion 4.6, visibility 8.3
  144.  
  145.  
  146.  
  147. 8.7  The Context of Overload Resolution (paragraph 23)8.7  The Context of Overload Resolution (paragraph 23)8.7  The Context of Overload Resolution (paragraph 23)
  148.  
  149.  
  150. Rules_____  of__  the___  form____  (a_):  address clause 13.5, assignment 5.2, choice 3.7.3 4.3.2 5.4, component
  151. association 4.3.1 4.3.2, conformance rules 9.5, default expression 3.7  3.7.1  6.1  12.1.1,  delay
  152. statement   9.6,  discrete  range  3.6.1  5.5  9.5,  discriminant  constraint  3.7.2,  enumeration
  153. representation clause 13.3, generic parameter association 12.3.1, index  constraint  3.6.1,  index
  154. expression  4.1.1  4.1.2  9.5,  initial  value 3.2.1, membership test 4.5.2, parameter association
  155. 6.4.1, parameter and result type profile 8.5 12.3.6, qualified expression  4.7,  range  constraint
  156. 3.5, renaming of an object 8.5, result expression 5.8
  157.  
  158.  
  159.  
  160. 8.7  The Context of Overload Resolution (paragraph 24)8.7  The Context of Overload Resolution (paragraph 24)8.7  The Context of Overload Resolution (paragraph 24)
  161.  
  162.  
  163. Rules_____ of__ the___ form____ (b_):  assignment 5.2, case expression 5.4, condition 5.3 5.5 5.7 9.7.1, discrete
  164. range  3.6.1  5.5  9.5, fixed point type declaration 3.5.9, floating point type declaration 3.5.7,
  165. integer type declaration 3.5.4, length clause 13.2, membership test 4.4, number declaration 3.2.2,
  166. record representation clause 13.4, selected component 4.1.3, short-circuit control form  4.4,  val
  167. attribute 3.5.5
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199. -3                                           The Context of Overload Resolution (paragraph 24) 8.7
  200.