Skip to content

Commit

Permalink
Cleanup related to 'extends'
Browse files Browse the repository at this point in the history
  • Loading branch information
henrikt-ma committed Oct 12, 2020
1 parent bf5153b commit 9ffe3ce
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 17 deletions.
15 changes: 2 additions & 13 deletions chapters/inheritance.tex
Expand Up @@ -241,12 +241,7 @@ \subsection{Restrictions on the Kind of Base Class}\label{restrictions-on-the-ki

\subsection{Restrictions on Base Classes and Constraining Types to be Transitively Non-Replaceable}\label{restrictions-on-base-classes-and-constraining-types-to-be-transitively-non-replaceable}

The class name used after extends for base-classes and for constraining
classes must use a class reference considered transitively
non-replaceable, see definition in \cref{transitively-non-replaceable}.
For a replaceable component declaration without constraining
clause the class must use a class reference considered transitively
non-replaceable.
The class name used after \lstinline!extends! for base-classes and for constraining classes must use a class reference considered transitively non-replaceable, see definition in \cref{transitively-non-replaceable}. For a replaceable component declaration without constraining clause the class must use a class reference considered transitively non-replaceable.

\begin{nonnormative}
The requirement to use a transitively non-replaceable name excludes the long form of redeclare, i.e.\ \lstinline!redeclare model extends M...! where
Expand Down Expand Up @@ -348,13 +343,7 @@ \subsection{Modification Environment}\label{modification-environment}

\subsection{Merging of Modifications}\label{merging-of-modifications}

Merging of modifiers means that outer modifiers override inner
modifiers. The merging is hierarchical, and a value for an entire
non-simple component overrides value modifiers for all components, and
it is an error if this overrides a final prefix for a component, or if
value for a simple component would override part of the value of a
non-simple component. When merging modifiers each modification keeps its
own \lstinline!each! prefix.
Merging of modifiers means that outer modifiers override inner modifiers. The merging is hierarchical, and a value for an entire non-simple component overrides value modifiers for all components, and it is an error if this overrides a final prefix for a component, or if value for a simple component would override part of the value of a non-simple component. When merging modifiers each modification keeps its own \lstinline!each! prefix.

\begin{example}
The following larger example demonstrates several aspects:
Expand Down
5 changes: 2 additions & 3 deletions chapters/revisions.tex
Expand Up @@ -1852,9 +1852,8 @@ \subsection{Main Changes in Modelica 3.0}\label{main-changes-in-modelica-3-0}
annotation invisible (e.g.\ after inheritance).\\
New attributes \lstinline!startAngle!, \lstinline!endAngle! in record ellipse to define part
of an ellipse.\\
New layer specific annotations \lstinline!IconMap! and \lstinline!DiagramMap! for extends.\\
New attribute \lstinline!horizontalAlignment! to the \lstinline!Text record! to define the
horizontal alignment of text.
New layer specific annotations \lstinline!IconMap! and \lstinline!DiagramMap! for \lstinline!extends!.\\
New attribute \lstinline!horizontalAlignment! to the \lstinline!Text! record to define the horizontal alignment of text.
\item
New annotations for schematic animation and interactive user input in
\cref{annotations-for-graphical-objects}:\\
Expand Down
2 changes: 1 addition & 1 deletion chapters/scoping.tex
Expand Up @@ -637,7 +637,7 @@ \subsubsection{Steps of Instantiation}\label{steps-of-instantiation}
\item
Partially instantiate \lstinline!e!
\item
Instantiate \lstinline!e! which requires finding \lstinline!E!. First looking for \lstinline!E! in the un-named node for extends \lstinline!M.C!, and, since there is
Instantiate \lstinline!e! which requires finding \lstinline!E!. First looking for \lstinline!E! in the un-named node for \lstinline!extends M.C!, and, since there is
no local element \lstinline!E! the search is then continued in \lstinline!M! (which lexically encloses \lstinline!M.C!) and finds \lstinline!E! class inheriting from
\lstinline!Real!. The \lstinline!e! is then instantiated using class \lstinline!E! inheriting from \lstinline!Real!.
\end{enumerate}
Expand Down

0 comments on commit 9ffe3ce

Please sign in to comment.