mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-05-08 13:12:39 +02:00
66 lines
1.2 KiB
Plaintext
66 lines
1.2 KiB
Plaintext
\begin{diagram}{Class types}{classtype}
|
|
\begin{mysyntdiag}
|
|
\[ \lit*{packed} \]
|
|
\lit*{class}
|
|
\[ heritage \]
|
|
\[
|
|
\begin{rep}[b]
|
|
\synt{component\ list} \\
|
|
\synt{class\ visibility\ specifier}
|
|
\end{rep} \lit*{end}
|
|
\]
|
|
\end{mysyntdiag}
|
|
\begin{mysyntdiag}
|
|
\synt{heritage} \lit*( \synt{class\ type\ identifier} \lit* )
|
|
\end{mysyntdiag}
|
|
\begin{mysyntdiag}
|
|
\synt{component\ list}
|
|
\[ \<[b] \synt{field\ definition} \\ \> \]
|
|
\[
|
|
\<[b]
|
|
\(
|
|
\synt{method\ definition} \\
|
|
\synt{property\ definition}
|
|
\) \\
|
|
\>
|
|
\]
|
|
\end{mysyntdiag}
|
|
\begin{mysyntdiag}
|
|
\synt{field\ definition} \synt{identifier\ list} \lit*: \synt{type} \lit*;
|
|
\end{mysyntdiag}
|
|
\begin{mysyntdiag}
|
|
\synt{method\ definition}
|
|
\(
|
|
\[
|
|
\lit*{class}
|
|
\]
|
|
\(
|
|
\synt{function\ header} \\
|
|
\synt{procedure\ header}
|
|
\) \\
|
|
\synt{constructor\ header} \\
|
|
\synt{desctuctor\ header}
|
|
\)
|
|
\lit*;
|
|
\[
|
|
\( \lit*{virtual} \[ \lit*; \lit*{abstract} \] \\
|
|
\lit*{override} \\
|
|
\lit*{message}
|
|
\( \synt{integer\ constant} \\
|
|
\synt{string\ constant} \)
|
|
\)
|
|
\lit*;
|
|
\]
|
|
\[ \synt{call\ modifiers} \lit*; \]
|
|
\end{mysyntdiag}
|
|
\begin{mysyntdiag}
|
|
\synt{class\ visibility\ specifier}
|
|
\(
|
|
\lit*{private}\\
|
|
\lit*{protected}\\
|
|
\lit*{public}\\
|
|
\lit*{published}
|
|
\)
|
|
\end{mysyntdiag}
|
|
\end{diagram}
|