Fix New Constraint generation

This commit is contained in:
JanUlrich 2024-05-03 17:37:26 +02:00
parent 883969c067
commit 3f490f9b6e

View File

@ -291,12 +291,12 @@ cannot be used anywhere else then inside the constraints generated by the method
\typeExpr{} &({\mtypeEnvironment} , \texttt{new}\ \type{C}(\overline{e}), \tv{a}) = \\ \typeExpr{} &({\mtypeEnvironment} , \texttt{new}\ \type{C}(\overline{e}), \tv{a}) = \\
& \begin{array}{ll} & \begin{array}{ll}
\textbf{let} \textbf{let}
& \ol{\tv{r}} \ \text{fresh} \\ & \ol{\ntv{r}}, \ol{\ntv{a}} \ \text{fresh} \\
& \overline{\consSet} = \typeExpr({\mtypeEnvironment}, \overline{e}, \ol{\tv{r}}) \\ & \overline{\consSet} = \typeExpr({\mtypeEnvironment}, \overline{e}, \ol{\ntv{r}}) \\
& C = \set{\ol{\tv{r}} \lessdot [\ol{\tv{a}}/\ol{X}]\ol{T}, \ol{\tv{a}} \lessdot \ol{N} \mid \texttt{class}\ \exptype{C}{\ol{X} \triangleleft \ol{N}} \set{ \ol{T\ f}; \ldots}} \\ & C = \set{\ol{\ntv{r}} \lessdot [\ol{\ntv{a}}/\ol{X}]\ol{T}, \ol{\ntv{a}} \lessdot \ol{N} \mid \texttt{class}\ \exptype{C}{\ol{X} \triangleleft \ol{N}} \set{ \ol{T\ f}; \ldots}} \\
{\mathbf{in}} & { {\mathbf{in}} & {
\overline{\consSet} \cup \overline{\consSet} \cup
\set{\tv{a} \doteq \exptype{C}{\ol{a}}}} \set{\tv{a} \doteq \exptype{C}{\ol{\ntv{a}}}}}
\end{array} \end{array}
\end{array} \end{array}
\end{displaymath} \end{displaymath}