• Home
  • Raw
  • Download

Lines Matching full:code

32 <p><code>CtClass</code> provides methods for introspection.  The
34 the Java reflection API. <code>CtClass</code> provides
35 <code>getName()</code>, <code>getSuperclass()</code>,
36 <code>getMethods()</code>, and so on.
37 <code>CtClass</code> also provides methods for modifying a class
42 Methods are represented by <code>CtMethod</code> objects.
43 <code>CtMethod</code> provides several methods for modifying
46 the same <code>CtMethod</code> object
49 A <code>CtMethod</code> object corresponds to every method declaration.
52 For example, if class <code>Point</code> declares method <code>move()</code>
53 and a subclass <code>ColorPoint</code> of <code>Point</code> does
54 not override <code>move()</code>, the two <code>move()</code> methods
55 declared in <code>Point</code> and inherited in <code>ColorPoint</code>
56 are represented by the identical <code>CtMethod</code> object.
58 <code>CtMethod</code> object is modified, the modification is
60 If you want to modify only the <code>move()</code> method in
61 <code>ColorPoint</code>, you first have to add to <code>ColorPoint</code>
62 a copy of the <code>CtMethod</code> object representing <code>move()</code>
63 in <code>Point</code>. A copy of the the <code>CtMethod</code> object
64 can be obtained by <code>CtNewMethod.copy()</code>.
73 <code>setName()</code>
74 and <code>setModifiers()</code> declared in <code>CtMethod</code>.
79 same class. For example, if you want to add an extra <code>int</code>
80 parameter <code>newZ</code> to a method:
84 <p>in a <code>Point</code> class, then you should add the following
85 method to the <code>Point</code> class:
97 class file. For example, <code>getClassFile()</code> in
98 <code>CtClass</code> returns a <code>ClassFile</code> object
99 representing a raw class file. <code>getMethodInfo()</code> in
100 <code>CtMethod</code> returns a <code>MethodInfo</code> object
101 representing a <code>method_info</code> structure included in a class
105 <a href="tutorial3.html#intro"><code>javassist.bytecode</code> package</a>.
108 <code>javassist.runtime</code> package for runtime support
109 only if some special identifiers starting with <code>$</code>
112 do not need the <code>javassist.runtime</code> package or any
115 of the <code>javassist.runtime</code> package.
122 <p><code>CtMethod</code> and <code>CtConstructor</code> provide
123 methods <code>insertBefore()</code>, <code>insertAfter()</code>, and
124 <code>addCatch()</code>. They are used for inserting a code fragment
125 into the body of an existing method. The users can specify those code
133 Inserting a code fragment at the position specified by a line number
136 <code>insertAt()</code> in <code>CtMethod</code> and
137 <code>CtConstructor</code> takes source text and a line number in the source
139 It compiles the source text and inserts the compiled code at the line number.
141 <p>The methods <code>insertBefore()</code>, <code>insertAfter()</code>,
142 <code>addCatch()</code>, and <code>insertAt()</code>
143 receive a <code>String</code> object representing
145 <code>if</code> and <code>while</code> or an expression ending with
146 a semi colon (<code>;</code>). A block is a set of
147 statements surrounded with braces <code>{}</code>.
161 variables <code>$0</code>, <code>$1</code>, <code>$2</code>, ... described
165 However, <code>insertAt()</code> allows the statement and the block
180 <p>The <code>String</code> object passed to the methods
181 <code>insertBefore()</code>, <code>insertAfter()</code>,
182 <code>addCatch()</code>, and <code>insertAt()</code> are compiled by
185 several identifiers starting with <code>$</code>
190 <td><code>$0</code>, <code>$1</code>, <code>$2</code>, ... &nbsp &nbsp</td>
191 <td><code>this</code> and actual parameters</td>
195 <td><code>$args</code></td>
197 The type of <code>$args</code> is <code>Object[]</code>.
202 <td><code>$$</code></td>
204 For example, <code>m($$)</code> is equivalent to
205 <code>m($1,$2,</code>...<code>)</code></td>
211 <td><code>$cflow(</code>...<code>)</code></td>
212 <td><code>cflow</code> variable</td>
216 <td><code>$r</code></td>
221 <td><code>$w</code></td>
226 <td><code>$_</code></td>
231 <td><code>$sig</code></td>
232 <td>An array of <code>java.lang.Class</code> objects representing
238 <td><code>$type</code></td>
239 <td>A <code>java.lang.Class</code> object representing
244 <td><code>$class</code></td>
245 <td>A <code>java.lang.Class</code> object representing
256 <code>$1</code>, <code>$2</code>, ... instead of
258 <code>$1</code> represents the
259 first parameter, <code>$2</code> represents the second parameter, and
262 <code>$0</code> is
263 equivalent to <code>this</code>. If the method is static,
264 <code>$0</code> is not available.
267 <code>Point</code>:
275 <p>To print the values of <code>dx</code> and <code>dy</code>
276 whenever the method <code>move()</code> is called, execute this
286 <p>Note that the source text passed to <code>insertBefore()</code> is
287 surrounded with braces <code>{}</code>.
288 <code>insertBefore()</code> accepts only a single statement or a block
291 <p>The definition of the class <code>Point</code> after the
303 <p><code>$1</code> and <code>$2</code> are replaced with
304 <code>dx</code> and <code>dy</code>, respectively.
306 <p><code>$1</code>, <code>$2</code>, <code>$3</code> ... are
314 <p>The variable <code>$args</code> represents an array of all the
316 <code>Object</code>. If a parameter type is a primitive type such as
317 <code>int</code>, then the parameter value is converted into a wrapper
318 object such as <code>java.lang.Integer</code> to store in
319 <code>$args</code>. Thus, <code>$args[0]</code> is equivalent to
320 <code>$1</code> unless the type of the first parameter is a primitive
321 type. Note that <code>$args[0]</code> is not equivalent to
322 <code>$0</code>; <code>$0</code> represents <code>this</code>.
324 <p>If an array of <code>Object</code> is assigned to
325 <code>$args</code>, then each element of that array is
333 <p>The variable <code>$$</code> is abbreviation of a list of
336 to method <code>move()</code> is three, then
344 <p>If <code>move()</code> does not take any parameters,
345 then <code>move($$)</code> is
346 equivalent to <code>move()</code>.
348 <p><code>$$</code> can be used with another method.
357 <p>Note that <code>$$</code> enables generic notation of method call
359 It is typically used with <code>$proceed</code> shown later.
363 <p><code>$cflow</code> means "control flow".
368 <code>CtMethod</code> object <code>cm</code>:
377 <p>To use <code>$cflow</code>, first declare that <code>$cflow</code>
378 is used for monitoring calls to the method <code>fact()</code>:
383 <p>The parameter to <code>useCflow()</code> is the identifier of the
384 declared <code>$cflow</code> variable. Any valid Java name can be
386 <code>.</code> (dot), for example, <code>"my.Test.fact"</code>
389 <p>Then, <code>$cflow(fact)</code> represents the depth of the
390 recursive calls to the method specified by <code>cm</code>. The value
391 of <code>$cflow(fact)</code> is 0 (zero) when the method is
400 <p>translates the method <code>fact()</code> so that it shows the
401 parameter. Since the value of <code>$cflow(fact)</code> is checked,
402 the method <code>fact()</code> does not show the parameter if it is
403 recursively called within <code>fact()</code>.
405 <p>The value of <code>$cflow</code> is the number of stack frames
406 associated with the specified method <code>cm</code>
408 stack frame for the current thread. <code>$cflow</code> is also
410 <code>cm</code>.
414 <p><code>$r</code> represents the result type (return type) of the method.
421 <p>If the result type is a primitive type, then <code>($r)</code>
423 expression is a primitive type, <code>($r)</code> works as a normal
426 <code>($r)</code> converts from the wrapper type to the result type.
427 For example, if the result type is <code>int</code>, then
428 <code>($r)</code> converts from <code>java.lang.Integer</code> to
429 <code>int</code>.
431 <p>If the result type is <code>void</code>, then
432 <code>($r)</code> does not convert a type; it does nothing.
433 However, if the operand is a call to a <code>void</code> method,
434 then <code>($r)</code> results in <code>null</code>. For example,
435 if the result type is <code>void</code> and
436 <code>foo()</code> is a <code>void</code> method, then
442 <p>The cast operator <code>($r)</code> is also useful in a
443 <code>return</code> statement. Even if the result type is
444 <code>void</code>, the following <code>return</code> statement is valid:
448 <p>Here, <code>result</code> is some local variable.
449 Since <code>($r)</code> is specified, the resulting value is
451 This <code>return</code> statement is regarded as the equivalent
452 of the <code>return</code> statement without a resulting value:
458 <p><code>$w</code> represents a wrapper type.
460 <code>($w)</code> converts from a primitive type to the corresponding
463 The following code is an example:
468 following <code>($w)</code>. If the type of the expression is
469 <code>double</code>, then the wrapper type is <code>java.lang.Double</code>.
471 <p>If the type of the expression following <code>($w)</code> is not
472 a primitive type, then <code>($w)</code> does nothing.
476 <p><code>insertAfter()</code> in <code>CtMethod</code> and
477 <code>CtConstructor</code> inserts the
478 compiled code at the end of the method. In the statement given to
479 <code>insertAfter()</code>, not only the variables shown above such as
480 <code>$0</code>, <code>$1</code>, ... but also <code>$_</code> is
483 <p>The variable <code>$_</code> represents the resulting value of the
485 return type) of the method. If the result type is <code>void</code>,
486 then the type of <code>$_</code> is <code>Object</code> and the value
487 of <code>$_</code> is <code>null</code>.
489 <p>Although the compiled code inserted by <code>insertAfter()</code>
493 <code>asFinally</code> to <code>insertAfter()</code> must be
494 <code>true</code>.
496 <p>If an exception is thrown, the compiled code inserted by
497 <code>insertAfter()</code> is executed as a <code>finally</code>
498 clause. The value of <code>$_</code> is <code>0</code> or
499 <code>null</code> in the compiled code. After the execution of the
500 compiled code terminates, the exception originally thrown is re-thrown
501 to the caller. Note that the value of <code>$_</code> is never thrown
506 <p>The value of <code>$sig</code> is an array of
507 <code>java.lang.Class</code> objects that represent the formal
512 <p>The value of <code>$type</code> is an <code>java.lang.Class</code>
514 variable refers to <code>Void.class</code> if this is a constructor.
518 <p>The value of <code>$class</code> is an <code>java.lang.Class</code>
520 This represents the type of <code>$0</code>.
524 <p><code>addCatch()</code> inserts a code fragment into a method body
525 so that the code fragment is executed when the method body throws
527 text representing the inserted code fragment, the exception value
528 is referred to with the special variable <code>$e</code>.
538 <p>translates the method body represented by <code>m</code> into
551 <p>Note that the inserted code fragment must end with a
552 <code>throw</code> or <code>return</code> statement.
559 <p><code>CtMethod</code> and <code>CtConstructor</code> provide
560 <code>setBody()</code> for substituting a whole
563 text is <code>null</code>, the substituted body includes only a
564 <code>return</code> statement, which returns zero or null unless the
565 result type is <code>void</code>.
567 <p>In the source text given to <code>setBody()</code>, the identifiers
568 starting with <code>$</code> have special meaning
572 <td><code>$0</code>, <code>$1</code>, <code>$2</code>, ... &nbsp &nbsp</td>
573 <td><code>this</code> and actual parameters</td>
577 <td><code>$args</code></td>
579 The type of <code>$args</code> is <code>Object[]</code>.
584 <td><code>$$</code></td>
589 <td><code>$cflow(</code>...<code>)</code></td>
590 <td><code>cflow</code> variable</td>
594 <td><code>$r</code></td>
599 <td><code>$w</code></td>
604 <td><code>$sig</code></td>
605 <td>An array of <code>java.lang.Class</code> objects representing
611 <td><code>$type</code></td>
612 <td>A <code>java.lang.Class</code> object representing
617 <td><code>$class</code></td>
618 <td rowspan=2>A <code>java.lang.Class</code> object representing
628 Note that <code>$_</code> is not available.
633 <code>javassist.expr.ExprEditor</code> is a class
635 The users can define a subclass of <code>ExprEditor</code>
638 <p>To run an <code>ExprEditor</code> object, the users must
639 call <code>instrument()</code> in <code>CtMethod</code> or
640 <code>CtClass</code>.
658 <p>searches the method body represented by <code>cm</code> and
659 replaces all calls to <code>move()</code> in class <code>Point</code>
665 <p>so that the first parameter to <code>move()</code> is always 0.
666 Note that the substituted code is not an expression but
669 <p>The method <code>instrument()</code> searches a method body.
671 creation, then it calls <code>edit()</code> on the given
672 <code>ExprEditor</code> object. The parameter to <code>edit()</code>
673 is an object representing the found expression. The <code>edit()</code>
676 <p>Calling <code>replace()</code> on the parameter to <code>edit()</code>
678 block is an empty block, that is, if <code>replace("{}")</code>
683 <code>replace()</code>:
703 also available in the source text passed to <code>replace()</code>
704 if the method searched by <code>instrument()</code> was compiled
710 <p>A <code>MethodCall</code> object represents a method call.
711 The method <code>replace()</code> in
712 <code>MethodCall</code> substitutes a statement or
715 block, in which the identifiers starting with <code>$</code>
717 <code>insertBefore()</code>.
721 <td><code>$0</code></td>
724 This is not equivalent to <code>this</code>, which represents
725 the caller-side <code>this</code> object.<br>
726 <code>$0</code> is <code>null</code> if the method is static.
735 <td><code>$1</code>, <code>$2</code>, ... &nbsp &nbsp</td>
742 <code>$_</code></td>
746 <tr><td><code>$r</code></td>
750 <tr><td><code>$class</code> &nbsp &nbsp</td>
751 <td>A <code>java.lang.Class</code> object representing
756 <tr><td><code>$sig</code> &nbsp &nbsp</td>
757 <td>An array of <code>java.lang.Class</code> objects representing
761 <tr><td><code>$type</code> &nbsp &nbsp</td>
762 <td>A <code>java.lang.Class</code> object representing
766 <tr><td><code>$proceed</code> &nbsp &nbsp</td>
775 <code>MethodCall</code> object.
777 <p>The other identifiers such as <code>$w</code>,
778 <code>$args</code> and <code>$$</code>
781 <p>Unless the result type of the method call is <code>void</code>,
783 <code>$_</code> in the source text and the type of <code>$_</code>
785 If the result type is <code>void</code>, the type of <code>$_</code>
786 is <code>Object</code> and the value assigned to <code>$_</code>
789 <p><code>$proceed</code> is not a <code>String</code> value but special
791 <code>( )</code>.
795 <p>A <code>ConstructorCall</code> object represents a constructor call
796 such as <code>this()</code> and <code>super</code> included in a constructor
798 The method <code>replace()</code> in
799 <code>ConstructorCall</code> substitutes a statement or
802 block, in which the identifiers starting with <code>$</code>
804 <code>insertBefore()</code>.
808 <td><code>$0</code></td>
811 This is equivalent to <code>this</code>.
816 <td><code>$1</code>, <code>$2</code>, ... &nbsp &nbsp</td>
822 <tr><td><code>$class</code> &nbsp &nbsp</td>
823 <td>A <code>java.lang.Class</code> object representing
828 <tr><td><code>$sig</code> &nbsp &nbsp</td>
829 <td>An array of <code>java.lang.Class</code> objects representing
833 <tr><td><code>$proceed</code> &nbsp &nbsp</td>
842 <code>ConstructorCall</code> object.
844 <p>The other identifiers such as <code>$w</code>,
845 <code>$args</code> and <code>$$</code>
851 normally a call to <code>$proceed()</code>.
853 <p><code>$proceed</code> is not a <code>String</code> value but special
855 <code>( )</code>.
859 <p>A <code>FieldAccess</code> object represents field access.
860 The method <code>edit()</code> in <code>ExprEditor</code>
862 The method <code>replace()</code> in
863 <code>FieldAccess</code> receives
868 In the source text, the identifiers starting with <code>$</code>
873 <td><code>$0</code></td>
876 This is not equivalent to <code>this</code>.<br>
877 <code>this</code> represents the object that the method including the
879 <code>$0</code> is <code>null</code> if the field is static.
888 <td><code>$1</code></td>
892 <br>Otherwise, <code>$1</code> is not available.
899 <td><code>$_</code></td>
903 <br>Otherwise, the value stored in <code>$_</code> is discarded.
909 <td><code>$r</code></td>
912 <br>Otherwise, <code>$r</code> is <code>void</code>.
918 <tr><td><code>$class</code> &nbsp &nbsp</td>
919 <td>A <code>java.lang.Class</code> object representing
923 <tr><td><code>$type</code></td>
924 <td>A <code>java.lang.Class</code> object representing
928 <tr><td><code>$proceed</code> &nbsp &nbsp</td>
937 <p>The other identifiers such as <code>$w</code>,
938 <code>$args</code> and <code>$$</code>
942 <code>$_</code> in the source text. The type of <code>$_</code>
947 <p>A <code>NewExpr</code> object represents object creation
948 with the <code>new</code> operator (not including array creation).
949 The method <code>edit()</code> in <code>ExprEditor</code>
951 The method <code>replace()</code> in
952 <code>NewExpr</code> receives
957 In the source text, the identifiers starting with <code>$</code>
963 <td><code>$0</code></td>
965 <code>null</code>.
970 <td><code>$1</code>, <code>$2</code>, ... &nbsp &nbsp</td>
977 <td><code>$_</code></td>
987 <td><code>$r</code></td>
993 <tr><td><code>$sig</code> &nbsp &nbsp</td>
994 <td>An array of <code>java.lang.Class</code> objects representing
998 <tr><td><code>$type</code> &nbsp &nbsp</td>
999 <td>A <code>java.lang.Class</code> object representing
1003 <tr><td><code>$proceed</code> &nbsp &nbsp</td>
1012 <p>The other identifiers such as <code>$w</code>,
1013 <code>$args</code> and <code>$$</code>
1018 <p>A <code>NewArray</code> object represents array creation
1019 with the <code>new</code> operator.
1020 The method <code>edit()</code> in <code>ExprEditor</code>
1022 The method <code>replace()</code> in
1023 <code>NewArray</code> receives
1028 In the source text, the identifiers starting with <code>$</code>
1034 <td><code>$0</code></td>
1036 <code>null</code>.
1041 <td><code>$1</code>, <code>$2</code>, ... &nbsp &nbsp</td>
1048 <td><code>$_</code></td>
1058 <td><code>$r</code></td>
1064 <tr><td><code>$type</code> &nbsp &nbsp</td>
1065 <td>A <code>java.lang.Class</code> object representing
1069 <tr><td><code>$proceed</code> &nbsp &nbsp</td>
1078 <p>The other identifiers such as <code>$w</code>,
1079 <code>$args</code> and <code>$$</code>
1100 <p>A <code>Instanceof</code> object represents an <code>instanceof</code>
1102 The method <code>edit()</code> in <code>ExprEditor</code>
1104 The method <code>replace()</code> in
1105 <code>Instanceof</code> receives
1110 In the source text, the identifiers starting with <code>$</code>
1116 <td><code>$0</code></td>
1118 <code>null</code>.
1123 <td><code>$1</code></td>
1126 <code>instanceof</code> operator.
1131 <td><code>$_</code></td>
1134 The type of <code>$_</code> is <code>boolean</code>.
1139 <td><code>$r</code></td>
1141 The type on the right hand side of the <code>instanceof</code> operator.
1145 <tr><td><code>$type</code></td>
1146 <td>A <code>java.lang.Class</code> object representing
1147 the type on the right hand side of the <code>instanceof</code> operator.
1151 <tr><td><code>$proceed</code> &nbsp &nbsp</td>
1153 <code>instanceof</code> expression.
1154 <br>It takes one parameter (the type is <code>java.lang.Object</code>)
1158 <br>the original <code>instanceof</code> operator.
1170 <p>The other identifiers such as <code>$w</code>,
1171 <code>$args</code> and <code>$$</code>
1176 <p>A <code>Cast</code> object represents an expression for
1178 The method <code>edit()</code> in <code>ExprEditor</code>
1180 The method <code>replace()</code> in
1181 <code>Cast</code> receives
1186 In the source text, the identifiers starting with <code>$</code>
1192 <td><code>$0</code></td>
1194 <code>null</code>.
1199 <td><code>$1</code></td>
1206 <td><code>$_</code></td>
1209 The type of <code>$_</code> is the same as the type
1211 by <code>( )</code>.
1218 <td><code>$r</code></td>
1220 by <code>( )</code>.
1224 <tr><td><code>$type</code></td>
1225 <td>A <code>java.lang.Class</code> object representing
1226 the same type as <code>$r</code>.
1230 <tr><td><code>$proceed</code> &nbsp &nbsp</td>
1233 <br>It takes one parameter of the type <code>java.lang.Object</code>
1247 <p>The other identifiers such as <code>$w</code>,
1248 <code>$args</code> and <code>$$</code>
1253 <p>A <code>Handler</code> object represents a <code>catch</code>
1254 clause of <code>try-catch</code> statement.
1255 The method <code>edit()</code> in <code>ExprEditor</code>
1256 receives this object if a <code>catch</code> is found.
1257 The method <code>insertBefore()</code> in
1258 <code>Handler</code> compiles the received
1259 source text and inserts it at the beginning of the <code>catch</code> clause.
1262 In the source text, the identifiers starting with <code>$</code>
1268 <td><code>$1</code></td>
1270 The exception object caught by the <code>catch</code> clause.
1275 <td><code>$r</code></td>
1276 <td>the type of the exception caught by the <code>catch</code> clause.
1282 <td><code>$w</code></td>
1287 <tr><td><code>$type</code> &nbsp &nbsp</td>
1289 A <code>java.lang.Class</code> object representing
1290 <br>the type of the exception caught by the <code>catch</code> clause.
1299 <p>If a new exception object is assigned to <code>$1</code>,
1300 it is passed to the original <code>catch</code> clause as the caught
1311 from scratch. <code>CtNewMethod</code>
1312 and <code>CtNewConstructor</code> provide several factory methods,
1313 which are static methods for creating <code>CtMethod</code> or
1314 <code>CtConstructor</code> objects.
1315 Especially, <code>make()</code> creates
1316 a <code>CtMethod</code> or <code>CtConstructor</code> object
1329 <p>adds a public method <code>xmove()</code> to class <code>Point</code>.
1330 In this example, <code>x</code> is a <code>int</code> field in
1331 the class <code>Point</code>.
1333 <p>The source text passed to <code>make()</code> can include the
1334 identifiers starting with <code>$</code> except <code>$_</code>
1335 as in <code>setBody()</code>.
1337 <code>$proceed</code> if the target object and the target method name
1338 are also given to <code>make()</code>. For example,
1347 <p>this program creates a method <code>ymove()</code> defined below:
1353 <p>Note that <code>$proceed</code> has been replaced with
1354 <code>this.move</code>.
1370 non-abstract one after calling <code>setBody()</code>.
1379 <code>m()</code> and <code>n()</code> to a class represented
1380 by <code>cc</code>:
1396 class to a not-abstract class since <code>addMethod()</code> automatically
1409 <p>This program adds a field named <code>z</code> to class
1410 <code>Point</code>.
1421 <p>Now, the method <code>addField()</code> receives the second parameter,
1425 does not end with a semi colon (<code>;</code>).
1427 <p>Furthermore, the above code can be rewritten into the following
1428 simple code:
1438 <p>To remove a field or a method, call <code>removeField()</code>
1439 or <code>removeMethod()</code> in <code>CtClass</code>. A
1440 <code>CtConstructor</code> can be removed by <code>removeConstructor()</code>
1441 in <code>CtClass</code>.
1448 <p><code>CtClass</code>, <code>CtMethod</code>, <code>CtField</code>
1449 and <code>CtConstructor</code> provides a convenient method
1450 <code>getAnnotations()</code> for reading annotations.
1472 <code>getAnnotations()</code>.
1485 <p>This code snippet should print:
1492 Since the annoation of <code>Point</code> is only <code>@Author</code>,
1493 the length of the array <code>all</code> is one
1494 and <code>all[0]</code> is an <code>Author</code> object.
1496 by calling <code>name()</code> and <code>year()</code>
1497 on the <code>Author</code> object.
1499 <p>To use <code>getAnnotations()</code>, annotation types
1500 such as <code>Author</code> must be included in the current
1502 <code>ClassPool</code> object.</em> If the class file of an annotation
1514 <code>javassist.runtime</code> package (for details, please read
1516 <code>javassist.runtime</code> package is the only package that
1525 <p>All the class names in source code must be fully qualified
1527 However, the <code>java.lang</code> package is an
1529 resolve <code>Object</code> as
1530 well as <code>java.lang.Object</code>.
1533 class name, call <code>importPackage()</code> in <code>ClassPool</code>.
1545 to import the <code>java.awt</code> package.
1547 The compiler can recognize <code>Point</code>
1548 as <code>java.awt.Point</code>.
1550 <p>Note that <code>importPackage()</code> <em>does not</em> affect
1551 the <code>get()</code> method in <code>ClassPool</code>.
1553 The parameter to <code>get()</code>
1568 See the <code>javassist.bytecode.annotation</code> package.
1571 enclosed by braces <code>{</code> and <code>}</code>, are not
1576 <p><li>Labeled <code>continue</code> and <code>break</code> statements
1596 <p>If the compiled expression is <code>x.foo(new C())</code>, where
1597 <code>x</code> is an instance of X, the compiler may produce a call
1598 to <code>foo(A)</code> although the compiler can correctly compile
1599 <code>foo((B)new C())</code>.
1601 <p><li>The users are recommended to use <code>#</code> as the separator
1607 <p>calls a method <code>getName()</code> on
1608 the object indicated by the static field <code>intType</code>
1609 in <code>javassist.CtClass</code>. In Javassist, the users can