Posts for the month of December 2009

Modified InstructionFactory API to support cascaded bytecode factories

watch out - this will require modification of some extensions!

From the commit message of :

"..refactored InstructionFactories to a simple inheritance model, which is not only more easy to understand but also more suitable for cascaded factories, which we need for extension-extensions like 'uberlazy'. Just derive from the factory you extend and override the InstructionFactory.create(ClassInfo mthCls,int opCode) method.."

Check for an example of how to create derived factories.

Added @import and @requires pseudo properties

we now have two pseudo properties you can use in your project and app property files:

@import = <filename> : this recursively loads the provided filename. Mostly useful to factorize extension specific global settings you cannot put into the corresponding project properties file because it would break other JPF projects (e.g. vm.insn_factory.class). Put them into separate files within the corresponding extension root dir, and reference the path either with ${config_path}/.., or ${<project-name>}/..

@requires = <key> : this shortcircuits loading the current property file if the provided key is not yet defined. Poor man's way to specify dependencies. Note that it doesn't cause an exception, it just bails out of loading the file that contains it