Example of how to create and insert a callback:
ctMethod.insertAfter(new Callback("Thread.currentThread()") {
public void result(Object[] objects) {
Thread thread = (Thread) objects[0];
// do something with thread...
}
}.sourceCode());
Contains utility methods for inserts callbacks in CtBehaviour, example:
insertAfter(ctBehaviour, new Callback("Thread.currentThread(), dummyString") {
public void result(Object[] objects) {
Thread thread = (Thread) objects[0];
// do something with thread...
}
});
| Modifier and Type | Field and Description |
|---|---|
| public static Map | |
| private final String |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public static void | insertAfter(CtBehavior
The behaviour to insert callback in behavior, Callback The callback callback)Utility method to inserts callback at the end of the body. |
| public static void | insertAfter(CtBehavior
The behaviour to insert callback in behavior, Callback The callback representing the inserted. callback, boolean True if the inserted is executed
Not only when the control normally returns
but also when an exception is thrown.
If this parameter is true, the inserted code cannot
access local variables. asFinally)Utility method to inserts callback at the end of the body. |
| public static int | Returns: The line number at which the callback has been inserted.The behaviour to insert callback in behavior, Callback The callback representing. callback, int The line number. The callback is inserted at the
beginning of the code at the line specified by this
line number. lineNum)Utility method to inserts callback at the specified line in the body. |
| public static void | insertBefore(CtBehavior behavior, Callback
The callback callback)Utility method to insert callback at the beginning of the body. |
| public abstract void | |
| public String | |
| public String |
| callbacks | back to summary |
|---|---|
| public static Map<String, Callback> callbacks | |
| sourceCode | back to summary |
|---|---|
| private final String sourceCode | |
| Callback | back to summary |
|---|---|
| public Callback(String src) Constructs a new
| |
| insertAfter | back to summary |
|---|---|
| public static void insertAfter(CtBehavior behavior, Callback callback) throws CannotCompileException Utility method to inserts callback at the end of the body. The callback is inserted just before every return instruction. It is not executed when an exception is thrown.
| |
| insertAfter | back to summary |
|---|---|
| public static void insertAfter(CtBehavior behavior, Callback callback, boolean asFinally) throws CannotCompileException Utility method to inserts callback at the end of the body. The callback is inserted just before every return instruction. It is not executed when an exception is thrown.
| |
| insertAt | back to summary |
|---|---|
| public static int insertAt(CtBehavior behavior, Callback callback, int lineNum) throws CannotCompileException Utility method to inserts callback at the specified line in the body.
| |
| insertBefore | back to summary |
|---|---|
| public static void insertBefore(CtBehavior behavior, Callback callback) throws CannotCompileException Utility method to insert callback at the beginning of the body.
| |
| result | back to summary |
|---|---|
| public abstract void result(Object[] objects) Gets called when bytecode is executed
| |
| sourceCode | back to summary |
|---|---|
| public String sourceCode() | |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Doc from java. Returns a string representation of the object.
Satisfying this method's contract implies a non- | |