public class Label extends Object implements CodeGenerator
Labels are used as the targets for jumps, and for exception handlers. Labels can be named. They implement CodeGenerator, which allows them to be added to things like an InstructionVector. The writeCode method takes care of marking the label with the context.
| Modifier and Type | Method and Description |
|---|---|
int |
stackDelta()
Return the change in the stack dept this generator will cause.
|
int |
stackDepth()
Return the total depth of the stack required by this CodeGenerator.
|
String |
toString() |
void |
writeCode(CodeContext ctx)
Write the byte or bytes for this CodeGenerator to a CodeContext.
|
public void writeCode(CodeContext ctx) throws CodeException
CodeGeneratorwriteCode in interface CodeGeneratorctx - a CodeContext to write toCodeException - if there was some failure in writing to the contextpublic int stackDepth()
CodeGeneratorFor single byte-code instructions, this will be the same as stackDelta() if stackDelta() is positive, zero otherwise. For a compound instruction, this will be the maximum stack depth required to execute all sub-instructions.
stackDepth in interface CodeGeneratorpublic int stackDelta()
CodeGeneratorIn the case of an instruction that adds items to the stack, stackDelta will be positive. For instructions that removes items from the stack, this will be negative.
stackDelta in interface CodeGeneratorCopyright © 2020 BioJava. All rights reserved.