public class MethodImplementationBuilder
extends java.lang.Object
| Constructor and Description |
|---|
MethodImplementationBuilder(int registerCount) |
| Modifier and Type | Method and Description |
|---|---|
void |
addCatch(Label from,
Label to,
Label handler) |
void |
addCatch(java.lang.String type,
Label from,
Label to,
Label handler) |
void |
addCatch(TypeReference type,
Label from,
Label to,
Label handler) |
void |
addEndLocal(int registerNumber) |
void |
addEpilogue() |
void |
addInstruction(BuilderInstruction instruction) |
Label |
addLabel(java.lang.String name)
Adds a new named label at the current location.
|
void |
addLineNumber(int lineNumber) |
void |
addPrologue() |
void |
addRestartLocal(int registerNumber) |
void |
addSetSourceFile(StringReference sourceFile) |
void |
addStartLocal(int registerNumber,
StringReference name,
TypeReference type,
StringReference signature) |
Label |
getLabel(java.lang.String name)
Get a reference to a label with the given name.
|
MethodImplementation |
getMethodImplementation() |
public MethodImplementationBuilder(int registerCount)
public MethodImplementation getMethodImplementation()
@Nonnull public Label addLabel(@Nonnull java.lang.String name)
name - The name of the label to add@Nonnull public Label getLabel(@Nonnull java.lang.String name)
name - The name of the label to getpublic void addCatch(@Nullable
TypeReference type,
@Nonnull
Label from,
@Nonnull
Label to,
@Nonnull
Label handler)
public void addCatch(@Nullable
java.lang.String type,
@Nonnull
Label from,
@Nonnull
Label to,
@Nonnull
Label handler)
public void addLineNumber(int lineNumber)
public void addStartLocal(int registerNumber,
@Nullable
StringReference name,
@Nullable
TypeReference type,
@Nullable
StringReference signature)
public void addEndLocal(int registerNumber)
public void addRestartLocal(int registerNumber)
public void addPrologue()
public void addEpilogue()
public void addSetSourceFile(@Nullable
StringReference sourceFile)
public void addInstruction(@Nullable
BuilderInstruction instruction)