You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Theodosius/doxygen/latex/classtheo_1_1obf_1_1pass__t...

100 lines
5.6 KiB

\hypertarget{classtheo_1_1obf_1_1pass__t}{}\doxysection{theo\+::obf\+::pass\+\_\+t Class Reference}
\label{classtheo_1_1obf_1_1pass__t}\index{theo::obf::pass\_t@{theo::obf::pass\_t}}
the \mbox{\hyperlink{classtheo_1_1obf_1_1pass__t}{pass\+\_\+t}} class is a base clase for all passes made. you must override the \mbox{\hyperlink{classtheo_1_1obf_1_1pass__t_acfadc013ff0754d66a18baffdb1a61d1}{pass\+\_\+t\+::run}} virtual function and declare the logic of your pass there.
{\ttfamily \#include $<$pass.\+hpp$>$}
Inheritance diagram for theo\+::obf\+::pass\+\_\+t\+:
% FIG 0
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classtheo_1_1obf_1_1pass__t_abd4ab22cc2822b968267be7f8397d611}{pass\+\_\+t}} (\mbox{\hyperlink{namespacetheo_1_1decomp_af96177687d0ad683c5897d8fa01135f9}{decomp\+::sym\+\_\+type\+\_\+t}} \mbox{\hyperlink{classtheo_1_1obf_1_1pass__t_a46608a6c2dfb8ff657e44be9b50e0dfb}{sym\+\_\+type}})
\begin{DoxyCompactList}\small\item\em the explicit constructor of the \mbox{\hyperlink{classtheo_1_1obf_1_1pass__t}{pass\+\_\+t}} base class. \end{DoxyCompactList}\item
virtual void \mbox{\hyperlink{classtheo_1_1obf_1_1pass__t_acfadc013ff0754d66a18baffdb1a61d1}{run}} (\mbox{\hyperlink{classtheo_1_1decomp_1_1symbol__t}{decomp\+::symbol\+\_\+t}} $\ast$sym)=0
\begin{DoxyCompactList}\small\item\em virtual method which must be implimented by the pass that inherits this class. \end{DoxyCompactList}\item
\mbox{\hyperlink{namespacetheo_1_1decomp_af96177687d0ad683c5897d8fa01135f9}{decomp\+::sym\+\_\+type\+\_\+t}} \mbox{\hyperlink{classtheo_1_1obf_1_1pass__t_a46608a6c2dfb8ff657e44be9b50e0dfb}{sym\+\_\+type}} ()
\begin{DoxyCompactList}\small\item\em gets the passes symbol type. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
the \mbox{\hyperlink{classtheo_1_1obf_1_1pass__t}{pass\+\_\+t}} class is a base clase for all passes made. you must override the \mbox{\hyperlink{classtheo_1_1obf_1_1pass__t_acfadc013ff0754d66a18baffdb1a61d1}{pass\+\_\+t\+::run}} virtual function and declare the logic of your pass there.
in the constructor of your pass you must call the super constructor (the \mbox{\hyperlink{classtheo_1_1obf_1_1pass__t}{pass\+\_\+t}} constructor) and pass it the type of symbol which you are interesting in receiving.
Definition at line 55 of file pass.\+hpp.
\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classtheo_1_1obf_1_1pass__t_abd4ab22cc2822b968267be7f8397d611}\label{classtheo_1_1obf_1_1pass__t_abd4ab22cc2822b968267be7f8397d611}}
\index{theo::obf::pass\_t@{theo::obf::pass\_t}!pass\_t@{pass\_t}}
\index{pass\_t@{pass\_t}!theo::obf::pass\_t@{theo::obf::pass\_t}}
\doxysubsubsection{\texorpdfstring{pass\_t()}{pass\_t()}}
{\footnotesize\ttfamily theo\+::obf\+::pass\+\_\+t\+::pass\+\_\+t (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespacetheo_1_1decomp_af96177687d0ad683c5897d8fa01135f9}{decomp\+::sym\+\_\+type\+\_\+t}}}]{sym\+\_\+type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}
the explicit constructor of the \mbox{\hyperlink{classtheo_1_1obf_1_1pass__t}{pass\+\_\+t}} base class.
\begin{DoxyParams}{Parameters}
{\em sym\+\_\+type} & the type of symbol in which the pass will run on. every symbol passed to the virtual \char`\"{}run\char`\"{} instruction will be of this type.\\
\hline
\end{DoxyParams}
Definition at line 63 of file pass.\+hpp.
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classtheo_1_1obf_1_1pass__t_acfadc013ff0754d66a18baffdb1a61d1}\label{classtheo_1_1obf_1_1pass__t_acfadc013ff0754d66a18baffdb1a61d1}}
\index{theo::obf::pass\_t@{theo::obf::pass\_t}!run@{run}}
\index{run@{run}!theo::obf::pass\_t@{theo::obf::pass\_t}}
\doxysubsubsection{\texorpdfstring{run()}{run()}}
{\footnotesize\ttfamily virtual void theo\+::obf\+::pass\+\_\+t\+::run (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classtheo_1_1decomp_1_1symbol__t}{decomp\+::symbol\+\_\+t}} $\ast$}]{sym }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}
virtual method which must be implimented by the pass that inherits this class.
\begin{DoxyParams}{Parameters}
{\em sym} & a symbol of the same type of m\+\_\+sym\+\_\+type.\\
\hline
\end{DoxyParams}
Implemented in \mbox{\hyperlink{classtheo_1_1obf_1_1reloc__transform__pass__t_a24e122f6be18a88ea1809252ab3ec0b9}{theo\+::obf\+::reloc\+\_\+transform\+\_\+pass\+\_\+t}}, \mbox{\hyperlink{classtheo_1_1obf_1_1next__inst__pass__t_ae4cbba78b14c2b9da794386e4d92f40f}{theo\+::obf\+::next\+\_\+inst\+\_\+pass\+\_\+t}}, and \mbox{\hyperlink{classtheo_1_1obf_1_1jcc__rewrite__pass__t_a5a93eb0945025ef3caefed8c63b65b23}{theo\+::obf\+::jcc\+\_\+rewrite\+\_\+pass\+\_\+t}}.
\mbox{\Hypertarget{classtheo_1_1obf_1_1pass__t_a46608a6c2dfb8ff657e44be9b50e0dfb}\label{classtheo_1_1obf_1_1pass__t_a46608a6c2dfb8ff657e44be9b50e0dfb}}
\index{theo::obf::pass\_t@{theo::obf::pass\_t}!sym\_type@{sym\_type}}
\index{sym\_type@{sym\_type}!theo::obf::pass\_t@{theo::obf::pass\_t}}
\doxysubsubsection{\texorpdfstring{sym\_type()}{sym\_type()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespacetheo_1_1decomp_af96177687d0ad683c5897d8fa01135f9}{decomp\+::sym\+\_\+type\+\_\+t}} theo\+::obf\+::pass\+\_\+t\+::sym\+\_\+type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
gets the passes symbol type.
\begin{DoxyReturn}{Returns}
the passes symbol type.
\end{DoxyReturn}
Definition at line 76 of file pass.\+hpp.
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
include/obf/\mbox{\hyperlink{pass_8hpp}{pass.\+hpp}}\end{DoxyCompactItemize}