public class ASMBDIClassGenerator extends AbstractAsmBdiClassGenerator
AbstractAsmBdiClassGenerator.MethodBeliefsnodehelper, ophelperAGENT_FIELD_NAME, DYNAMIC_BELIEF_UPDATEMETHOD_PREFIX, GLOBALNAME_FIELD_NAME, INIT_EXPRESSIONS_METHOD_PREFIX| Constructor and Description |
|---|
ASMBDIClassGenerator() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
enhanceSetter(java.lang.String iclname,
MethodNode mn,
java.lang.String belname)
Enhance setter method with unobserve oldvalue at the beginning and event call at the end
|
protected java.util.Set<java.lang.String> |
findBeliefs(ClassNode cn,
MethodNode mn,
BDIModel model,
java.util.Map<java.lang.String,ClassNode> others)
Find beliefs accessed in methods.
|
protected java.util.Set<java.lang.String> |
findParameters(ClassNode cn,
MethodNode mn,
BDIModel model,
java.util.Map<java.lang.String,ClassNode> others,
MGoal mgoal)
Find parameters accessed in methods.
|
java.util.List<java.lang.Class<?>> |
generateBDIClass(java.lang.String clname,
BDIModel model,
java.lang.ClassLoader dummycl)
Generate class.
|
java.util.List<java.lang.Class<?>> |
generateBDIClass(java.lang.String clname,
BDIModel model,
java.lang.ClassLoader dummycl,
java.util.Map<java.lang.String,ClassNode> done)
Generate class.
|
static void |
main(java.lang.String[] args) |
protected void |
replaceNativeGetter(java.lang.String iclname,
MethodNode mn,
java.lang.String belname)
Replace native getter for abstract belief.
|
protected void |
replaceNativeSetter(java.lang.String iclname,
MethodNode mn,
java.lang.String belname)
Replace native setter for abstract belief.
|
java.lang.Class<?> |
toClass(java.lang.String name,
byte[] data,
java.lang.ClassLoader loader,
java.security.ProtectionDomain domain)
Transform byte Array into Class and define it in classloader.
|
java.lang.Class<?> |
toClass(java.lang.String name,
byte[] data,
java.lang.ClassLoader loader,
java.security.ProtectionDomain domain,
boolean redefine)
Transform byte Array into Class and define it in classloader.
|
protected void |
transformArrayStores(MethodNode mn,
BDIModel model,
java.lang.String iclname)
Transform array store instructions for beliefs.
|
protected void |
transformConstructor(ClassNode cn,
MethodNode mn,
BDIModel model,
java.util.List<java.lang.String> tododyn,
java.util.Map<java.lang.String,ClassNode> others) |
addBeliefEventsToConditions, checkEnhanced, findMethodBelief, getGoal, isAgentClass, isAgentOrCapa, isEnhanced, isEnhanced, isGoal, isGoalClass, isPlan, isPlanClass, isPlanMethod, transformClassNodepublic java.util.List<java.lang.Class<?>> generateBDIClass(java.lang.String clname,
BDIModel model,
java.lang.ClassLoader dummycl)
throws JadexBDIGenerationException
generateBDIClass in interface IBDIClassGeneratorgenerateBDIClass in class AbstractAsmBdiClassGeneratorJadexBDIGenerationExceptionpublic java.util.List<java.lang.Class<?>> generateBDIClass(java.lang.String clname,
BDIModel model,
java.lang.ClassLoader dummycl,
java.util.Map<java.lang.String,ClassNode> done)
throws JadexBDIGenerationException
JadexBDIGenerationExceptionprotected void replaceNativeGetter(java.lang.String iclname,
MethodNode mn,
java.lang.String belname)
AbstractAsmBdiClassGeneratorreplaceNativeGetter in class AbstractAsmBdiClassGeneratorprotected void replaceNativeSetter(java.lang.String iclname,
MethodNode mn,
java.lang.String belname)
AbstractAsmBdiClassGeneratorreplaceNativeSetter in class AbstractAsmBdiClassGeneratorprotected void enhanceSetter(java.lang.String iclname,
MethodNode mn,
java.lang.String belname)
AbstractAsmBdiClassGeneratorenhanceSetter in class AbstractAsmBdiClassGeneratorprotected void transformConstructor(ClassNode cn,
MethodNode mn,
BDIModel model,
java.util.List<java.lang.String> tododyn,
java.util.Map<java.lang.String,ClassNode> others)
transformConstructor in class AbstractAsmBdiClassGeneratorcn - the class which contains the constructormn - The Constructor method nodetododyn - list of dynamic beliefsprotected void transformArrayStores(MethodNode mn,
BDIModel model,
java.lang.String iclname)
transformArrayStores in class AbstractAsmBdiClassGeneratorpublic java.lang.Class<?> toClass(java.lang.String name,
byte[] data,
java.lang.ClassLoader loader,
java.security.ProtectionDomain domain)
null, if the class is not valid, such as Map.entry "inner Classes".public java.lang.Class<?> toClass(java.lang.String name,
byte[] data,
java.lang.ClassLoader loader,
java.security.ProtectionDomain domain,
boolean redefine)
null, if the class is not valid, such as Map.entry "inner Classes".protected java.util.Set<java.lang.String> findBeliefs(ClassNode cn,
MethodNode mn,
BDIModel model,
java.util.Map<java.lang.String,ClassNode> others)
findBeliefs in class AbstractAsmBdiClassGeneratorprotected java.util.Set<java.lang.String> findParameters(ClassNode cn,
MethodNode mn,
BDIModel model,
java.util.Map<java.lang.String,ClassNode> others,
MGoal mgoal)
findParameters in class AbstractAsmBdiClassGeneratorpublic static void main(java.lang.String[] args)
throws java.lang.Exception
java.lang.Exception