\documentclass{report}
\usepackage{hyperref}
% WARNING: THIS SHOULD BE MODIFIED DEPENDING ON THE LETTER/A4 SIZE
\oddsidemargin 0cm
\evensidemargin 0cm
\marginparsep 0cm
\marginparwidth 0cm
\parindent 0cm
\setlength{\textwidth}{\paperwidth}
\addtolength{\textwidth}{-2in}


% Conditional define to determine if pdf output is used
\newif\ifpdf
\ifx\pdfoutput\undefined
\pdffalse
\else
\pdfoutput=1
\pdftrue
\fi

\ifpdf
  \usepackage[pdftex]{graphicx}
\else
  \usepackage[dvips]{graphicx}
\fi

% Write Document information for pdflatex/pdftex
\ifpdf
\pdfinfo{
 /Author     (Pasdoc)
 /Title      ()
}
\fi


% definitons for warning and note tag
\usepackage[most]{tcolorbox}
\newtcolorbox{tcbwarning}{
 breakable,
 enhanced jigsaw,
 top=0pt,
 bottom=0pt,
 titlerule=0pt,
 bottomtitle=0pt,
 rightrule=0pt,
 toprule=0pt,
 bottomrule=0pt,
 colback=white,
 arc=0pt,
 outer arc=0pt,
 title style={white},
 fonttitle=\color{black}\bfseries,
 left=8pt,
 colframe=red,
 title={Warning:},
}
\newtcolorbox{tcbnote}{
 breakable,
 enhanced jigsaw,
 top=0pt,
 bottom=0pt,
 titlerule=0pt,
 bottomtitle=0pt,
 rightrule=0pt,
 toprule=0pt,
 bottomrule=0pt,
 colback=white,
 arc=0pt,
 outer arc=0pt,
 title style={white},
 fonttitle=\color{black}\bfseries,
 left=8pt,
 colframe=yellow,
 title={Note:},
}

\begin{document}
\label{toc}\tableofcontents
\newpage
% special variable used for calculating some widths.
\newlength{\tmplength}
\chapter{Unit ok{\_}inherited{\_}members{\_}hide{\_}ancestor}
\label{ok_inherited_members_hide_ancestor}
\index{ok{\_}inherited{\_}members{\_}hide{\_}ancestor}
\section{Description}
Test --inherited{-}members=... behavior when some ancestor's members are hidden by descendants.
\section{Overview}
\begin{description}
\item[\texttt{\begin{ttfamily}TBase\end{ttfamily} Class}]
\item[\texttt{\begin{ttfamily}TDerived\end{ttfamily} Class}]
\item[\texttt{\begin{ttfamily}TNewDerived\end{ttfamily} Class}]
\end{description}
\section{Classes, Interfaces, Objects and Records}
\ifpdf
\subsection*{\large{\textbf{TBase Class}}\normalsize\hspace{1ex}\hrulefill}
\else
\subsection*{TBase Class}
\fi
\label{ok_inherited_members_hide_ancestor.TBase}
\index{TBase}
\subsubsection*{\large{\textbf{Hierarchy}}\normalsize\hspace{1ex}\hfill}
TBase {$>$} TObject
%%%%Description
\subsubsection*{\large{\textbf{Constants}}\normalsize\hspace{1ex}\hfill}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{MyConst}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\label{ok_inherited_members_hide_ancestor.TBase-MyConst}
\index{MyConst}
\item[\textbf{MyConst}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public MyConst = 42;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par Description of MyConst from TBase\end{list}
\subsubsection*{\large{\textbf{Fields}}\normalsize\hspace{1ex}\hfill}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{BaseField}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\label{ok_inherited_members_hide_ancestor.TBase-BaseField}
\index{BaseField}
\item[\textbf{BaseField}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public BaseField: Integer;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par Description of BaseField, MyField from TBase\label{ok_inherited_members_hide_ancestor.TBase-MyField}
\index{MyField}
\item[\textbf{MyField}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public MyField: Integer;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par Description of BaseField, MyField from TBase\end{list}
\subsubsection*{\large{\textbf{Methods}}\normalsize\hspace{1ex}\hfill}
\paragraph*{MyMethod}\hspace*{\fill}

\label{ok_inherited_members_hide_ancestor.TBase-MyMethod}
\index{MyMethod}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public procedure MyMethod; virtual;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\par
\item[\textbf{Description}]
Description of MyMethod from TBase

\end{list}
\paragraph*{BaseMethod}\hspace*{\fill}

\label{ok_inherited_members_hide_ancestor.TBase-BaseMethod}
\index{BaseMethod}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public procedure BaseMethod; virtual;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\par
\item[\textbf{Description}]
Description of BaseMethod from TBase

\end{list}
\paragraph*{OverloadedMethod}\hspace*{\fill}

\label{ok_inherited_members_hide_ancestor.TBase-OverloadedMethod}
\index{OverloadedMethod}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public procedure OverloadedMethod(const A: String); overload;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\par
\item[\textbf{Description}]
Description of OverloadedMethod from TBase that takes String

\end{list}
\ifpdf
\subsection*{\large{\textbf{TDerived Class}}\normalsize\hspace{1ex}\hrulefill}
\else
\subsection*{TDerived Class}
\fi
\label{ok_inherited_members_hide_ancestor.TDerived}
\index{TDerived}
\subsubsection*{\large{\textbf{Hierarchy}}\normalsize\hspace{1ex}\hfill}
TDerived {$>$} \begin{ttfamily}TBase\end{ttfamily}(\ref{ok_inherited_members_hide_ancestor.TBase}) {$>$} 
TObject
%%%%Description
\subsubsection*{\large{\textbf{Constants}}\normalsize\hspace{1ex}\hfill}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{MyConst}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\label{ok_inherited_members_hide_ancestor.TDerived-MyConst}
\index{MyConst}
\item[\textbf{MyConst}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public MyConst = 123;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par Description of MyConst from TDerived\end{list}
\subsubsection*{\large{\textbf{Fields}}\normalsize\hspace{1ex}\hfill}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{DerivedField}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\label{ok_inherited_members_hide_ancestor.TDerived-DerivedField}
\index{DerivedField}
\item[\textbf{DerivedField}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public DerivedField: String;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par Description of DerivedField, MyField from TDerived\label{ok_inherited_members_hide_ancestor.TDerived-MyField}
\index{MyField}
\item[\textbf{MyField}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public MyField: String;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par Description of DerivedField, MyField from TDerived\end{list}
\subsubsection*{\large{\textbf{Methods}}\normalsize\hspace{1ex}\hfill}
\paragraph*{MyMethod}\hspace*{\fill}

\label{ok_inherited_members_hide_ancestor.TDerived-MyMethod}
\index{MyMethod}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public procedure MyMethod; override;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\par
\item[\textbf{Description}]
Description of MyMethod from TDerived

\end{list}
\paragraph*{DerivedMethod}\hspace*{\fill}

\label{ok_inherited_members_hide_ancestor.TDerived-DerivedMethod}
\index{DerivedMethod}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public procedure DerivedMethod; virtual;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\par
\item[\textbf{Description}]
Description of DerivedMethod from TDerived

\end{list}
\paragraph*{OverloadedMethod}\hspace*{\fill}

\label{ok_inherited_members_hide_ancestor.TDerived-OverloadedMethod}
\index{OverloadedMethod}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public procedure OverloadedMethod(const A: Integer); overload;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\par
\item[\textbf{Description}]
Description of OverloadedMethod from TDerived that takes Integer

\end{list}
\ifpdf
\subsection*{\large{\textbf{TNewDerived Class}}\normalsize\hspace{1ex}\hrulefill}
\else
\subsection*{TNewDerived Class}
\fi
\label{ok_inherited_members_hide_ancestor.TNewDerived}
\index{TNewDerived}
\subsubsection*{\large{\textbf{Hierarchy}}\normalsize\hspace{1ex}\hfill}
TNewDerived {$>$} \begin{ttfamily}TDerived\end{ttfamily}(\ref{ok_inherited_members_hide_ancestor.TDerived}) {$>$} \begin{ttfamily}TBase\end{ttfamily}(\ref{ok_inherited_members_hide_ancestor.TBase}) {$>$} 
TObject
%%%%Description
\subsubsection*{\large{\textbf{Constants}}\normalsize\hspace{1ex}\hfill}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{MyConst}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\label{ok_inherited_members_hide_ancestor.TNewDerived-MyConst}
\index{MyConst}
\item[\textbf{MyConst}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public MyConst = 456;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par Description of MyConst from TNewDerived\end{list}
\subsubsection*{\large{\textbf{Fields}}\normalsize\hspace{1ex}\hfill}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{NewDerivedField}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\label{ok_inherited_members_hide_ancestor.TNewDerived-NewDerivedField}
\index{NewDerivedField}
\item[\textbf{NewDerivedField}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public NewDerivedField: Cardinal;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par Description of NewDerivedField, MyField from TNewDerived\label{ok_inherited_members_hide_ancestor.TNewDerived-MyField}
\index{MyField}
\item[\textbf{MyField}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public MyField: Cardinal;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi


\par Description of NewDerivedField, MyField from TNewDerived\end{list}
\subsubsection*{\large{\textbf{Methods}}\normalsize\hspace{1ex}\hfill}
\paragraph*{MyMethod}\hspace*{\fill}

\label{ok_inherited_members_hide_ancestor.TNewDerived-MyMethod}
\index{MyMethod}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public procedure MyMethod; override;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\par
\item[\textbf{Description}]
Description of MyMethod from TNewDerived

\end{list}
\paragraph*{NewDerivedMethod}\hspace*{\fill}

\label{ok_inherited_members_hide_ancestor.TNewDerived-NewDerivedMethod}
\index{NewDerivedMethod}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public procedure NewDerivedMethod; virtual;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\par
\item[\textbf{Description}]
Description of NewDerivedMethod from TNewDerived

\end{list}
\paragraph*{OverloadedMethod}\hspace*{\fill}

\label{ok_inherited_members_hide_ancestor.TNewDerived-OverloadedMethod}
\index{OverloadedMethod}
\begin{list}{}{
\settowidth{\tmplength}{\textbf{Description}}
\setlength{\itemindent}{0cm}
\setlength{\listparindent}{0cm}
\setlength{\leftmargin}{\evensidemargin}
\addtolength{\leftmargin}{\tmplength}
\settowidth{\labelsep}{X}
\addtolength{\leftmargin}{\labelsep}
\setlength{\labelwidth}{\tmplength}
}
\item[\textbf{Declaration}\hfill]
\ifpdf
\begin{flushleft}
\fi
\begin{ttfamily}
public procedure OverloadedMethod(const A: Boolean); overload;\end{ttfamily}

\ifpdf
\end{flushleft}
\fi

\par
\item[\textbf{Description}]
Description of OverloadedMethod from TNewDerived that takes Boolean

\end{list}
\end{document}
