- /*
- * @(#)ReflectAccess.java 1.12 04/01/28
- *
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
- * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- */
-
- package java.lang.reflect;
-
- import sun.reflect.MethodAccessor;
- import sun.reflect.ConstructorAccessor;
-
- /** Package-private class implementing the
- sun.reflect.LangReflectAccess interface, allowing the java.lang
- package to instantiate objects in this package. */
-
- class ReflectAccess implements sun.reflect.LangReflectAccess {
- public Field newField(Class declaringClass,
- String name,
- Class type,
- int modifiers,
- int slot,
- String signature,
- byte[] annotations)
- {
- return new Field(declaringClass,
- name,
- type,
- modifiers,
- slot,
- signature,
- annotations);
- }
-
- public Method newMethod(Class declaringClass,
- String name,
- Class[] parameterTypes,
- Class returnType,
- Class[] checkedExceptions,
- int modifiers,
- int slot,
- String signature,
- byte[] annotations,
- byte[] parameterAnnotations,
- byte[] annotationDefault)
- {
- return new Method(declaringClass,
- name,
- parameterTypes,
- returnType,
- checkedExceptions,
- modifiers,
- slot,
- signature,
- annotations,
- parameterAnnotations,
- annotationDefault);
- }
-
- public <T> Constructor<T> newConstructor(Class<T> declaringClass,
- Class[] parameterTypes,
- Class[] checkedExceptions,
- int modifiers,
- int slot,
- String signature,
- byte[] annotations,
- byte[] parameterAnnotations)
- {
- return new Constructor<T>(declaringClass,
- parameterTypes,
- checkedExceptions,
- modifiers,
- slot,
- signature,
- annotations,
- parameterAnnotations);
- }
-
- public MethodAccessor getMethodAccessor(Method m) {
- return m.getMethodAccessor();
- }
-
- public void setMethodAccessor(Method m, MethodAccessor accessor) {
- m.setMethodAccessor(accessor);
- }
-
- public ConstructorAccessor getConstructorAccessor(Constructor c) {
- return c.getConstructorAccessor();
- }
-
- public void setConstructorAccessor(Constructor c,
- ConstructorAccessor accessor)
- {
- c.setConstructorAccessor(accessor);
- }
-
- public int getConstructorSlot(Constructor c) {
- return c.getSlot();
- }
-
- public String getConstructorSignature(Constructor c) {
- return c.getSignature();
- }
-
- public byte[] getConstructorAnnotations(Constructor c) {
- return c.getRawAnnotations();
- }
-
- public byte[] getConstructorParameterAnnotations(Constructor c) {
- return c.getRawParameterAnnotations();
- }
-
- //
- // Copying routines, needed to quickly fabricate new Field,
- // Method, and Constructor objects from templates
- //
- public Method copyMethod(Method arg) {
- return arg.copy();
- }
-
- public Field copyField(Field arg) {
- return arg.copy();
- }
-
- public <T> Constructor<T> copyConstructor(Constructor<T> arg) {
- return arg.copy();
- }
- }