[Scummvm-cvs-logs] SF.net SVN: scummvm:[52015] tools/branches/gsoc2010-decompiler/decompiler

pidgeot at users.sourceforge.net pidgeot at users.sourceforge.net
Thu Aug 12 01:33:22 CEST 2010


Revision: 52015
          http://scummvm.svn.sourceforge.net/scummvm/?rev=52015&view=rev
Author:   pidgeot
Date:     2010-08-11 23:33:22 +0000 (Wed, 11 Aug 2010)

Log Message:
-----------
DECOMPILER: Allow disassembler to throw any
std::exception

Modified Paths:
--------------
    tools/branches/gsoc2010-decompiler/decompiler/disassembler.h
    tools/branches/gsoc2010-decompiler/decompiler/doc/disassembler.tex
    tools/branches/gsoc2010-decompiler/decompiler/kyra/disassembler.cpp
    tools/branches/gsoc2010-decompiler/decompiler/kyra/disassembler.h
    tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.cpp
    tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.h
    tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/pasc.cpp
    tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/pasc.h
    tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/subopcode.cpp
    tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/subopcode.h

Modified: tools/branches/gsoc2010-decompiler/decompiler/disassembler.h
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/disassembler.h	2010-08-11 23:21:53 UTC (rev 52014)
+++ tools/branches/gsoc2010-decompiler/decompiler/disassembler.h	2010-08-11 23:33:22 UTC (rev 52015)
@@ -45,9 +45,9 @@
 	/**
 	 * Performs disassembly.
 	 *
-	 * @throws UnknownOpcodeException on unknown opcode.
+	 * @throws UnknownOpcodeException on unknown opcode. May throw std::exception on other failures.
 	 */
-	virtual void doDisassemble() throw(UnknownOpcodeException) = 0;
+	virtual void doDisassemble() throw(std::exception) = 0;
 
 	/**
 	 * Outputs the disassembled code.

Modified: tools/branches/gsoc2010-decompiler/decompiler/doc/disassembler.tex
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/doc/disassembler.tex	2010-08-11 23:21:53 UTC (rev 52014)
+++ tools/branches/gsoc2010-decompiler/decompiler/doc/disassembler.tex	2010-08-11 23:33:22 UTC (rev 52015)
@@ -63,7 +63,7 @@
 	std::vector<Instruction> &_insts;
 	uint32 _addressBase;
 
-	virtual void doDisassemble() throw(UnknownOpcodeException) = 0;
+	virtual void doDisassemble() throw(std::exception) = 0;
 	virtual void doDumpDisassembly(std::ostream &output);
 
 public:

Modified: tools/branches/gsoc2010-decompiler/decompiler/kyra/disassembler.cpp
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/kyra/disassembler.cpp	2010-08-11 23:21:53 UTC (rev 52014)
+++ tools/branches/gsoc2010-decompiler/decompiler/kyra/disassembler.cpp	2010-08-11 23:33:22 UTC (rev 52015)
@@ -278,7 +278,7 @@
 	delete[] _funcs;
 }
 
-void Kyra::Kyra2Disassembler::doDisassemble() throw(UnknownOpcodeException) {
+void Kyra::Kyra2Disassembler::doDisassemble() throw(std::exception) {
 	// Load data
 	IFF_ID id;
 	id = _f.readUint32BE();

Modified: tools/branches/gsoc2010-decompiler/decompiler/kyra/disassembler.h
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/kyra/disassembler.h	2010-08-11 23:21:53 UTC (rev 52014)
+++ tools/branches/gsoc2010-decompiler/decompiler/kyra/disassembler.h	2010-08-11 23:33:22 UTC (rev 52015)
@@ -95,7 +95,7 @@
 	 */
 	Kyra2Disassembler(Kyra2Engine *engine, std::vector<Instruction> &insts);
 	~Kyra2Disassembler();
-	void doDisassemble() throw(UnknownOpcodeException);
+	void doDisassemble() throw(std::exception);
 };
 
 } // End of namespace Kyra

Modified: tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.cpp
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.cpp	2010-08-11 23:21:53 UTC (rev 52014)
+++ tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.cpp	2010-08-11 23:33:22 UTC (rev 52015)
@@ -30,7 +30,7 @@
 Scumm::v6::Scummv6Disassembler::Scummv6Disassembler(std::vector<Instruction> &insts) : ::SimpleDisassembler(insts) {
 }
 
-void Scumm::v6::Scummv6Disassembler::doDisassemble() throw(UnknownOpcodeException) {
+void Scumm::v6::Scummv6Disassembler::doDisassemble() throw(std::exception) {
 	std::string blockName;
 	for (int i = 0; i < 4; i++) {
 		blockName += _f.readChar();

Modified: tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.h
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.h	2010-08-11 23:21:53 UTC (rev 52014)
+++ tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.h	2010-08-11 23:33:22 UTC (rev 52015)
@@ -36,7 +36,7 @@
 public:
 	Scummv6Disassembler(std::vector<Instruction> &insts);
 
-	void doDisassemble() throw(UnknownOpcodeException);
+	void doDisassemble() throw(std::exception);
 
 	void readParameter(Parameter *p, char type);
 

Modified: tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/pasc.cpp
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/pasc.cpp	2010-08-11 23:21:53 UTC (rev 52014)
+++ tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/pasc.cpp	2010-08-11 23:33:22 UTC (rev 52015)
@@ -25,7 +25,7 @@
 PasCDisassembler::PasCDisassembler(std::vector<Instruction> &insts) : ::SimpleDisassembler(insts) {
 }
 
-void PasCDisassembler::doDisassemble() throw(UnknownOpcodeException) {
+void PasCDisassembler::doDisassemble() throw(std::exception) {
 	START_OPCODES;
 		//Basic machine operations
 		OPCODE(0x00, "PUSH", kStack, 0, "i");

Modified: tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/pasc.h
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/pasc.h	2010-08-11 23:21:53 UTC (rev 52014)
+++ tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/pasc.h	2010-08-11 23:33:22 UTC (rev 52015)
@@ -28,6 +28,6 @@
 class PasCDisassembler : public SimpleDisassembler {
 public:
 	PasCDisassembler(std::vector<Instruction> &insts);
-	void doDisassemble() throw(UnknownOpcodeException);
+	void doDisassemble() throw(std::exception);
 };
 #endif

Modified: tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/subopcode.cpp
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/subopcode.cpp	2010-08-11 23:21:53 UTC (rev 52014)
+++ tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/subopcode.cpp	2010-08-11 23:33:22 UTC (rev 52015)
@@ -25,7 +25,7 @@
 SubOpcodeDisassembler::SubOpcodeDisassembler(std::vector<Instruction> &insts) : ::SimpleDisassembler(insts) {
 }
 
-void SubOpcodeDisassembler::doDisassemble() throw(UnknownOpcodeException) {
+void SubOpcodeDisassembler::doDisassemble() throw(std::exception) {
 	START_OPCODES;
 		START_SUBOPCODE(0xFF)
 			OPCODE(0xFF, "FOO", kSpecial, 0, "");

Modified: tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/subopcode.h
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/subopcode.h	2010-08-11 23:21:53 UTC (rev 52014)
+++ tools/branches/gsoc2010-decompiler/decompiler/test/disassembler/subopcode.h	2010-08-11 23:33:22 UTC (rev 52015)
@@ -28,6 +28,6 @@
 class SubOpcodeDisassembler : public SimpleDisassembler {
 public:
 	SubOpcodeDisassembler(std::vector<Instruction> &insts);
-	void doDisassemble() throw(UnknownOpcodeException);
+	void doDisassemble() throw(std::exception);
 };
 #endif


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list