Package org.jboss.classfilewriter.code
Class LookupSwitchBuilder
- java.lang.Object
-
- org.jboss.classfilewriter.code.LookupSwitchBuilder
-
public class LookupSwitchBuilder extends Object
builder class used to build a lookupswitch statement.- Author:
- Stuart Douglas
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classLookupSwitchBuilder.ValuePair
-
Constructor Summary
Constructors Constructor Description LookupSwitchBuilder()Builds a lookup switch statement with no specified default location.LookupSwitchBuilder(CodeLocation defaultLocation)Builds a lookup switch statement, specifying the default location
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AtomicReference<BranchEnd>add(int value)Adds a value to the table that is at a location yet to be written.LookupSwitchBuilderadd(int value, CodeLocation location)Adds a value to the tableAtomicReference<BranchEnd>getDefaultBranchEnd()CodeLocationgetDefaultLocation()List<LookupSwitchBuilder.ValuePair>getValues()
-
-
-
Constructor Detail
-
LookupSwitchBuilder
public LookupSwitchBuilder()
Builds a lookup switch statement with no specified default location. When the lookup switch is added to the code attribute aBranchEndwill be returned that can be used to set the location.
-
LookupSwitchBuilder
public LookupSwitchBuilder(CodeLocation defaultLocation)
Builds a lookup switch statement, specifying the default location- Parameters:
defaultLocation- The default location
-
-
Method Detail
-
add
public AtomicReference<BranchEnd> add(int value)
Adds a value to the table that is at a location yet to be written. After this lookup switch has been written then the BranchEnd can be retrieved from the returned reference.- Parameters:
value- The value to add to the lookup table- Returns:
- A reference to the BranchEnd that will be created.
-
add
public LookupSwitchBuilder add(int value, CodeLocation location)
Adds a value to the table- Parameters:
value- The value to add to the lookup table
-
getDefaultLocation
public CodeLocation getDefaultLocation()
-
getDefaultBranchEnd
public AtomicReference<BranchEnd> getDefaultBranchEnd()
-
getValues
public List<LookupSwitchBuilder.ValuePair> getValues()
-
-