 | 10.4 Variable declarations |
|
| 10 C++ translator |
|
| 10.6 Object expressions |
|
| 10.5 Class expressions |
10.5 Class expressions
A class expression translates to the declarations and statements which
the translation of the contents
of the class expression results in.
A basic class expression translates as its declarations.
An extending class expression translates as the two class expressions.
Hiding is ignored, and a warning given: hidden names are fully visible in the C++ code.
Renaming is ignored, and a warning given: all the references to the
renamed names use the identifiers in their original definition. This
may cause problems with name clashes in the C++ code.
Objects are translated as namespaces, so with expressions are
translated using the C++ declaration using
namespace. (This allows qualified names to be used without
qualification as long as there is no resulting ambiguity.)
A scheme instantiation translates as the unfolded scheme with
substituted parameters.
Chris George, March 3, 2005
| 10.5 Class expressions |
 | 10.4 Variable declarations |
|
| 10 C++ translator |
|
| 10.6 Object expressions |
|