org.apache.commons.nabla.forward.analysis
Interface InstructionsTransformer

All Known Implementing Classes:
DAddTransformer, DcmpTransformer, DDivTransformer, DLoadTransformer, DMulTransformer, DNegTransformer, DRemTransformer, DReturnTransformer, DStoreTransformer, DSubTransformer, Dup2Transformer, Dup2X1Transformer, Dup2X2Transformer, InvokeStaticTransformer, NarrowingTransformer, Pop2Transformer, WideningTransformer

public interface InstructionsTransformer

Transformer for bytecode instructions.

Transformation is done by replacing a single instruction with a complete list.

Version:
$Id$

Field Summary
static org.objectweb.asm.Type DS_TYPE
          Type for DerivativeStructure.
 
Method Summary
 org.objectweb.asm.tree.InsnList getReplacement(org.objectweb.asm.tree.AbstractInsnNode original, MethodDifferentiator methodDifferentiator)
          Get the replacement instructions.
 

Field Detail

DS_TYPE

static final org.objectweb.asm.Type DS_TYPE
Type for DerivativeStructure.

Method Detail

getReplacement

org.objectweb.asm.tree.InsnList getReplacement(org.objectweb.asm.tree.AbstractInsnNode original,
                                               MethodDifferentiator methodDifferentiator)
                                               throws DifferentiationException
Get the replacement instructions.

Parameters:
original - original instruction
methodDifferentiator - method differentiator driving this transformer
Returns:
replacement instructions
Throws:
DifferentiationException - if the method differentiator cannot provide a temporary variable


Copyright © 2008-2012 The Apache Software Foundation. All Rights Reserved.