URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [classpath/] [lib/] [mkcollections.pl.in] - Rev 817
Go to most recent revision | Compare with Previous | Blame | View Log
#!@PERL@## mkcollections.pl - small perl script to convert GNU Classpath's# Collection classes into its own package for java 1.1## USAGE: mkcollections.pl <Destination-Path>## Copyright (C) 2000 Free Software Foundation, Inc.## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2, or (at your option)# any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; see the file COPYING. If not, write to# the Free Software Foundation, 51 Franklin St, Fifth Floor,# Boston, MA 02110-1301 USAmy $destpath=@COLLECTIONS_PREFIX@;my $classpath=pop;my @javalangclasses=qw(UnsupportedOperationExceptionComparableIterable);my @javautilclasses=qw(AbstractCollectionAbstractListAbstractMapAbstractSequentialListAbstractSetArrayListArraysListCollectionCollectionsComparatorConcurrentModificationExceptionHashMapHashSetHashtableIteratorLinkedListListIteratorMapNoSuchElementExceptionRandomRandomAccessSetSortedMapSortedSetTreeMapTreeSetVector);my @externalclasses=qw(AbstractQueueArrayDequeDequeNavigableMapNavigableSetQueue);my $destPkg = $destpath;$destPkg =~ s!/!.!g;my %imports = ( "Collections" => [ "Enumeration" ],"Hashtable" => [ "Dictionary", "Enumeration" ],"Vector" => [ "Enumeration" ]);sub mymkdir ($){my ($dir) = @_;if ($dir =~ /^(.*)\/\w+$/){$parentdir = "$1";if (! (-d $parentdir)){mymkdir ($parentdir);}}print "$dir";mkdir ($dir, 0777);}sub convert($$$) {my ($file, $infile, $outfile) = @_;open (INPUT, "<$infile") || die "Could not open ", $infile, " for reading\n";my $dir = "$outfile";$dir =~ /^(.*)\/\S+\.java$/ and$dir = "$1";if (! (-d $dir)) {mymkdir ($dir);}open (OUTPUT, ">$outfile") || die "Could not open ", $outfile, " for writing\n";print OUTPUT <<'EOF';/* This file was converted from the GNU Classpath Project by a* perl script, written by Jochen Hoenicke <jochen\@gnu.org>.*/EOFwhile (<INPUT>) {$_ = "package $destPkg;\n" if ($_ =~ /^package java.(lang|util);$/);next if $_ =~ /^import java.io.Object.*putStream.*Field;$/;next if $_ =~ /^import java.io.ObjectStreamField;$/;for $clazz (@javalangclasses) {$_ =~ s/java.lang.$clazz/$clazz/g;}for $clazz (@javautilclasses) {$_ =~ s/java.util.$clazz/$clazz/g;}for $clazz (@externalclasses) {$_ =~ s/java.util.$clazz/$clazz/g;}$_ =~ s/abstract (interface)/$1/g;print OUTPUT $_;if ($_ =~ /^package $destPkg;$/&& exists $imports{$file}) {for $imp (@{$imports{$file}}) {print OUTPUT "import java.util.$imp;\n";}}}close (OUTPUT);close (INPUT);}my $file;for $file (@javalangclasses) {my $infile = "$classpath/java/lang/$file.java";my $outfile = "$destpath/$file.java";print "$outfile\n";convert ($file, $infile, $outfile);}for $file (@javautilclasses) {my $infile = "$classpath/java/util/$file.java";my $outfile = "$destpath/$file.java";print "$outfile\n";convert ($file, $infile, $outfile);}for $file (@externalclasses) {my $infile = "$classpath/external/jsr166/java/util/$file.java";my $outfile = "$destpath/$file.java";print "$outfile\n";convert ($file, $infile, $outfile);}
Go to most recent revision | Compare with Previous | Blame | View Log
