\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 \char`\"{}pass.\+hpp\char`\"{}} Inheritance diagram for theo\+::obf\+::pass\+\_\+t\+:\begin{figure}[H] \begin{center} \leavevmode \includegraphics[height=1.359223cm]{d4/dad/classtheo_1_1obf_1_1pass__t} \end{center} \end{figure} \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 \mbox{\hyperlink{pass_8hpp_source_l00055}{55}} of file \mbox{\hyperlink{pass_8hpp_source}{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 \mbox{\hyperlink{pass_8hpp_source_l00063}{63}} of file \mbox{\hyperlink{pass_8hpp_source}{pass.\+hpp}}. \begin{DoxyCode}{0} \DoxyCodeLine{00063 : m\_sym\_type(\mbox{\hyperlink{classtheo_1_1obf_1_1pass__t_a46608a6c2dfb8ff657e44be9b50e0dfb}{sym\_type}})\{\};} \end{DoxyCode} \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_1hello__world__pass__t_a0d2d95f93ac083e157b2f12a8a56f1df}{theo\+::obf\+::hello\+\_\+world\+\_\+pass\+\_\+t}}, \mbox{\hyperlink{classtheo_1_1obf_1_1jcc__rewrite__pass__t_a5a93eb0945025ef3caefed8c63b65b23}{theo\+::obf\+::jcc\+\_\+rewrite\+\_\+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_1reloc__transform__pass__t_a24e122f6be18a88ea1809252ab3ec0b9}{theo\+::obf\+::reloc\+\_\+transform\+\_\+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 \mbox{\hyperlink{pass_8hpp_source_l00076}{76}} of file \mbox{\hyperlink{pass_8hpp_source}{pass.\+hpp}}. \begin{DoxyCode}{0} \DoxyCodeLine{00076 \{ \textcolor{keywordflow}{return} m\_sym\_type; \}} \end{DoxyCode} The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item include/obf/\mbox{\hyperlink{pass_8hpp}{pass.\+hpp}}\end{DoxyCompactItemize}