Interface IJavaLabelFactory
A manager of
IJavaLabel. Each IJavaMethod has its own label factory.-
Method Summary
Modifier and TypeMethodDescriptionbooleancheckEquivalence(IJavaLabel label1, IJavaLabel label2) Determine whether two labels refer to equivalent locations.create()Create an unnamed label with no offset.create(int offset) Create an unnamed label at an offset.Create a named label.Get the list of labels defined by the factory.voidrecordTrampoline(int trampoAddr, int targetAddr) Record a trampoline relationship between two addresses.
-
Method Details
-
create
Create a named label.- Parameters:
offset- a client-defined offset, that may or may not represent a valid location within the instruction sequence used to build this AST. In practice, this offset should be an IR instruction one.name- mandatory label name, should be unique, or the method will throw an exception.- Returns:
- the newly created label
-
create
Create an unnamed label at an offset.- Parameters:
offset- client-defined offset- Returns:
- the newly created label
-
create
IJavaLabel create()Create an unnamed label with no offset.- Returns:
- the newly created label
-
getLabels
List<IJavaLabel> getLabels()Get the list of labels defined by the factory.- Returns:
- defined labels
-
recordTrampoline
void recordTrampoline(int trampoAddr, int targetAddr) Record a trampoline relationship between two addresses.- Parameters:
trampoAddr- trampoline addresstargetAddr- target address
-
checkEquivalence
Determine whether two labels refer to equivalent locations.- Parameters:
label1- first labellabel2- second label- Returns:
- true if the labels are equivalent
-