X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=libjava%2Fscripts%2Fclasses.pl;fp=libjava%2Fscripts%2Fclasses.pl;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=cc5ef7866683cfbe85fdf93ef76145bbe3308a6f;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/libjava/scripts/classes.pl b/libjava/scripts/classes.pl deleted file mode 100644 index cc5ef786..00000000 --- a/libjava/scripts/classes.pl +++ /dev/null @@ -1,123 +0,0 @@ -# classes.pl - A perl program to generate most of the contents of -# javaprims.h automatically. - -# Copyright (C) 1998, 1999, 2000 Red Hat, Inc. -# -# This file is part of libjava. -# -# This software is copyrighted work licensed under the terms of the -# Libjava License. Please consult the file "LIBJAVA_LICENSE" for -# details. - -# Usage: cd ; perl classes.pl. -# Can also be run from the `include' directory; this lets us -# more easily insert the output into javaprims.h (which is where it goes). - -use DirHandle; - -if (-d 'java') -{ - # Ok here. -} -elsif (-d '../java') -{ - chdir ('..'); -} -else -{ - die "couldn't find java directory\n"; -} - -&scan ('java', 2); - -exit 0; - -sub scan -{ - local ($dir, $indent) = @_; - local (@subdirs) = (); - local (%classes) = (); - - local ($d) = new DirHandle $dir; - local (*JFILE); - local ($name); - if (defined $d) - { - while (defined ($name = $d->read)) - { - next if $name eq 'CVS'; - next if $name eq '.'; - next if $name eq '..'; - if ($dir eq 'java' - && $name ne 'lang' - && $name ne 'util' - && $name ne 'io') - { - # We only generate decls for java.lang, java.io, and - # java.util. - next; - } - if (-d ($dir . '/' . $name)) - { - push (@subdirs, $name); - next; - } - next unless $name =~ /\.java$/; - - open (FILE, "< $dir/$name"); - local ($outer, $classname); - while () - { - s,//.*$,,; - # NOTE: we don't skip `/*' comments. However, we do - # skip lines with a `*' with leading whitespace. This - # catches the most important cases. - s,^\s*\*.*$,,; - - # For now assume that class names start with upper - # case letter. - next unless /\b(class|interface) ([A-Z][A-Za-z0-9]+)/; - $classname = $2; - - # We assume the code is properly indented, so that we - # can print inner classes properly. - if (/^\s/) - { - die "no outer class for $classname in $dir/$name" - unless $outer; - $classes{$outer . "\$" . $classname} = 1; - } - else - { - $classes{$classname} = 1; - $outer = $classname; - } - } - close (FILE); - } - - undef $d; - } - - local ($spaces) = ' ' x $indent; - local ($classname); - ($classname = $dir) =~ s/^.*\///; - print $spaces, "namespace ", $classname, "\n"; - print $spaces, "{\n"; - - foreach (sort keys %classes) - { - print $spaces, " class ", $_, ";\n"; - } - print "\n" if scalar @classes > 0 && scalar @subdirs > 0; - - local ($first) = 1; - foreach (sort @subdirs) - { - print "\n" unless $first; - $first = 0; - &scan ("$dir/$_", $indent + 2); - } - - print $spaces, "};\n"; -}