Class CreatorOptimizer
- java.lang.Object
-
- com.fasterxml.jackson.module.afterburner.util.DynamicPropertyAccessorBase
-
- com.fasterxml.jackson.module.afterburner.deser.CreatorOptimizer
-
public class CreatorOptimizer extends DynamicPropertyAccessorBase
Helper class that tries to generateValueInstantiatorclass that calls constructors and/or factory methods directly, instead of using Reflection.
-
-
Field Summary
Fields Modifier and Type Field Description protected MyClassLoader_classLoaderprotected com.fasterxml.jackson.databind.deser.std.StdValueInstantiator_originalInstantiatorprotected java.lang.Class<?>_valueClass-
Fields inherited from class com.fasterxml.jackson.module.afterburner.util.DynamicPropertyAccessorBase
_accessorCount, ALL_INT_CONSTS
-
-
Constructor Summary
Constructors Constructor Description CreatorOptimizer(java.lang.Class<?> valueClass, MyClassLoader classLoader, com.fasterxml.jackson.databind.deser.std.StdValueInstantiator orig)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddCreator(org.objectweb.asm.MethodVisitor mv, java.lang.reflect.Constructor<?> ctor)protected voidaddCreator(org.objectweb.asm.MethodVisitor mv, java.lang.reflect.Method factory)com.fasterxml.jackson.databind.deser.ValueInstantiatorcreateOptimized()protected OptimizedValueInstantiatorcreateSubclass(java.lang.reflect.Constructor<?> ctor, java.lang.reflect.Method factory)protected byte[]generateOptimized(ClassName baseName, java.lang.reflect.Constructor<?> ctor, java.lang.reflect.Method factory)-
Methods inherited from class com.fasterxml.jackson.module.afterburner.util.DynamicPropertyAccessorBase
_add, generateException, internalClassName, isEmpty, isInterfaceMethod
-
-
-
-
Field Detail
-
_valueClass
protected final java.lang.Class<?> _valueClass
-
_classLoader
protected final MyClassLoader _classLoader
-
_originalInstantiator
protected final com.fasterxml.jackson.databind.deser.std.StdValueInstantiator _originalInstantiator
-
-
Constructor Detail
-
CreatorOptimizer
public CreatorOptimizer(java.lang.Class<?> valueClass, MyClassLoader classLoader, com.fasterxml.jackson.databind.deser.std.StdValueInstantiator orig)
-
-
Method Detail
-
createOptimized
public com.fasterxml.jackson.databind.deser.ValueInstantiator createOptimized()
-
createSubclass
protected OptimizedValueInstantiator createSubclass(java.lang.reflect.Constructor<?> ctor, java.lang.reflect.Method factory)
-
generateOptimized
protected byte[] generateOptimized(ClassName baseName, java.lang.reflect.Constructor<?> ctor, java.lang.reflect.Method factory)
-
addCreator
protected void addCreator(org.objectweb.asm.MethodVisitor mv, java.lang.reflect.Constructor<?> ctor)
-
addCreator
protected void addCreator(org.objectweb.asm.MethodVisitor mv, java.lang.reflect.Method factory)
-
-