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
`LabelSwitch()`

### Method Summary

All Methods Instance Methods Concrete Methods
`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 Detail

#### LabelSwitch

    public LabelSwitch()

### Method Detail

#### 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`