summaryrefslogtreecommitdiffstats
path: root/libjava/scripts
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-20 19:34:29 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-20 19:34:29 +0000
commitb1e8a0f85dcf1ab2f6fa70c206e4156f1fd41e70 (patch)
treec2196b416c9f7a980ee273332eeb426c719c8426 /libjava/scripts
parent29355b4877a1990f44b73e4203f7c7942db414ab (diff)
downloadppe42-gcc-b1e8a0f85dcf1ab2f6fa70c206e4156f1fd41e70.tar.gz
ppe42-gcc-b1e8a0f85dcf1ab2f6fa70c206e4156f1fd41e70.zip
* scripts/classes.pl (scan): Print inner classes properly.
* gcj/javaprims.h: Updated class list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35151 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/scripts')
-rw-r--r--libjava/scripts/classes.pl21
1 files changed, 18 insertions, 3 deletions
diff --git a/libjava/scripts/classes.pl b/libjava/scripts/classes.pl
index e9f17c774ea..9523823a313 100644
--- a/libjava/scripts/classes.pl
+++ b/libjava/scripts/classes.pl
@@ -1,7 +1,7 @@
# classes.pl - A perl program to generate most of the contents of
# javaprims.h automatically.
-# Copyright (C) 1998, 1999 Red Hat, Inc.
+# Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
#
# This file is part of libjava.
#
@@ -65,14 +65,29 @@ sub scan
next unless $name =~ /\.java$/;
open (FILE, "< $dir/$name");
+ local ($outer, $classname);
while (<FILE>)
{
# NOTE: we don't skip `/*' comments.
s,//.*$,,;
# For now assume that class names start with upper
# case letter.
- next unless /(class|interface) ([A-Z][A-Za-z0-9]+)/;
- $classes{$2} = 1;
+ 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);
}
OpenPOWER on IntegriCloud