94 return genericInfo; //return cached repository
95 }
96
97 private volatile ConstructorAccessor constructorAccessor;
98 // For sharing of ConstructorAccessors. This branching structure
99 // is currently only two levels deep (i.e., one root Constructor
100 // and potentially many Constructor objects pointing to it.)
101 //
102 // If this branching structure would ever contain cycles, deadlocks can
103 // occur in annotation code.
104 private Constructor<T> root;
105
106 @Override
107 Constructor<T> getRoot() {
108 return root;
109 }
110
111 /**
112 * Package-private constructor used by ReflectAccess to enable
113 * instantiation of these objects in Java code from the java.lang
114 * package via sun.reflect.LangReflectAccess.
115 */
116 Constructor(Class<T> declaringClass,
117 Class<?>[] parameterTypes,
118 Class<?>[] checkedExceptions,
119 int modifiers,
120 int slot,
121 String signature,
122 byte[] annotations,
123 byte[] parameterAnnotations) {
124 this.clazz = declaringClass;
125 this.parameterTypes = parameterTypes;
126 this.exceptionTypes = checkedExceptions;
127 this.modifiers = modifiers;
128 this.slot = slot;
129 this.signature = signature;
130 this.annotations = annotations;
131 this.parameterAnnotations = parameterAnnotations;
132 }
133
134 /**
|
94 return genericInfo; //return cached repository
95 }
96
97 private volatile ConstructorAccessor constructorAccessor;
98 // For sharing of ConstructorAccessors. This branching structure
99 // is currently only two levels deep (i.e., one root Constructor
100 // and potentially many Constructor objects pointing to it.)
101 //
102 // If this branching structure would ever contain cycles, deadlocks can
103 // occur in annotation code.
104 private Constructor<T> root;
105
106 @Override
107 Constructor<T> getRoot() {
108 return root;
109 }
110
111 /**
112 * Package-private constructor used by ReflectAccess to enable
113 * instantiation of these objects in Java code from the java.lang
114 * package via jdk.internal.access.JavaLangReflectAccess.
115 */
116 Constructor(Class<T> declaringClass,
117 Class<?>[] parameterTypes,
118 Class<?>[] checkedExceptions,
119 int modifiers,
120 int slot,
121 String signature,
122 byte[] annotations,
123 byte[] parameterAnnotations) {
124 this.clazz = declaringClass;
125 this.parameterTypes = parameterTypes;
126 this.exceptionTypes = checkedExceptions;
127 this.modifiers = modifiers;
128 this.slot = slot;
129 this.signature = signature;
130 this.annotations = annotations;
131 this.parameterAnnotations = parameterAnnotations;
132 }
133
134 /**
|