OSDN Git Service

* scripts/classes.pl (scan): Print inner classes properly.
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Jul 2000 19:34:29 +0000 (19:34 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Jul 2000 19:34:29 +0000 (19:34 +0000)
* gcj/javaprims.h: Updated class list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35151 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/gcj/javaprims.h
libjava/scripts/classes.pl

index fdbefa7..6f2a51d 100644 (file)
@@ -1,5 +1,8 @@
 2000-07-20  Tom Tromey  <tromey@cygnus.com>
 
+       * scripts/classes.pl (scan): Print inner classes properly.
+       * gcj/javaprims.h: Updated class list.
+
        * java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Only
        initialize String fields for interpreted classes.  Fixes bug
        reported by Hans Boehm.
index 9ef52dc..0592922 100644 (file)
@@ -39,6 +39,7 @@ extern "Java"
   {
     namespace io
     {
+      class BlockDataException;
       class BufferedInputStream;
       class BufferedOutputStream;
       class BufferedReader;
@@ -53,6 +54,7 @@ extern "Java"
       class DataOutput;
       class DataOutputStream;
       class EOFException;
+      class Externalizable;
       class File;
       class FileDescriptor;
       class FileInputStream;
@@ -68,11 +70,13 @@ extern "Java"
       class IOException;
       class InputStream;
       class InputStreamReader;
+      class InterfaceComparator;
       class InterruptedIOException;
       class InvalidClassException;
       class InvalidObjectException;
       class LineNumberInputStream;
       class LineNumberReader;
+      class MemberComparator;
       class NotActiveException;
       class NotSerializableException;
       class ObjectInput;
@@ -99,10 +103,11 @@ extern "Java"
       class PushbackReader;
       class RandomAccessFile;
       class Reader;
+      class Replaceable;
+      class Resolvable;
       class SequenceInputStream;
       class Serializable;
       class SerializablePermission;
-      class SimpleDigestStream;
       class StreamCorruptedException;
       class StreamTokenizer;
       class StringBufferInputStream;
@@ -111,8 +116,10 @@ extern "Java"
       class SyncFailedException;
       class UTFDataFormatException;
       class UnsupportedEncodingException;
+      class ValidatorAndPriority;
+      class WriteAbortedException;
       class Writer;
-    }
+    };
 
     namespace lang
     {
@@ -122,6 +129,7 @@ extern "Java"
       class ArrayStoreException;
       class Boolean;
       class Byte;
+      class CPlusPlusDemangler;
       class Character;
       class Class;
       class ClassCastException;
@@ -198,13 +206,20 @@ extern "Java"
         class Member;
         class Method;
         class Modifier;
-      }
-    }
+      };
+    };
 
     namespace util
     {
+      class AbstractCollection;
+      class AbstractList;
+      class AbstractList$SubList;
+      class Arrays;
+      class Arrays$ListImpl;
       class BitSet;
       class Calendar;
+      class Collection;
+      class Comparator;
       class ConcurrentModificationException;
       class Date;
       class Dictionary;
@@ -216,6 +231,9 @@ extern "Java"
       class Hashtable;
       class HashtableEntry;
       class HashtableEnumeration;
+      class Iterator;
+      class List;
+      class ListIterator;
       class ListResourceBundle;
       class Locale;
       class MissingResourceException;
@@ -238,7 +256,7 @@ extern "Java"
         class JarEntry;
         class JarFile;
         class JarInputStream;
-      }
+      };
 
       namespace zip
       {
@@ -261,9 +279,9 @@ extern "Java"
         class ZipFile;
         class ZipInputStream;
         class ZipOutputStream;
-      }
-    }
-  }
+      };
+    };
+  };
 };
 
 typedef struct java::lang::Object* jobject;
index e9f17c7..9523823 100644 (file)
@@ -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);
        }