Mercurial > paraspace
diff paraspace/injection.py @ 94:88645ab29aeb
dexfile_insert_class() returns a clone object
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Mon, 25 Jul 2011 14:22:08 +0800 |
parents | bbe8d5cbe368 |
children | 1769e52bdd9d |
line wrap: on
line diff
--- a/paraspace/injection.py Mon Jul 25 13:23:02 2011 +0800 +++ b/paraspace/injection.py Mon Jul 25 14:22:08 2011 +0800 @@ -175,9 +175,19 @@ raise RuntimeError, \ 'clone a class \'%s\'that is already in the DEXFile' % \ classdef_name(clazz) - pass + + clone = visit_log[id(obj)] + return clone +## \brief Clone a class definition and insert into a DEXFile. +# +# This function clone a class definition from a linked DEXFile and +# insert it into another one. +# +# \param dex is a DEXFile_linked to insert the clone. +# \param class_def is a class definition going to be cloned. +# def dexfile_insert_class(dex, class_def): - _clone_classdef(dex, class_def) - pass + clone = _clone_classdef(dex, class_def) + return clone