Top Description Fields Constructors Methods
jdk.internal.reflect

pack-priv Class SerializationConstructorAccessorGenerator

extends AccessorGenerator
Class Inheritance
Imports
java.security.AccessController, .PrivilegedAction

Generator for jdk.internal.reflect.SerializationConstructorAccessorImpl objects using bytecodes to implement a constructor for serialization returned by ReflectionFactory::newConstructorForSerialization.

Field Summary

Modifier and TypeField and Description
private static volatile int
private Class<?>
private boolean
private short
private short
private boolean
private static volatile int
private short
private static final short
private static final short
private static final short
private Class<?>[]
private Class<?>
private static volatile int
private short
Inherited from jdk.internal.reflect.AccessorGenerator:
asmbooleanBoxIdxbooleanIdxbooleanUnboxIdxbyteBoxIdxbyteIdxbyteUnboxIdxcharacterBoxIdxcharacterIdxcharacterUnboxIdxclassCastClasscodeIdxdoubleBoxIdxdoubleIdxdoubleUnboxIdxexceptionsIdxfloatBoxIdxfloatIdxfloatUnboxIdxillegalArgumentClassillegalArgumentCtorIdxillegalArgumentStringCtorIdxinitIdxinitNameAndTypeIdxinitStringNameAndTypeIdxintegerBoxIdxintegerIdxintegerUnboxIdxinvocationTargetClassinvocationTargetCtorIdxlongBoxIdxlongIdxlongUnboxIdxmodifiersnullPointerClassnullPointerCtorIdxNUM_BOXING_CPOOL_ENTRIESNUM_COMMON_CPOOL_ENTRIESobjectClassprimitiveTypesS0S1S2S3S4S5S6shortBoxIdxshortIdxshortUnboxIdxsuperClasssuperCtorIdxtargetClassthisClassthrowableClasstoStringIdxunsafevalueOfIdx

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
private String
private void
emitInvoke()

This emits the code for either invoke() or newInstance()

private MagicAccessorImpl
generate(final Class<?> declaringClass, String name, Class<?>[] parameterTypes, Class<?> returnType, int modifiers, boolean isConstructor, boolean forSerialization, Class<?> serializationTargetClass)

This routine is not thread-safe

private static synchronized String
generateName(boolean isConstructor, boolean forSerialization)

public SerializationConstructorAccessorImpl
generateSerializationConstructor(Class<?> declaringClass, Class<?>[] parameterTypes, int modifiers, Class<?> targetConstructorClass)

This routine is not thread-safe

private boolean
private int
private boolean
Inherited from jdk.internal.reflect.AccessorGenerator:
addboxingMethodForPrimitiveTypecanWidenToemitBoxingContantPoolEntriesemitCommonConstantPoolEntriesemitConstructoremitMethodemitWideningBytecodeForPrimitiveConversiongetClassNameillegalArgumentCodeBufferindexForPrimitiveTypeisPrimitiveisPrivateisStaticsubtypeSizeInStackSlotsunboxingMethodForPrimitiveType

Field Detail

constructorSymnumback to summary
private static volatile int constructorSymnum
declaringClassback to summary
private Class<?> declaringClass
forSerializationback to summary
private boolean forSerialization
invokeDescriptorIdxback to summary
private short invokeDescriptorIdx
invokeIdxback to summary
private short invokeIdx
isConstructorback to summary
private boolean isConstructor
methodSymnumback to summary
private static volatile int methodSymnum
nonPrimitiveParametersBaseIdxback to summary
private short nonPrimitiveParametersBaseIdx
NUM_BASE_CPOOL_ENTRIESback to summary
private static final short NUM_BASE_CPOOL_ENTRIES
NUM_METHODSback to summary
private static final short NUM_METHODS
NUM_SERIALIZATION_CPOOL_ENTRIESback to summary
private static final short NUM_SERIALIZATION_CPOOL_ENTRIES
parameterTypesback to summary
private Class<?>[] parameterTypes
returnTypeback to summary
private Class<?> returnType
serializationConstructorSymnumback to summary
private static volatile int serializationConstructorSymnum
targetMethodRefback to summary
private short targetMethodRef

Constructor Detail

SerializationConstructorAccessorGeneratorback to summary
pack-priv SerializationConstructorAccessorGenerator()

Method Detail

buildInternalSignatureback to summary
private String buildInternalSignature()
emitInvokeback to summary
private void emitInvoke()

This emits the code for either invoke() or newInstance()

generateback to summary
private MagicAccessorImpl generate(final Class<?> declaringClass, String name, Class<?>[] parameterTypes, Class<?> returnType, int modifiers, boolean isConstructor, boolean forSerialization, Class<?> serializationTargetClass)

This routine is not thread-safe

Annotations
@SuppressWarnings:removal
generateNameback to summary
private static synchronized String generateName(boolean isConstructor, boolean forSerialization)
generateSerializationConstructorback to summary
public SerializationConstructorAccessorImpl generateSerializationConstructor(Class<?> declaringClass, Class<?>[] parameterTypes, int modifiers, Class<?> targetConstructorClass)

This routine is not thread-safe

isInterfaceback to summary
private boolean isInterface()
numNonPrimitiveParameterTypesback to summary
private int numNonPrimitiveParameterTypes()
usesPrimitiveTypesback to summary
private boolean usesPrimitiveTypes()