diff --git a/chapters/scoping.tex b/chapters/scoping.tex index 306244f31..7632be48b 100644 --- a/chapters/scoping.tex +++ b/chapters/scoping.tex @@ -91,8 +91,8 @@ \subsection{Composite Name Lookup}\label{composite-name-lookup} \item If the first identifier denotes a component, the rest of the name (e.g., \lstinline!B! or \lstinline!B.C!) is looked up among the declared named component elements of the component. \item - If not found, and if the first identifier denotes a scalar component, or component[j] where component is an array of components and the indices j can be evaluated at translation time and component[j] is a scalar; and if the composite name is used as a function call, the lookup is also performed among the declared named class elements of the scalar component, and must find a non-operator function. - All identifiers of the rest of the name (e.g., B and B.C) must be classes. + If not found, and if the first identifier denotes a scalar component, or \lstinline!component[j]! where component is an array of components and the indices \lstinline!j! can be evaluated at translation time and \lstinline!component[j]! is a scalar; and if the composite name is used as a function call, the lookup is also performed among the declared named class elements of the scalar component, and must find a non-operator function. + All identifiers of the rest of the name (e.g., \lstinline!B! and \lstinline!B.C!) must be classes. \item If the identifier denotes a class, that class is temporarily flattened (as if instantiating a component without modifiers of this class, see \cref{modification-environment}) and using the enclosing classes of the denoted class. The rest of the name (e.g., \lstinline!B! or \lstinline!B.C!) is looked up among the declared named elements of the temporary flattened class.