From 9ffe3ce77dd15bcbc43c06064447132075d651e2 Mon Sep 17 00:00:00 2001 From: Henrik Tidefelt Date: Tue, 13 Oct 2020 00:08:47 +0200 Subject: [PATCH] Cleanup related to 'extends' --- chapters/inheritance.tex | 15 ++------------- chapters/revisions.tex | 5 ++--- chapters/scoping.tex | 2 +- 3 files changed, 5 insertions(+), 17 deletions(-) diff --git a/chapters/inheritance.tex b/chapters/inheritance.tex index b138f38eb..33e6dbeb2 100644 --- a/chapters/inheritance.tex +++ b/chapters/inheritance.tex @@ -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 @@ -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: diff --git a/chapters/revisions.tex b/chapters/revisions.tex index 1c8b363a3..ad5673043 100644 --- a/chapters/revisions.tex +++ b/chapters/revisions.tex @@ -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}:\\ diff --git a/chapters/scoping.tex b/chapters/scoping.tex index b45b34f72..7c5edb6cb 100644 --- a/chapters/scoping.tex +++ b/chapters/scoping.tex @@ -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}