From: <mic...@us...> - 2007-04-14 14:51:25
|
Revision: 57 http://svn.sourceforge.net/pearcolator/?rev=57&view=rev Author: michael_baer Date: 2007-04-14 07:51:26 -0700 (Sat, 14 Apr 2007) Log Message: ----------- Moved interface ARM_InstructionFactory into a package-visible interface, managed by ARM_InstructionDecoder. Modified Paths: -------------- src/org/binarytranslator/arch/arm/decoder/ARM_InstructionDecoder.java Removed Paths: ------------- src/org/binarytranslator/arch/arm/decoder/ARM_InstructionFactory.java Modified: src/org/binarytranslator/arch/arm/decoder/ARM_InstructionDecoder.java =================================================================== --- src/org/binarytranslator/arch/arm/decoder/ARM_InstructionDecoder.java 2007-04-14 14:47:54 UTC (rev 56) +++ src/org/binarytranslator/arch/arm/decoder/ARM_InstructionDecoder.java 2007-04-14 14:51:26 UTC (rev 57) @@ -243,6 +243,32 @@ } /** + * An interface to a factory class, which will create the actual object representations of the + * instruction classes decoded by {@link ARM_InstructionDecoder}. + * + * @param <T> + * The type of the object representations, that shall be created when an ARM instruction is decoded. + */ + interface ARM_InstructionFactory<T> { + T createDataProcessing(int instr); + T createSingleDataTransfer(int instr); + T createBlockDataTransfer(int instr); + T createIntMultiply(int instr); + T createLongMultiply(int instr); + T createSwap(int instr); + T createSoftwareInterrupt(int instr); + T createBranch(int instr); + T createBranchExchange(int instr); + T createCoprocessorDataTransfer(int instr); + T createCoprocessorDataProcessing(int instr); + T createCoprocessorRegisterTransfer(int instr); + T createMoveFromStatusRegister(int instr); + T createMoveToStatusRegister(int instr); + T createCountLeadingZeros(int instr); + T createUndefinedInstruction(int instr); + } + + /** * A default implementation of the ARM instruction factory, which will create the * appropriate classes from the {@link ARM_Instructions} namespace. */ Deleted: src/org/binarytranslator/arch/arm/decoder/ARM_InstructionFactory.java =================================================================== --- src/org/binarytranslator/arch/arm/decoder/ARM_InstructionFactory.java 2007-04-14 14:47:54 UTC (rev 56) +++ src/org/binarytranslator/arch/arm/decoder/ARM_InstructionFactory.java 2007-04-14 14:51:26 UTC (rev 57) @@ -1,20 +0,0 @@ -package org.binarytranslator.arch.arm.decoder; - -public interface ARM_InstructionFactory<T> { - T createDataProcessing(int instr); - T createSingleDataTransfer(int instr); - T createBlockDataTransfer(int instr); - T createIntMultiply(int instr); - T createLongMultiply(int instr); - T createSwap(int instr); - T createSoftwareInterrupt(int instr); - T createBranch(int instr); - T createBranchExchange(int instr); - T createCoprocessorDataTransfer(int instr); - T createCoprocessorDataProcessing(int instr); - T createCoprocessorRegisterTransfer(int instr); - T createMoveFromStatusRegister(int instr); - T createMoveToStatusRegister(int instr); - T createCountLeadingZeros(int instr); - T createUndefinedInstruction(int instr); -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |