Jode 1.90-CVS
Build Aug 6, 2004

net.sf.jode.flow
Class SpecialBlock

java.lang.Object
  extended bynet.sf.jode.flow.StructuredBlock
      extended bynet.sf.jode.flow.SpecialBlock

public class SpecialBlock
extends StructuredBlock

This is the structured block for atomic instructions.


Field Summary
static int DUP
           
static int POP
           
static int SWAP
           
 
Constructor Summary
SpecialBlock(int type, int count, int depth)
           
 
Method Summary
 boolean doTransformations()
          Do simple transformation on the structuredBlock.
 void dumpInstruction(TabbedPrintWriter writer)
          Print the instruction expressing this structured block.
 VariableStack mapStackToLocal(VariableStack stack)
          This does take the instr into account and modifies stack accordingly.
 boolean removePop(StructuredBlock last)
           
 void removePush()
          This is called after mapStackToLocal to do the stack to local transformation.
 boolean removeSwap(StructuredBlock last)
           
 
Methods inherited from class net.sf.jode.flow.StructuredBlock
appendBlock, checkConsistent, contains, copyJump, dumpSource, fillInGenSet, flowMayBeChanged, getDeclarables, getNextBlock, getNextBlock, getNextFlowBlock, getNextFlowBlock, getSubBlocks, isEmpty, isSingleExit, jumpMayBeChanged, makeDeclaration, moveJump, needsBraces, prependBlock, propagateUsage, removeBlock, removeJump, removeOnetimeLocals, replace, replaceSubBlock, setFlowBlock, setJump, setSuccessors, simplify, swapJump, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DUP

public static int DUP

SWAP

public static int SWAP

POP

public static int POP
Constructor Detail

SpecialBlock

public SpecialBlock(int type,
                    int count,
                    int depth)
Method Detail

mapStackToLocal

public VariableStack mapStackToLocal(VariableStack stack)
This does take the instr into account and modifies stack accordingly. It then calls super.mapStackToLocal.

Overrides:
mapStackToLocal in class StructuredBlock
Parameters:
stack - the stack before the instruction is called
Returns:
stack the stack afterwards.

removePush

public void removePush()
Description copied from class: StructuredBlock
This is called after mapStackToLocal to do the stack to local transformation.

Overrides:
removePush in class StructuredBlock

dumpInstruction

public void dumpInstruction(TabbedPrintWriter writer)
                     throws java.io.IOException
Description copied from class: StructuredBlock
Print the instruction expressing this structured block.

Specified by:
dumpInstruction in class StructuredBlock
Parameters:
writer - The tabbed print writer, where we print to.
Throws:
java.io.IOException

doTransformations

public boolean doTransformations()
Description copied from class: StructuredBlock
Do simple transformation on the structuredBlock.

Overrides:
doTransformations in class StructuredBlock
Returns:
true, if some transformation was done.

removeSwap

public boolean removeSwap(StructuredBlock last)

removePop

public boolean removePop(StructuredBlock last)

Jode 1.90-CVS
Build Aug 6, 2004

Copyright © 1998-2004 by Jochen Hoenicke.