⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 method_8h-source.html

📁 java 反射机制详解示例,实现类属性及方法修改
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>method.h Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.15 --><center><a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center><hr><h1>method.h</h1><div class="fragment"><pre>00001 <font class="preprocessor">#ifndef __METHOD_H__</font>00002 <font class="preprocessor"></font><font class="preprocessor">#define __METHOD_H__</font>00003 <font class="preprocessor"></font>00007 <font class="keyword">enum</font> RTTIMethodFlags { 00008     RTTI_MTH_INSTANCE  = RTTI_FLD_INSTANCE, 00009     RTTI_MTH_STATIC    = RTTI_FLD_STATIC, 00010     RTTI_MTH_CONST     = RTTI_FLD_CONST, 00011     RTTI_MTH_PUBLIC    = RTTI_FLD_PUBLIC, 00012     RTTI_MTH_PROTECTED = RTTI_FLD_PROTECTED, 00013     RTTI_MTH_PRIVATE   = RTTI_FLD_PRIVATE, 00014     RTTI_MTH_VIRTUAL   = RTTI_FLD_VIRTUAL, 00015     RTTI_MTH_ABSTRACT  = 0x0200 00016 }; 00017 00018 <a name="l00022"></a><a class="code" href="classRTTIMethodDescriptor.html">00022</a> <font class="keyword">class </font><a class="code" href="classRTTIMethodDescriptor.html">RTTIMethodDescriptor</a> { 00023   <font class="keyword">public</font>:<a name="l00027"></a><a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora0">00027</a>     <font class="keywordtype">char</font> <font class="keyword">const</font>* <a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora0">getName</a>() { 00028         <font class="keywordflow">return</font> name;00029     }00030     <a name="l00035"></a><a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora1">00035</a>     <a class="code" href="classRTTIMethodType.html">RTTIMethodType</a>* <a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora1">getType</a>() { 00036         <font class="keywordflow">return</font> type;00037     }00038     <a name="l00043"></a><a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora2">00043</a>     <font class="keywordtype">int</font> <a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora2">getFlags</a>() { 00044         <font class="keywordflow">return</font> flags;00045     }00046 00047 <a name="l00055"></a><a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora3">00055</a>     <font class="keywordtype">void</font> <a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora3">getMethodDeclaration</a>(<font class="keywordtype">char</font>* buf) { 00056         type-&gt;<a class="code" href="classRTTIMethodType.html#RTTIProcType5a3">getMethodDeclaration</a>(buf, name);00057     }00058 <a name="l00065"></a><a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora4">00065</a>     <font class="keywordtype">void</font> <a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora4">invoke</a>(<font class="keywordtype">void</font>* result, <font class="keywordtype">void</font>* obj, <font class="keywordtype">void</font>* parameters[]) { 00066         type-&gt;<a class="code" href="classRTTIMethodType.html#RTTIMethodTypea2">invoke</a>(result, obj, parameters);00067     }00068 <a name="l00073"></a><a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora5">00073</a>     <a class="code" href="classRTTIClassDescriptor.html">RTTIClassDescriptor</a>* <a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora5">getDeclaringClass</a>() { 00074         <font class="keywordflow">return</font> type-&gt;<a class="code" href="classRTTIMethodType.html#RTTIProcType5a4">getClass</a>();00075     }00076 <a name="l00083"></a><a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora6">00083</a>     <a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora6">RTTIMethodDescriptor</a>(<font class="keywordtype">char</font> <font class="keyword">const</font>* name, <font class="keywordtype">int</font> flags, <a class="code" href="classRTTIMethodType.html">RTTIMethodType</a>* type) { 00084         this-&gt;name = name;00085         this-&gt;flags = flags;00086         this-&gt;type = type;00087         type-&gt;<a class="code" href="classRTTIMethodType.html#RTTIProcType5n4">isStatic</a> = (flags &amp; RTTI_MTH_STATIC) != 0; 00088         next = NULL; 00089         chain = &amp;next;00090     }00091 <a name="l00098"></a><a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora7">00098</a>     <a class="code" href="classRTTIMethodDescriptor.html">RTTIMethodDescriptor</a>&amp; <a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora7">operator, </a>(<a class="code" href="classRTTIMethodDescriptor.html">RTTIMethodDescriptor</a>&amp; method) {00099         *chain = &amp;method;00100         chain = &amp;method.<a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptorn4">next</a>;00101         <font class="keywordflow">return</font> *<font class="keyword">this</font>;00102     }00103     <a name="l00107"></a><a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora8">00107</a>     <a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora8">~RTTIMethodDescriptor</a>() { 00108         type-&gt;<a class="code" href="classRTTIType.html#RTTITypeb0">destroy</a>();00109     }00110 <a name="l00115"></a><a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora9">00115</a>     <font class="keywordtype">int</font> <a class="code" href="classRTTIMethodDescriptor.html#RTTIMethodDescriptora9">getIndex</a>() { 00116         <font class="keywordflow">return</font> index;00117     }00118 00119   <font class="keyword">protected</font>:00120     <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classRTTIType.html">RTTIType</a>;00121     <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classRTTIClassDescriptor.html">RTTIClassDescriptor</a>;00122     <font class="keyword">friend</font> <font class="keyword">class </font>RTTIBfdRepository;00123         00124 00125     <font class="keywordtype">int</font>             flags;00126     <font class="keywordtype">int</font>             index;00127     <a class="code" href="classRTTIMethodType.html">RTTIMethodType</a>* type;00128     <font class="keywordtype">char</font> <font class="keyword">const</font>*     name;00129 00130     <a class="code" href="classRTTIMethodDescriptor.html">RTTIMethodDescriptor</a>*  next;00131     <a class="code" href="classRTTIMethodDescriptor.html">RTTIMethodDescriptor</a>** chain;00132 };00133 00134 <font class="preprocessor">#endif</font></pre></div><hr><address align="right"><small>Generated on Fri Apr 26 17:39:24 2002 for CppReflection by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.15 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -