Package org.eclipse.m2m.atl.emftvm.jit

# Class LabelSwitch

java.lang.Object
org.eclipse.m2m.atl.emftvm.util.EmftvmSwitch<org.objectweb.asm.Label>
org.eclipse.m2m.atl.emftvm.jit.LabelSwitch

public class LabelSwitch extends EmftvmSwitch<org.objectweb.asm.Label>
Computes the `Label`s for the `CodeBlock`s `Instruction`s.

## Field Summary

### Fields inherited from class org.eclipse.m2m.atl.emftvm.util.EmftvmSwitch

`modelPackage`

## Constructor Summary

Constructors
Constructor
Description
`LabelSwitch()`

## Method Summary

Modifier and Type
Method
Description
`org.objectweb.asm.Label`
`caseBranchInstruction(BranchInstruction object)`
Returns the result of interpreting the object as an instance of 'Branch Instruction'.
`org.objectweb.asm.Label`
`getFromSource(BranchInstruction instr)`
Returns the `Label` with `instr` as source, if any.
`org.objectweb.asm.Label`
`getFromTarget(Instruction instr)`
Returns the `Label` with `instr` as target, if any.
`boolean`
`hasWithSource(BranchInstruction instr)`
Returns `true` iff there is a `Label` with `instr` as source.
`boolean`
`hasWithTarget(Instruction instr)`
Returns `true` iff there is a `Label` with `instr` as target.

### Methods inherited from class org.eclipse.m2m.atl.emftvm.util.EmftvmSwitch

`caseAdd, caseAllinst, caseAllinstIn, caseAnd, caseCodeBlock, caseCodeBlockInstruction, caseDelete, caseDup, caseDupX1, caseEnditerate, caseExecEnv, caseFeature, caseField, caseFieldInstruction, caseFindtype, caseFindtypeS, caseGet, caseGetcb, caseGetenv, caseGetenvtype, caseGetStatic, caseGetSuper, caseGetTrans, caseGoto, caseIf, caseIfn, caseIfte, caseImplies, caseInputRuleElement, caseInsert, caseInstruction, caseInvoke, caseInvokeAllCbs, caseInvokeCb, caseInvokeCbS, caseInvokeInstruction, caseInvokeOperationInstruction, caseInvokeStatic, caseInvokeSuper, caseIsnull, caseIterate, caseLineNumber, caseLoad, caseLocalVariable, caseLocalVariableInstruction, caseMatch, caseMatchS, caseMetamodel, caseModel, caseModelDeclaration, caseModule, caseNamedElement, caseNew, caseNewS, caseNot, caseOperation, caseOr, caseOutputRuleElement, caseParameter, casePop, casePush, casePushf, casePusht, caseRemove, caseReturn, caseRule, caseRuleElement, caseSet, caseSetStatic, caseStore, caseSwap, caseSwapX1, caseTypedElement, caseXor, defaultCase, doSwitch, doSwitch, doSwitch`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### LabelSwitch

public LabelSwitch()

## Method Details

### caseBranchInstruction

public org.objectweb.asm.Label caseBranchInstruction(BranchInstruction object)
Returns the result of interpreting the object as an instance of 'Branch Instruction'. This implementation returns null; returning a non-null result will terminate the switch.

Overrides:
  `caseBranchInstruction` in class `EmftvmSwitch<org.objectweb.asm.Label>`
Parameters:
  `object` - the target of the switch.
Returns:
  the result of interpreting the object as an instance of 'Branch Instruction'.
See Also:
  - `doSwitch(EObject)`

### hasWithTarget

public boolean hasWithTarget(Instruction instr)
Returns `true` iff there is a `Label` with `instr` as target.

Returns:
  `true` iff there is a `Label` with `instr` as target

### getFromTarget

public org.objectweb.asm.Label getFromTarget(Instruction instr)
Returns the `Label` with `instr` as target, if any.

Returns:
  the `Label` with `instr` as target, or `null`

### hasWithSource

public boolean hasWithSource(BranchInstruction instr)
Returns `true` iff there is a `Label` with `instr` as source.

Returns:
  `true` iff there is a `Label` with `instr` as source

### getFromSource

public org.objectweb.asm.Label getFromSource(BranchInstruction instr)
Returns the `Label` with `instr` as source, if any.

Returns:
  the `Label` with `instr` as source, or `null`