10.4 Variable declarations10.4 Variable declarations
10 C++ translator 10 C++ translator
10.6 Object expressions 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.

10.5.1 Basic class expressions

A basic class expression translates as its declarations.

10.5.2 Extending class expression

An extending class expression translates as the two class expressions.

10.5.3 Hiding class expressions

Hiding is ignored, and a warning given: hidden names are fully visible in the C++ code.

10.5.4 Renaming class expression

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.

10.5.5 With expression

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.)

10.5.6 Scheme instantiations

A scheme instantiation translates as the unfolded scheme with substituted parameters.
Chris George, April 17, 2008

10.5 Class expressions
10.4 Variable declarations10.4 Variable declarations
10 C++ translator 10 C++ translator
10.6 Object expressions 10.6 Object expressions