211 boolean canBeInlined(); 212 213 /** 214 * Returns {@code true} if the inlining of this method should be forced. 215 */ 216 boolean shouldBeInlined(); 217 218 /** 219 * Returns the LineNumberTable of this method or null if this method does not have a line 220 * numbers table. 221 */ 222 LineNumberTable getLineNumberTable(); 223 224 /** 225 * Returns the local variable table of this method or null if this method does not have a local 226 * variable table. 227 */ 228 LocalVariableTable getLocalVariableTable(); 229 230 /** 231 * Invokes the underlying method represented by this object, on the specified object with the 232 * specified parameters. This method is similar to a reflective method invocation by 233 * {@link Method#invoke}. 234 * 235 * @param receiver The receiver for the invocation, or {@code null} if it is a static method. 236 * @param arguments The arguments for the invocation. 237 * @return The value returned by the method invocation, or {@code null} if the return type is 238 * {@code void}. 239 */ 240 JavaConstant invoke(JavaConstant receiver, JavaConstant[] arguments); 241 242 /** 243 * Gets the encoding of (that is, a constant representing the value of) this method. 244 * 245 * @return a constant representing a reference to this method 246 */ 247 Constant getEncoding(); 248 249 /** 250 * Checks if this method is present in the virtual table for subtypes of the specified 251 * {@linkplain ResolvedJavaType type}. 252 * 253 * @return true is this method is present in the virtual table for subtypes of this type. 254 */ 255 boolean isInVirtualMethodTable(ResolvedJavaType resolved); 256 257 /** 258 * Gets the annotation of a particular type for a formal parameter of this method. 259 * 260 * @param annotationClass the Class object corresponding to the annotation type 261 * @param parameterIndex the index of a formal parameter of {@code method} 262 * @return the annotation of type {@code annotationClass} for the formal parameter present, else | 211 boolean canBeInlined(); 212 213 /** 214 * Returns {@code true} if the inlining of this method should be forced. 215 */ 216 boolean shouldBeInlined(); 217 218 /** 219 * Returns the LineNumberTable of this method or null if this method does not have a line 220 * numbers table. 221 */ 222 LineNumberTable getLineNumberTable(); 223 224 /** 225 * Returns the local variable table of this method or null if this method does not have a local 226 * variable table. 227 */ 228 LocalVariableTable getLocalVariableTable(); 229 230 /** 231 * Gets the encoding of (that is, a constant representing the value of) this method. 232 * 233 * @return a constant representing a reference to this method 234 */ 235 Constant getEncoding(); 236 237 /** 238 * Checks if this method is present in the virtual table for subtypes of the specified 239 * {@linkplain ResolvedJavaType type}. 240 * 241 * @return true is this method is present in the virtual table for subtypes of this type. 242 */ 243 boolean isInVirtualMethodTable(ResolvedJavaType resolved); 244 245 /** 246 * Gets the annotation of a particular type for a formal parameter of this method. 247 * 248 * @param annotationClass the Class object corresponding to the annotation type 249 * @param parameterIndex the index of a formal parameter of {@code method} 250 * @return the annotation of type {@code annotationClass} for the formal parameter present, else |