Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728
  1. <!DOCTYPE HTML>
  2. <!-- NewPage -->
  3. <html lang="en">
  4. <head>
  5. <!-- Generated by javadoc (11) on Sat May 08 11:16:00 JST 2021 -->
  6. <title>CtMethod (Javassist API)</title>
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  8. <meta name="dc.created" content="2021-05-08">
  9. <link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
  10. <link rel="stylesheet" type="text/css" href="../jquery/jquery-ui.css" title="Style">
  11. <script type="text/javascript" src="../script.js"></script>
  12. <script type="text/javascript" src="../jquery/jszip/dist/jszip.min.js"></script>
  13. <script type="text/javascript" src="../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
  14. <!--[if IE]>
  15. <script type="text/javascript" src="../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
  16. <![endif]-->
  17. <script type="text/javascript" src="../jquery/jquery-3.3.1.js"></script>
  18. <script type="text/javascript" src="../jquery/jquery-migrate-3.0.1.js"></script>
  19. <script type="text/javascript" src="../jquery/jquery-ui.js"></script>
  20. </head>
  21. <body>
  22. <script type="text/javascript"><!--
  23. try {
  24. if (location.href.indexOf('is-external=true') == -1) {
  25. parent.document.title="CtMethod (Javassist API)";
  26. }
  27. }
  28. catch(err) {
  29. }
  30. //-->
  31. var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":9,"i8":10,"i9":10,"i10":10};
  32. var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
  33. var altColor = "altColor";
  34. var rowColor = "rowColor";
  35. var tableTab = "tableTab";
  36. var activeTableTab = "activeTableTab";
  37. var pathtoroot = "../";
  38. var useModuleDirectories = true;
  39. loadScripts(document, 'script');</script>
  40. <noscript>
  41. <div>JavaScript is disabled on your browser.</div>
  42. </noscript>
  43. <header role="banner">
  44. <nav role="navigation">
  45. <div class="fixedNav">
  46. <!-- ========= START OF TOP NAVBAR ======= -->
  47. <div class="topNav"><a id="navbar.top">
  48. <!-- -->
  49. </a>
  50. <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
  51. <a id="navbar.top.firstrow">
  52. <!-- -->
  53. </a>
  54. <ul class="navList" title="Navigation">
  55. <li><a href="../index.html">Overview</a></li>
  56. <li><a href="package-summary.html">Package</a></li>
  57. <li class="navBarCell1Rev">Class</li>
  58. <li><a href="class-use/CtMethod.html">Use</a></li>
  59. <li><a href="package-tree.html">Tree</a></li>
  60. <li><a href="../deprecated-list.html">Deprecated</a></li>
  61. <li><a href="../index-all.html">Index</a></li>
  62. </ul>
  63. </div>
  64. <div class="subNav">
  65. <ul class="navList" id="allclasses_navbar_top">
  66. <li><a href="../allclasses.html">All&nbsp;Classes</a></li>
  67. </ul>
  68. <ul class="navListSearch">
  69. <li><label for="search">SEARCH:</label>
  70. <input type="text" id="search" value="search" disabled="disabled">
  71. <input type="reset" id="reset" value="reset" disabled="disabled">
  72. </li>
  73. </ul>
  74. <div>
  75. <script type="text/javascript"><!--
  76. allClassesLink = document.getElementById("allclasses_navbar_top");
  77. if(window==top) {
  78. allClassesLink.style.display = "block";
  79. }
  80. else {
  81. allClassesLink.style.display = "none";
  82. }
  83. //-->
  84. </script>
  85. <noscript>
  86. <div>JavaScript is disabled on your browser.</div>
  87. </noscript>
  88. </div>
  89. <div>
  90. <ul class="subNavList">
  91. <li>Summary:&nbsp;</li>
  92. <li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
  93. <li>Field&nbsp;|&nbsp;</li>
  94. <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
  95. <li><a href="#method.summary">Method</a></li>
  96. </ul>
  97. <ul class="subNavList">
  98. <li>Detail:&nbsp;</li>
  99. <li>Field&nbsp;|&nbsp;</li>
  100. <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
  101. <li><a href="#method.detail">Method</a></li>
  102. </ul>
  103. </div>
  104. <a id="skip.navbar.top">
  105. <!-- -->
  106. </a></div>
  107. <!-- ========= END OF TOP NAVBAR ========= -->
  108. </div>
  109. <div class="navPadding">&nbsp;</div>
  110. <script type="text/javascript"><!--
  111. $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
  112. //-->
  113. </script>
  114. </nav>
  115. </header>
  116. <!-- ======== START OF CLASS DATA ======== -->
  117. <main role="main">
  118. <div class="header">
  119. <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">javassist</a></div>
  120. <h2 title="Class CtMethod" class="title">Class CtMethod</h2>
  121. </div>
  122. <div class="contentContainer">
  123. <ul class="inheritance">
  124. <li>java.lang.Object</li>
  125. <li>
  126. <ul class="inheritance">
  127. <li><a href="CtMember.html" title="class in javassist">javassist.CtMember</a></li>
  128. <li>
  129. <ul class="inheritance">
  130. <li><a href="CtBehavior.html" title="class in javassist">javassist.CtBehavior</a></li>
  131. <li>
  132. <ul class="inheritance">
  133. <li>javassist.CtMethod</li>
  134. </ul>
  135. </li>
  136. </ul>
  137. </li>
  138. </ul>
  139. </li>
  140. </ul>
  141. <div class="description">
  142. <ul class="blockList">
  143. <li class="blockList">
  144. <hr>
  145. <pre>public final class <span class="typeNameLabel">CtMethod</span>
  146. extends <a href="CtBehavior.html" title="class in javassist">CtBehavior</a></pre>
  147. <div class="block">An instance of <code>CtMethod</code> represents a method.
  148. <p>See the super class <code>CtBehavior</code> since
  149. a number of useful methods are in <code>CtBehavior</code>.
  150. A number of useful factory methods are in <code>CtNewMethod</code>.</div>
  151. <dl>
  152. <dt><span class="seeLabel">See Also:</span></dt>
  153. <dd><a href="CtClass.html#getDeclaredMethods()"><code>CtClass.getDeclaredMethods()</code></a>,
  154. <a href="CtNewMethod.html" title="class in javassist"><code>CtNewMethod</code></a></dd>
  155. </dl>
  156. </li>
  157. </ul>
  158. </div>
  159. <div class="summary">
  160. <ul class="blockList">
  161. <li class="blockList">
  162. <!-- ======== NESTED CLASS SUMMARY ======== -->
  163. <section role="region">
  164. <ul class="blockList">
  165. <li class="blockList"><a id="nested.class.summary">
  166. <!-- -->
  167. </a>
  168. <h3>Nested Class Summary</h3>
  169. <table class="memberSummary">
  170. <caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
  171. <tr>
  172. <th class="colFirst" scope="col">Modifier and Type</th>
  173. <th class="colSecond" scope="col">Class</th>
  174. <th class="colLast" scope="col">Description</th>
  175. </tr>
  176. <tr class="altColor">
  177. <td class="colFirst"><code>static class&nbsp;</code></td>
  178. <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CtMethod.ConstParameter.html" title="class in javassist">CtMethod.ConstParameter</a></span></code></th>
  179. <td class="colLast">
  180. <div class="block">Instances of this class represent a constant parameter.</div>
  181. </td>
  182. </tr>
  183. </table>
  184. </li>
  185. </ul>
  186. </section>
  187. <!-- ======== CONSTRUCTOR SUMMARY ======== -->
  188. <section role="region">
  189. <ul class="blockList">
  190. <li class="blockList"><a id="constructor.summary">
  191. <!-- -->
  192. </a>
  193. <h3>Constructor Summary</h3>
  194. <table class="memberSummary">
  195. <caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
  196. <tr>
  197. <th class="colFirst" scope="col">Constructor</th>
  198. <th class="colLast" scope="col">Description</th>
  199. </tr>
  200. <tr class="altColor">
  201. <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(javassist.CtClass,java.lang.String,javassist.CtClass%5B%5D,javassist.CtClass)">CtMethod</a></span>&#8203;(<a href="CtClass.html" title="class in javassist">CtClass</a>&nbsp;returnType,
  202. java.lang.String&nbsp;mname,
  203. <a href="CtClass.html" title="class in javassist">CtClass</a>[]&nbsp;parameters,
  204. <a href="CtClass.html" title="class in javassist">CtClass</a>&nbsp;declaring)</code></th>
  205. <td class="colLast">
  206. <div class="block">Creates a public abstract method.</div>
  207. </td>
  208. </tr>
  209. <tr class="rowColor">
  210. <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(javassist.CtMethod,javassist.CtClass,javassist.ClassMap)">CtMethod</a></span>&#8203;(<a href="CtMethod.html" title="class in javassist">CtMethod</a>&nbsp;src,
  211. <a href="CtClass.html" title="class in javassist">CtClass</a>&nbsp;declaring,
  212. <a href="ClassMap.html" title="class in javassist">ClassMap</a>&nbsp;map)</code></th>
  213. <td class="colLast">
  214. <div class="block">Creates a copy of a <code>CtMethod</code> object.</div>
  215. </td>
  216. </tr>
  217. </table>
  218. </li>
  219. </ul>
  220. </section>
  221. <!-- ========== METHOD SUMMARY =========== -->
  222. <section role="region">
  223. <ul class="blockList">
  224. <li class="blockList"><a id="method.summary">
  225. <!-- -->
  226. </a>
  227. <h3>Method Summary</h3>
  228. <table class="memberSummary">
  229. <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
  230. <tr>
  231. <th class="colFirst" scope="col">Modifier and Type</th>
  232. <th class="colSecond" scope="col">Method</th>
  233. <th class="colLast" scope="col">Description</th>
  234. </tr>
  235. <tr id="i0" class="altColor">
  236. <td class="colFirst"><code>boolean</code></td>
  237. <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(java.lang.Object&nbsp;obj)</code></th>
  238. <td class="colLast">
  239. <div class="block">Indicates whether <code>obj</code> has the same name and the
  240. same signature as this method.</div>
  241. </td>
  242. </tr>
  243. <tr id="i1" class="rowColor">
  244. <td class="colFirst"><code>java.lang.String</code></td>
  245. <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLongName()">getLongName</a></span>()</code></th>
  246. <td class="colLast">
  247. <div class="block">Returns the method name followed by parameter types
  248. such as <code>javassist.CtMethod.setBody(String)</code>.</div>
  249. </td>
  250. </tr>
  251. <tr id="i2" class="altColor">
  252. <td class="colFirst"><code>java.lang.String</code></td>
  253. <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName()">getName</a></span>()</code></th>
  254. <td class="colLast">
  255. <div class="block">Obtains the name of this method.</div>
  256. </td>
  257. </tr>
  258. <tr id="i3" class="rowColor">
  259. <td class="colFirst"><code><a href="CtClass.html" title="class in javassist">CtClass</a></code></td>
  260. <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getReturnType()">getReturnType</a></span>()</code></th>
  261. <td class="colLast">
  262. <div class="block">Obtains the type of the returned value.</div>
  263. </td>
  264. </tr>
  265. <tr id="i4" class="altColor">
  266. <td class="colFirst"><code>int</code></td>
  267. <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th>
  268. <td class="colLast">
  269. <div class="block">Returns a hash code value for the method.</div>
  270. </td>
  271. </tr>
  272. <tr id="i5" class="rowColor">
  273. <td class="colFirst"><code>boolean</code></td>
  274. <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEmpty()">isEmpty</a></span>()</code></th>
  275. <td class="colLast">
  276. <div class="block">Returns true if the method body is empty, that is, <code>{}</code>.</div>
  277. </td>
  278. </tr>
  279. <tr id="i6" class="altColor">
  280. <td class="colFirst"><code>static <a href="CtMethod.html" title="class in javassist">CtMethod</a></code></td>
  281. <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#make(java.lang.String,javassist.CtClass)">make</a></span>&#8203;(java.lang.String&nbsp;src,
  282. <a href="CtClass.html" title="class in javassist">CtClass</a>&nbsp;declaring)</code></th>
  283. <td class="colLast">
  284. <div class="block">Compiles the given source code and creates a method.</div>
  285. </td>
  286. </tr>
  287. <tr id="i7" class="rowColor">
  288. <td class="colFirst"><code>static <a href="CtMethod.html" title="class in javassist">CtMethod</a></code></td>
  289. <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#make(javassist.bytecode.MethodInfo,javassist.CtClass)">make</a></span>&#8203;(<a href="bytecode/MethodInfo.html" title="class in javassist.bytecode">MethodInfo</a>&nbsp;minfo,
  290. <a href="CtClass.html" title="class in javassist">CtClass</a>&nbsp;declaring)</code></th>
  291. <td class="colLast">
  292. <div class="block">Creates a method from a <code>MethodInfo</code> object.</div>
  293. </td>
  294. </tr>
  295. <tr id="i8" class="altColor">
  296. <td class="colFirst"><code>void</code></td>
  297. <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setBody(javassist.CtMethod,javassist.ClassMap)">setBody</a></span>&#8203;(<a href="CtMethod.html" title="class in javassist">CtMethod</a>&nbsp;src,
  298. <a href="ClassMap.html" title="class in javassist">ClassMap</a>&nbsp;map)</code></th>
  299. <td class="colLast">
  300. <div class="block">Copies a method body from another method.</div>
  301. </td>
  302. </tr>
  303. <tr id="i9" class="rowColor">
  304. <td class="colFirst"><code>void</code></td>
  305. <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setName(java.lang.String)">setName</a></span>&#8203;(java.lang.String&nbsp;newname)</code></th>
  306. <td class="colLast">
  307. <div class="block">Changes the name of this method.</div>
  308. </td>
  309. </tr>
  310. <tr id="i10" class="altColor">
  311. <td class="colFirst"><code>void</code></td>
  312. <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setWrappedBody(javassist.CtMethod,javassist.CtMethod.ConstParameter)">setWrappedBody</a></span>&#8203;(<a href="CtMethod.html" title="class in javassist">CtMethod</a>&nbsp;mbody,
  313. <a href="CtMethod.ConstParameter.html" title="class in javassist">CtMethod.ConstParameter</a>&nbsp;constParam)</code></th>
  314. <td class="colLast">
  315. <div class="block">Replace a method body with a new method body wrapping the
  316. given method.</div>
  317. </td>
  318. </tr>
  319. </table>
  320. <ul class="blockList">
  321. <li class="blockList"><a id="methods.inherited.from.class.javassist.CtBehavior">
  322. <!-- -->
  323. </a>
  324. <h3>Methods inherited from class&nbsp;javassist.<a href="CtBehavior.html" title="class in javassist">CtBehavior</a></h3>
  325. <code><a href="CtBehavior.html#addCatch(java.lang.String,javassist.CtClass)">addCatch</a>, <a href="CtBehavior.html#addCatch(java.lang.String,javassist.CtClass,java.lang.String)">addCatch</a>, <a href="CtBehavior.html#addLocalVariable(java.lang.String,javassist.CtClass)">addLocalVariable</a>, <a href="CtBehavior.html#addParameter(javassist.CtClass)">addParameter</a>, <a href="CtBehavior.html#getAnnotation(java.lang.Class)">getAnnotation</a>, <a href="CtBehavior.html#getAnnotations()">getAnnotations</a>, <a href="CtBehavior.html#getAttribute(java.lang.String)">getAttribute</a>, <a href="CtBehavior.html#getAvailableAnnotations()">getAvailableAnnotations</a>, <a href="CtBehavior.html#getAvailableParameterAnnotations()">getAvailableParameterAnnotations</a>, <a href="CtBehavior.html#getExceptionTypes()">getExceptionTypes</a>, <a href="CtBehavior.html#getGenericSignature()">getGenericSignature</a>, <a href="CtBehavior.html#getMethodInfo()">getMethodInfo</a>, <a href="CtBehavior.html#getMethodInfo2()">getMethodInfo2</a>, <a href="CtBehavior.html#getModifiers()">getModifiers</a>, <a href="CtBehavior.html#getParameterAnnotations()">getParameterAnnotations</a>, <a href="CtBehavior.html#getParameterTypes()">getParameterTypes</a>, <a href="CtBehavior.html#getSignature()">getSignature</a>, <a href="CtBehavior.html#hasAnnotation(java.lang.String)">hasAnnotation</a>, <a href="CtBehavior.html#insertAfter(java.lang.String)">insertAfter</a>, <a href="CtBehavior.html#insertAfter(java.lang.String,boolean)">insertAfter</a>, <a href="CtBehavior.html#insertAfter(java.lang.String,boolean,boolean)">insertAfter</a>, <a href="CtBehavior.html#insertAt(int,boolean,java.lang.String)">insertAt</a>, <a href="CtBehavior.html#insertAt(int,java.lang.String)">insertAt</a>, <a href="CtBehavior.html#insertBefore(java.lang.String)">insertBefore</a>, <a href="CtBehavior.html#insertParameter(javassist.CtClass)">insertParameter</a>, <a href="CtBehavior.html#instrument(javassist.CodeConverter)">instrument</a>, <a href="CtBehavior.html#instrument(javassist.expr.ExprEditor)">instrument</a>, <a href="CtBehavior.html#setAttribute(java.lang.String,byte%5B%5D)">setAttribute</a>, <a href="CtBehavior.html#setBody(java.lang.String)">setBody</a>, <a href="CtBehavior.html#setBody(java.lang.String,java.lang.String,java.lang.String)">setBody</a>, <a href="CtBehavior.html#setExceptionTypes(javassist.CtClass%5B%5D)">setExceptionTypes</a>, <a href="CtBehavior.html#setGenericSignature(java.lang.String)">setGenericSignature</a>, <a href="CtBehavior.html#setModifiers(int)">setModifiers</a>, <a href="CtBehavior.html#useCflow(java.lang.String)">useCflow</a></code></li>
  326. </ul>
  327. <ul class="blockList">
  328. <li class="blockList"><a id="methods.inherited.from.class.javassist.CtMember">
  329. <!-- -->
  330. </a>
  331. <h3>Methods inherited from class&nbsp;javassist.<a href="CtMember.html" title="class in javassist">CtMember</a></h3>
  332. <code><a href="CtMember.html#getDeclaringClass()">getDeclaringClass</a>, <a href="CtMember.html#hasAnnotation(java.lang.Class)">hasAnnotation</a>, <a href="CtMember.html#toString()">toString</a>, <a href="CtMember.html#visibleFrom(javassist.CtClass)">visibleFrom</a></code></li>
  333. </ul>
  334. <ul class="blockList">
  335. <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
  336. <!-- -->
  337. </a>
  338. <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
  339. <code>getClass, notify, notifyAll, wait, wait, wait</code></li>
  340. </ul>
  341. </li>
  342. </ul>
  343. </section>
  344. </li>
  345. </ul>
  346. </div>
  347. <div class="details">
  348. <ul class="blockList">
  349. <li class="blockList">
  350. <!-- ========= CONSTRUCTOR DETAIL ======== -->
  351. <section role="region">
  352. <ul class="blockList">
  353. <li class="blockList"><a id="constructor.detail">
  354. <!-- -->
  355. </a>
  356. <h3>Constructor Detail</h3>
  357. <a id="&lt;init&gt;(javassist.CtClass,java.lang.String,javassist.CtClass[],javassist.CtClass)">
  358. <!-- -->
  359. </a>
  360. <ul class="blockList">
  361. <li class="blockList">
  362. <h4>CtMethod</h4>
  363. <pre>public&nbsp;CtMethod&#8203;(<a href="CtClass.html" title="class in javassist">CtClass</a>&nbsp;returnType,
  364. java.lang.String&nbsp;mname,
  365. <a href="CtClass.html" title="class in javassist">CtClass</a>[]&nbsp;parameters,
  366. <a href="CtClass.html" title="class in javassist">CtClass</a>&nbsp;declaring)</pre>
  367. <div class="block">Creates a public abstract method. The created method must be
  368. added to a class with <code>CtClass.addMethod()</code>.</div>
  369. <dl>
  370. <dt><span class="paramLabel">Parameters:</span></dt>
  371. <dd><code>declaring</code> - the class to which the created method is added.</dd>
  372. <dd><code>returnType</code> - the type of the returned value</dd>
  373. <dd><code>mname</code> - the method name</dd>
  374. <dd><code>parameters</code> - a list of the parameter types</dd>
  375. <dt><span class="seeLabel">See Also:</span></dt>
  376. <dd><a href="CtClass.html#addMethod(javassist.CtMethod)"><code>CtClass.addMethod(CtMethod)</code></a></dd>
  377. </dl>
  378. </li>
  379. </ul>
  380. <a id="&lt;init&gt;(javassist.CtMethod,javassist.CtClass,javassist.ClassMap)">
  381. <!-- -->
  382. </a>
  383. <ul class="blockListLast">
  384. <li class="blockList">
  385. <h4>CtMethod</h4>
  386. <pre>public&nbsp;CtMethod&#8203;(<a href="CtMethod.html" title="class in javassist">CtMethod</a>&nbsp;src,
  387. <a href="CtClass.html" title="class in javassist">CtClass</a>&nbsp;declaring,
  388. <a href="ClassMap.html" title="class in javassist">ClassMap</a>&nbsp;map)
  389. throws <a href="CannotCompileException.html" title="class in javassist">CannotCompileException</a></pre>
  390. <div class="block">Creates a copy of a <code>CtMethod</code> object.
  391. The created method must be
  392. added to a class with <code>CtClass.addMethod()</code>.
  393. <p>All occurrences of class names in the created method
  394. are replaced with names specified by
  395. <code>map</code> if <code>map</code> is not <code>null</code>.
  396. <p>For example, suppose that a method <code>at()</code> is as
  397. follows:
  398. <pre>
  399. public X at(int i) {
  400. return (X)super.elementAt(i);
  401. }</pre>
  402. <p>(<code>X</code> is a class name.) If <code>map</code> substitutes
  403. <code>String</code> for <code>X</code>, then the created method is:
  404. <pre>
  405. public String at(int i) {
  406. return (String)super.elementAt(i);
  407. }</pre>
  408. <p>By default, all the occurrences of the names of the class
  409. declaring <code>at()</code> and the superclass are replaced
  410. with the name of the class and the superclass that the
  411. created method is added to.
  412. This is done whichever <code>map</code> is null or not.
  413. To prevent this replacement, call <code>ClassMap.fix()</code>
  414. or <code>put()</code> to explicitly specify replacement.
  415. <p><b>Note:</b> if the <code>.class</code> notation (for example,
  416. <code>String.class</code>) is included in an expression, the
  417. Javac compiler may produce a helper method.
  418. Since this constructor never
  419. copies this helper method, the programmers have the responsiblity of
  420. copying it. Otherwise, use <code>Class.forName()</code> in the
  421. expression.</div>
  422. <dl>
  423. <dt><span class="paramLabel">Parameters:</span></dt>
  424. <dd><code>src</code> - the source method.</dd>
  425. <dd><code>declaring</code> - the class to which the created method is added.</dd>
  426. <dd><code>map</code> - the hashtable associating original class names
  427. with substituted names.
  428. It can be <code>null</code>.</dd>
  429. <dt><span class="throwsLabel">Throws:</span></dt>
  430. <dd><code><a href="CannotCompileException.html" title="class in javassist">CannotCompileException</a></code></dd>
  431. <dt><span class="seeLabel">See Also:</span></dt>
  432. <dd><a href="CtClass.html#addMethod(javassist.CtMethod)"><code>CtClass.addMethod(CtMethod)</code></a>,
  433. <a href="ClassMap.html#fix(java.lang.String)"><code>ClassMap.fix(String)</code></a></dd>
  434. </dl>
  435. </li>
  436. </ul>
  437. </li>
  438. </ul>
  439. </section>
  440. <!-- ============ METHOD DETAIL ========== -->
  441. <section role="region">
  442. <ul class="blockList">
  443. <li class="blockList"><a id="method.detail">
  444. <!-- -->
  445. </a>
  446. <h3>Method Detail</h3>
  447. <a id="make(java.lang.String,javassist.CtClass)">
  448. <!-- -->
  449. </a>
  450. <ul class="blockList">
  451. <li class="blockList">
  452. <h4>make</h4>
  453. <pre class="methodSignature">public static&nbsp;<a href="CtMethod.html" title="class in javassist">CtMethod</a>&nbsp;make&#8203;(java.lang.String&nbsp;src,
  454. <a href="CtClass.html" title="class in javassist">CtClass</a>&nbsp;declaring)
  455. throws <a href="CannotCompileException.html" title="class in javassist">CannotCompileException</a></pre>
  456. <div class="block">Compiles the given source code and creates a method.
  457. This method simply delegates to <code>make()</code> in
  458. <code>CtNewMethod</code>. See it for more details.
  459. <code>CtNewMethod</code> has a number of useful factory methods.</div>
  460. <dl>
  461. <dt><span class="paramLabel">Parameters:</span></dt>
  462. <dd><code>src</code> - the source text.</dd>
  463. <dd><code>declaring</code> - the class to which the created method is added.</dd>
  464. <dt><span class="throwsLabel">Throws:</span></dt>
  465. <dd><code><a href="CannotCompileException.html" title="class in javassist">CannotCompileException</a></code></dd>
  466. <dt><span class="seeLabel">See Also:</span></dt>
  467. <dd><a href="CtNewMethod.html#make(java.lang.String,javassist.CtClass)"><code>CtNewMethod.make(String, CtClass)</code></a></dd>
  468. </dl>
  469. </li>
  470. </ul>
  471. <a id="make(javassist.bytecode.MethodInfo,javassist.CtClass)">
  472. <!-- -->
  473. </a>
  474. <ul class="blockList">
  475. <li class="blockList">
  476. <h4>make</h4>
  477. <pre class="methodSignature">public static&nbsp;<a href="CtMethod.html" title="class in javassist">CtMethod</a>&nbsp;make&#8203;(<a href="bytecode/MethodInfo.html" title="class in javassist.bytecode">MethodInfo</a>&nbsp;minfo,
  478. <a href="CtClass.html" title="class in javassist">CtClass</a>&nbsp;declaring)
  479. throws <a href="CannotCompileException.html" title="class in javassist">CannotCompileException</a></pre>
  480. <div class="block">Creates a method from a <code>MethodInfo</code> object.</div>
  481. <dl>
  482. <dt><span class="paramLabel">Parameters:</span></dt>
  483. <dd><code>declaring</code> - the class declaring the method.</dd>
  484. <dt><span class="throwsLabel">Throws:</span></dt>
  485. <dd><code><a href="CannotCompileException.html" title="class in javassist">CannotCompileException</a></code> - if the the <code>MethodInfo</code>
  486. object and the declaring class have different
  487. <code>ConstPool</code> objects</dd>
  488. <dt><span class="simpleTagLabel">Since:</span></dt>
  489. <dd>3.6</dd>
  490. </dl>
  491. </li>
  492. </ul>
  493. <a id="hashCode()">
  494. <!-- -->
  495. </a>
  496. <ul class="blockList">
  497. <li class="blockList">
  498. <h4>hashCode</h4>
  499. <pre class="methodSignature">public&nbsp;int&nbsp;hashCode()</pre>
  500. <div class="block">Returns a hash code value for the method.
  501. If two methods have the same name and signature, then
  502. the hash codes for the two methods are equal.</div>
  503. <dl>
  504. <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
  505. <dd><code>hashCode</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
  506. </dl>
  507. </li>
  508. </ul>
  509. <a id="equals(java.lang.Object)">
  510. <!-- -->
  511. </a>
  512. <ul class="blockList">
  513. <li class="blockList">
  514. <h4>equals</h4>
  515. <pre class="methodSignature">public&nbsp;boolean&nbsp;equals&#8203;(java.lang.Object&nbsp;obj)</pre>
  516. <div class="block">Indicates whether <code>obj</code> has the same name and the
  517. same signature as this method.</div>
  518. <dl>
  519. <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
  520. <dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
  521. </dl>
  522. </li>
  523. </ul>
  524. <a id="getLongName()">
  525. <!-- -->
  526. </a>
  527. <ul class="blockList">
  528. <li class="blockList">
  529. <h4>getLongName</h4>
  530. <pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getLongName()</pre>
  531. <div class="block">Returns the method name followed by parameter types
  532. such as <code>javassist.CtMethod.setBody(String)</code>.</div>
  533. <dl>
  534. <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
  535. <dd><code><a href="CtBehavior.html#getLongName()">getLongName</a></code>&nbsp;in class&nbsp;<code><a href="CtBehavior.html" title="class in javassist">CtBehavior</a></code></dd>
  536. <dt><span class="simpleTagLabel">Since:</span></dt>
  537. <dd>3.5</dd>
  538. </dl>
  539. </li>
  540. </ul>
  541. <a id="getName()">
  542. <!-- -->
  543. </a>
  544. <ul class="blockList">
  545. <li class="blockList">
  546. <h4>getName</h4>
  547. <pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getName()</pre>
  548. <div class="block">Obtains the name of this method.</div>
  549. <dl>
  550. <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
  551. <dd><code><a href="CtMember.html#getName()">getName</a></code>&nbsp;in class&nbsp;<code><a href="CtMember.html" title="class in javassist">CtMember</a></code></dd>
  552. <dt><span class="seeLabel">See Also:</span></dt>
  553. <dd><a href="CtConstructor.html#getName()"><code>CtConstructor.getName()</code></a></dd>
  554. </dl>
  555. </li>
  556. </ul>
  557. <a id="setName(java.lang.String)">
  558. <!-- -->
  559. </a>
  560. <ul class="blockList">
  561. <li class="blockList">
  562. <h4>setName</h4>
  563. <pre class="methodSignature">public&nbsp;void&nbsp;setName&#8203;(java.lang.String&nbsp;newname)</pre>
  564. <div class="block">Changes the name of this method.</div>
  565. </li>
  566. </ul>
  567. <a id="getReturnType()">
  568. <!-- -->
  569. </a>
  570. <ul class="blockList">
  571. <li class="blockList">
  572. <h4>getReturnType</h4>
  573. <pre class="methodSignature">public&nbsp;<a href="CtClass.html" title="class in javassist">CtClass</a>&nbsp;getReturnType()
  574. throws <a href="NotFoundException.html" title="class in javassist">NotFoundException</a></pre>
  575. <div class="block">Obtains the type of the returned value.</div>
  576. <dl>
  577. <dt><span class="throwsLabel">Throws:</span></dt>
  578. <dd><code><a href="NotFoundException.html" title="class in javassist">NotFoundException</a></code></dd>
  579. </dl>
  580. </li>
  581. </ul>
  582. <a id="isEmpty()">
  583. <!-- -->
  584. </a>
  585. <ul class="blockList">
  586. <li class="blockList">
  587. <h4>isEmpty</h4>
  588. <pre class="methodSignature">public&nbsp;boolean&nbsp;isEmpty()</pre>
  589. <div class="block">Returns true if the method body is empty, that is, <code>{}</code>.
  590. It also returns true if the method is an abstract method.</div>
  591. <dl>
  592. <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
  593. <dd><code><a href="CtBehavior.html#isEmpty()">isEmpty</a></code>&nbsp;in class&nbsp;<code><a href="CtBehavior.html" title="class in javassist">CtBehavior</a></code></dd>
  594. </dl>
  595. </li>
  596. </ul>
  597. <a id="setBody(javassist.CtMethod,javassist.ClassMap)">
  598. <!-- -->
  599. </a>
  600. <ul class="blockList">
  601. <li class="blockList">
  602. <h4>setBody</h4>
  603. <pre class="methodSignature">public&nbsp;void&nbsp;setBody&#8203;(<a href="CtMethod.html" title="class in javassist">CtMethod</a>&nbsp;src,
  604. <a href="ClassMap.html" title="class in javassist">ClassMap</a>&nbsp;map)
  605. throws <a href="CannotCompileException.html" title="class in javassist">CannotCompileException</a></pre>
  606. <div class="block">Copies a method body from another method.
  607. If this method is abstract, the abstract modifier is removed
  608. after the method body is copied.
  609. <p>All occurrences of the class names in the copied method body
  610. are replaced with the names specified by
  611. <code>map</code> if <code>map</code> is not <code>null</code>.</div>
  612. <dl>
  613. <dt><span class="paramLabel">Parameters:</span></dt>
  614. <dd><code>src</code> - the method that the body is copied from.</dd>
  615. <dd><code>map</code> - the hashtable associating original class names
  616. with substituted names.
  617. It can be <code>null</code>.</dd>
  618. <dt><span class="throwsLabel">Throws:</span></dt>
  619. <dd><code><a href="CannotCompileException.html" title="class in javassist">CannotCompileException</a></code></dd>
  620. </dl>
  621. </li>
  622. </ul>
  623. <a id="setWrappedBody(javassist.CtMethod,javassist.CtMethod.ConstParameter)">
  624. <!-- -->
  625. </a>
  626. <ul class="blockListLast">
  627. <li class="blockList">
  628. <h4>setWrappedBody</h4>
  629. <pre class="methodSignature">public&nbsp;void&nbsp;setWrappedBody&#8203;(<a href="CtMethod.html" title="class in javassist">CtMethod</a>&nbsp;mbody,
  630. <a href="CtMethod.ConstParameter.html" title="class in javassist">CtMethod.ConstParameter</a>&nbsp;constParam)
  631. throws <a href="CannotCompileException.html" title="class in javassist">CannotCompileException</a></pre>
  632. <div class="block">Replace a method body with a new method body wrapping the
  633. given method.</div>
  634. <dl>
  635. <dt><span class="paramLabel">Parameters:</span></dt>
  636. <dd><code>mbody</code> - the wrapped method</dd>
  637. <dd><code>constParam</code> - the constant parameter given to
  638. the wrapped method
  639. (maybe <code>null</code>).</dd>
  640. <dt><span class="throwsLabel">Throws:</span></dt>
  641. <dd><code><a href="CannotCompileException.html" title="class in javassist">CannotCompileException</a></code></dd>
  642. <dt><span class="seeLabel">See Also:</span></dt>
  643. <dd><a href="CtNewMethod.html#wrapped(javassist.CtClass,java.lang.String,javassist.CtClass%5B%5D,javassist.CtClass%5B%5D,javassist.CtMethod,javassist.CtMethod.ConstParameter,javassist.CtClass)"><code>CtNewMethod.wrapped(CtClass,String,CtClass[],CtClass[],CtMethod,CtMethod.ConstParameter,CtClass)</code></a></dd>
  644. </dl>
  645. </li>
  646. </ul>
  647. </li>
  648. </ul>
  649. </section>
  650. </li>
  651. </ul>
  652. </div>
  653. </div>
  654. </main>
  655. <!-- ========= END OF CLASS DATA ========= -->
  656. <footer role="contentinfo">
  657. <nav role="navigation">
  658. <!-- ======= START OF BOTTOM NAVBAR ====== -->
  659. <div class="bottomNav"><a id="navbar.bottom">
  660. <!-- -->
  661. </a>
  662. <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
  663. <a id="navbar.bottom.firstrow">
  664. <!-- -->
  665. </a>
  666. <ul class="navList" title="Navigation">
  667. <li><a href="../index.html">Overview</a></li>
  668. <li><a href="package-summary.html">Package</a></li>
  669. <li class="navBarCell1Rev">Class</li>
  670. <li><a href="class-use/CtMethod.html">Use</a></li>
  671. <li><a href="package-tree.html">Tree</a></li>
  672. <li><a href="../deprecated-list.html">Deprecated</a></li>
  673. <li><a href="../index-all.html">Index</a></li>
  674. </ul>
  675. </div>
  676. <div class="subNav">
  677. <ul class="navList" id="allclasses_navbar_bottom">
  678. <li><a href="../allclasses.html">All&nbsp;Classes</a></li>
  679. </ul>
  680. <div>
  681. <script type="text/javascript"><!--
  682. allClassesLink = document.getElementById("allclasses_navbar_bottom");
  683. if(window==top) {
  684. allClassesLink.style.display = "block";
  685. }
  686. else {
  687. allClassesLink.style.display = "none";
  688. }
  689. //-->
  690. </script>
  691. <noscript>
  692. <div>JavaScript is disabled on your browser.</div>
  693. </noscript>
  694. </div>
  695. <div>
  696. <ul class="subNavList">
  697. <li>Summary:&nbsp;</li>
  698. <li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
  699. <li>Field&nbsp;|&nbsp;</li>
  700. <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
  701. <li><a href="#method.summary">Method</a></li>
  702. </ul>
  703. <ul class="subNavList">
  704. <li>Detail:&nbsp;</li>
  705. <li>Field&nbsp;|&nbsp;</li>
  706. <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
  707. <li><a href="#method.detail">Method</a></li>
  708. </ul>
  709. </div>
  710. <a id="skip.navbar.bottom">
  711. <!-- -->
  712. </a></div>
  713. <!-- ======== END OF BOTTOM NAVBAR ======= -->
  714. </nav>
  715. <p class="legalCopy"><small><i>Javassist, a Java-bytecode translator toolkit.<br>
  716. Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.</i></small></p>
  717. </footer>
  718. </body>
  719. </html>