clojure.asm
Class Label

java.lang.Object
  extended by clojure.asm.Label

public class Label
extends Object

A label represents a position in the bytecode of a method. Labels are used for jump, goto, and switch instructions, and for try catch blocks. A label designates the instruction that is just after. Note however that there can be other elements between a label and the instruction it designates (such as other labels, stack map frames, line numbers, etc.).

Author:
Eric Bruneton

Field Summary
 Object info
          Field used to associate user information to a label.
 
Constructor Summary
Label()
          Constructs a new label.
 
Method Summary
 int getOffset()
          Returns the offset corresponding to this label.
 String toString()
          Returns a string representation of this label.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

info

public Object info
Field used to associate user information to a label. Warning: this field is used by the ASM tree package. In order to use it with the ASM tree package you must override the clojure.asm.tree.MethodNode#getLabelNode method.

Constructor Detail

Label

public Label()
Constructs a new label.

Method Detail

getOffset

public int getOffset()
Returns the offset corresponding to this label. This offset is computed from the start of the method's bytecode. This method is intended for Attribute sub classes, and is normally not needed by class generators or adapters.

Returns:
the offset corresponding to this label.
Throws:
IllegalStateException - if this label is not resolved yet.

toString

public String toString()
Returns a string representation of this label.

Overrides:
toString in class Object
Returns:
a string representation of this label.


Copyright © 2015. All Rights Reserved.