This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r115282 - in /branches/gcj-eclipse: gcc/java/Ch...
- From: tromey at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Sat, 08 Jul 2006 01:48:33 -0000
- Subject: r115282 - in /branches/gcj-eclipse: gcc/java/Ch...
Author: tromey
Date: Sat Jul 8 01:48:33 2006
New Revision: 115282
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115282
Log:
gcc/java
* class.c (make_class_data): Set value for reflection_data field.
* decl.c (java_init_decl_processing): Add reflection_data field.
libjava
* defineclass.cc (input_data, input_offset): New fields.
(reflection_data, data_stream): Likewise.
(get_reflection_stream): New method.
(_Jv_ClassReader): Initialize new fields.
(parse): Call finish_reflection_data.
(finish_reflection_data): New method.
(handleEnclosingMethod): Likewise.
(handleGenericSignature): Likewise.
(handleAnnotationElement): Likewise.
(handleAnnotation): Likewise.
(handleAnnotations): Likewise.
(handleMemberAnnotations): Likewise.
(handleAnnotationDefault): Likewise.
(handleParameterAnnotations): Likewise.
(read_one_field_attribute): Handle new attributes.
(read_one_method_attribute): Likewise.
(read_one_class_attribute): Likewise.
* include/jvm.h (resolve_method_entry): New method.
* java/lang/Class.h (jv_attr_type, jv_attr_kind): New enums.
(Class): Updated for new methods. Field, Method, Constructor now
friends.
(reflection_data): New field.
* java/lang/Class.java (asSubclass, cast): New methods.
(getEnclosingClass, getEnclosingConstructor): Now native.
(getEnclosingMethod): Likewise.
(getClassSignature): New method.
(getGenericInterfaces, getGenericSuperclass, getTypeParameters):
Likewise.
(Class): Implements AnnotatedElement.
(getAnnotation, isAnnotationPresent, getAnnotations): New methods.
(getDeclaredAnnotations): New method.
(getDeclaredAnnotationsInternal): Likewise.
* java/lang/reflect/natConstructor.cc (anno_a_t, anno_aa_t): New
typedefs.
(getSignature): New method.
(getDeclaredAnnotationsInternal): Likewise.
(getParameterAnnotationsInternal): Likewise.
* java/lang/reflect/natField.cc (anno_a_t): New typedef.
(getSignature): New method.
(getDeclaredAnnotationsInternal): Likewise.
* java/lang/reflect/natMethod.cc (anno_a_t, anno_aa_t): New
typedefs.
(getSignature): New method.
(getDefaultValue): Likewise.
(getDeclaredAnnotationsInternal): Likewise.
(getParameterAnnotationsInternal): Likewise.
* java/lang/reflect/Constructor.java (addTypeParameters):
Genericized.
(getSignature): Now native.
(getDeclaredAnnotations, getDeclaredAnnotationsInternal,
getParameterAnnotations, getParameterAnnotationsInternal): New
methods.
* java/lang/reflect/Field.java (getDeclaringClass, getType):
Genericized.
(getSignature): Now native.
(getDeclaredAnnotations, getDeclaredAnnotationsInternal): New
methods.
* java/lang/reflect/Method.java (getReturnType): Genericized.
(getParameterTypes, getExceptionTypes, getTypeParameters):
Likewise.
(getSignature): Now native.
(getDefaultValue, getDeclaredAnnotations,
getParameterAnnotations, getDeclaredAnnotationsInternal,
getParameterAnnotationsInternal): New methods.
* java/lang/natClass.cc (read_u1): New functions.
(read_u2): Likewise.
(read_4): New function.
(getReflectionSignature): New methods.
(getClassSignature): New method.
(getEnclosingMethodData): Likewise.
(getEnclosingClass): Likewise.
(getEnclosingMethod): Likewise.
(getEnclosingConstructor): Likewise.
(check_constant): New function.
(parseAnnotationElement): Likewise.
(parseAnnotation): Likewise.
(parseAnnotations): Likewise.
(parseParameterAnnotations): Likewise.
(getMethodDefaultValue): New method.
(getDeclaredAnnotations): New methods.
(getDeclaredAnnotationsInternal): New method.
* boehm.cc (_Jv_MarkObj): Mark 'reflection_data' field.
* link.cc (resolve_method_entry): New method.
(resolve_pool_entry): Use it.
Modified:
branches/gcj-eclipse/gcc/java/ChangeLog
branches/gcj-eclipse/gcc/java/class.c
branches/gcj-eclipse/gcc/java/decl.c
branches/gcj-eclipse/libjava/ChangeLog
branches/gcj-eclipse/libjava/boehm.cc
branches/gcj-eclipse/libjava/defineclass.cc
branches/gcj-eclipse/libjava/include/jvm.h
branches/gcj-eclipse/libjava/java/lang/Class.h
branches/gcj-eclipse/libjava/java/lang/Class.java
branches/gcj-eclipse/libjava/java/lang/natClass.cc
branches/gcj-eclipse/libjava/java/lang/reflect/Constructor.java
branches/gcj-eclipse/libjava/java/lang/reflect/Field.java
branches/gcj-eclipse/libjava/java/lang/reflect/Method.java
branches/gcj-eclipse/libjava/java/lang/reflect/natConstructor.cc
branches/gcj-eclipse/libjava/java/lang/reflect/natField.cc
branches/gcj-eclipse/libjava/java/lang/reflect/natMethod.cc
branches/gcj-eclipse/libjava/link.cc