[kaffe] CVS kaffe-extras (guilhem):

Kaffe CVS cvs-commits at kaffe.org
Wed Aug 13 06:46:01 PDT 2003


PatchSet 11 
Date: 2003/08/13 14:45:44
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
Added new fix for KJC to fix inherited method access.
Updated build scheme: added a property called rtjar_files to specify the location
of the original rt.jar (default to local rt.jar).
Fix a typo a kjc-class-file-dir.diff which prevented the patch from merging.

Members: 
	build.xml:1.5->1.6 
	patches/kjc-class-file-dir.diff:1.2->1.3 
	patches/kjc-method-access-nested.diff:INITIAL->1.1 

Index: kaffe-extras/build.xml
diff -u kaffe-extras/build.xml:1.5 kaffe-extras/build.xml:1.6
--- kaffe-extras/build.xml:1.5	Sat Jul 26 23:58:33 2003
+++ kaffe-extras/build.xml	Wed Aug 13 06:45:44 2003
@@ -12,12 +12,14 @@
   <property name="install_dir" location="install"/>
   <property name="lib_dir" location="${install_dir}/lib"/>
   <property name="timestamps_dir" location="timestamps"/>
+  <property name="rtjar_file" location="rt.jar"/>
 
   <target name="init">
     <tstamp/>
     <mkdir dir="${build_dir}"/>
     <mkdir dir="${install_dir}"/>
     <mkdir dir="${timestamps_dir}"/>
+    <mkdir dir="${tarballs_dir}"/>
   </target>
 
   <!-- Jikes -->
@@ -234,6 +236,9 @@
 	<patch patchfile="${patches_dir}/kjc-variable-propagation.diff"
 		strip="1"
 		dir="${kjcsuite_dir}"/>
+	<patch patchfile="${patches_dir}/kjc-method-access-nested.diff"
+		strip="1"
+		dir="${kjcsuite_dir}"/>
 	<patch patchfile="${patches_dir}/kjc-class-file-dir.diff"
 		strip="1"
 		dir="${kjcsuite_dir}"/>
@@ -264,12 +269,13 @@
 	<!-- FIXME: Dies when this target is run using Kaffe -->
 	<!-- FIXME: Kaffe's jar doesn't seem to work either -->
 	<mkdir dir="${kjcsuite_dir}/classroot"/>
+	<echo message="RT Jar ${rtjar_file}"/>
 	<exec executable="make"
 		dir="${kjcsuite_dir}/src"
 		failonerror="true">
 		<env key="CLASSROOT" file="${kjcsuite_dir}/classroot"/>
 		<!-- <env key="CLASSPATH" path="${lib_dir}/gnu.getopt.jar:${lib_dir}/JFlex.jar:${install_dir}/jre/lib/rt.jar:${lib_dir}/kjc.jar"/> -->
-		<env key="CLASSPATH" path="${kjcsuite_dir}/classroot:${lib_dir}/gnu.getopt.jar:${lib_dir}/JFlex.jar:/opt/jimpick/j2sdk1.4.1_01/jre/lib/rt.jar:${lib_dir}/kjc.jar"/>
+		<env key="CLASSPATH" path="${kjcsuite_dir}/classroot:${lib_dir}/gnu.getopt.jar:${lib_dir}/JFlex.jar:${rtjar_file}:${lib_dir}/kjc.jar"/>
 	</exec>
 	<unzip src="${lib_dir}/gnu.getopt.jar"
 	   dest="${kjcsuite_dir}/classroot">
Index: kaffe-extras/patches/kjc-class-file-dir.diff
diff -u kaffe-extras/patches/kjc-class-file-dir.diff:1.2 kaffe-extras/patches/kjc-class-file-dir.diff:1.3
--- kaffe-extras/patches/kjc-class-file-dir.diff:1.2	Thu Jul 31 09:40:08 2003
+++ kaffe-extras/patches/kjc-class-file-dir.diff	Wed Aug 13 06:45:44 2003
@@ -104,13 +104,12 @@
 --- kjc-suite-2.1B.jim/src/bytecode/ksm/Ksm.g   2002-07-15 11:53:29.000000000 -0700
 +++ kjc-suite-2.1B/src/bytecode/ksm/Ksm.g       2003-07-26 23:35:30.000000000 -0700
 @@ -152,6 +152,7 @@
-                           fields,
-                           methods,
-                           null, /*!!!inner classes*/
-+                          ".",
-                           sourceFile,
+ 			   fields,
+ 			   methods,
+ 			   null, /*!!!inner classes*/
++			   ".",
+ 			   sourceFile,
                             genSignature, /* generic Signature*/
-                           deprecated,
-
+ 			   deprecated,
 
 
===================================================================
Checking out kaffe-extras/patches/kjc-method-access-nested.diff
RCS:  /home/cvs/kaffe/kaffe-extras/patches/kjc-method-access-nested.diff,v
VERS: 1.1
***************
--- /dev/null	Sun Aug  4 12:57:58 2002
+++ kaffe-extras/patches/kjc-method-access-nested.diff	Wed Aug 13 06:45:45 2003
@@ -0,0 +1,17 @@
+This patch fixes the access problem of a protected method located in another
+package and from a nested class.
+
+	Guilhem.
+ 
+
+--- kopi-2.1B/src/kjc/CMethod.java	2002-07-15 20:53:32.000000000 +0200
++++ kopi-2.1B.new/src/kjc/CMethod.java	2003-08-13 15:04:01.000000000 +0200
+@@ -89,7 +89,7 @@
+         if (primary.isArrayType() && getIdent() == Constants.JAV_CLONE && getParameters().length == 0) {
+           return true;
+         } else {
+-          if (from.isAnonymous() && primary.getCClass().descendsFrom(from.getOwner())) {
++          if ((from.isNested() || from.isAnonymous()) && primary.getCClass().descendsFrom(from.getOwner())) {
+             return true;
+           }
+           return primary.getCClass().descendsFrom(from);




More information about the kaffe mailing list