2002-09-18 Michael Koch <konqueror@gmx.de>
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 Sep 2002 10:15:52 +0000 (10:15 +0000)
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 Sep 2002 10:15:52 +0000 (10:15 +0000)
* java/util/regex/Matcher.java, java/util/regex/Pattern.java,
java/util/regex/PatternSyntaxException.java:
Merge with classpath, new files.
* Makefile.am (core_java_source_files):
Added java/util/regex/Matcher.java,
java/util/regex/Pattern.java,
java/util/regex/PatternSyntaxException.java
* Makefile.in: Regenerated.
* include/config.h.in: Added HAVE_NET_IF_H.
* java/net/natNetworkInterface.cc (getRealNetworkInterfaces):
Removed #if 0 ... #endif.

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

libjava/ChangeLog
libjava/Makefile.am
libjava/Makefile.in
libjava/include/config.h.in
libjava/java/net/natNetworkInterface.cc
libjava/java/util/regex/Matcher.java [new file with mode: 0644]
libjava/java/util/regex/Pattern.java [new file with mode: 0644]
libjava/java/util/regex/PatternSyntaxException.java [new file with mode: 0644]

index 8c21e1a..89cba05 100644 (file)
@@ -1,3 +1,17 @@
+2002-09-18  Michael Koch  <konqueror@gmx.de>
+
+       * java/util/regex/Matcher.java, java/util/regex/Pattern.java,
+       java/util/regex/PatternSyntaxException.java:
+       Merge with classpath, new files.
+       * Makefile.am (core_java_source_files):
+       Added java/util/regex/Matcher.java,
+       java/util/regex/Pattern.java,
+       java/util/regex/PatternSyntaxException.java
+       * Makefile.in: Regenerated.
+       * include/config.h.in: Added HAVE_NET_IF_H.
+       * java/net/natNetworkInterface.cc (getRealNetworkInterfaces):
+       Removed #if 0 ... #endif.
+       
 2002-09-17  Michael Koch  <konqueror@gmx.de>
 
        * java/net/natNetworkInterface.cc:
index fb32fa9..456662c 100644 (file)
@@ -1661,7 +1661,10 @@ java/util/TreeMap.java \
 java/util/TreeSet.java \
 java/util/TooManyListenersException.java \
 java/util/Vector.java \
-java/util/WeakHashMap.java
+java/util/WeakHashMap.java \
+java/util/regex/Matcher.java \
+java/util/regex/Pattern.java \
+java/util/regex/PatternSyntaxException.java
 
 ## List of all .java files to be compiled.  Please keep this list
 ## alphabetical.  Please put files from java/lang, java/io, and java/util
index 1cc7ef5..272a446 100644 (file)
@@ -1428,7 +1428,10 @@ java/util/TreeMap.java \
 java/util/TreeSet.java \
 java/util/TooManyListenersException.java \
 java/util/Vector.java \
-java/util/WeakHashMap.java
+java/util/WeakHashMap.java \
+java/util/regex/Matcher.java \
+java/util/regex/Pattern.java \
+java/util/regex/PatternSyntaxException.java
 
 
 ordinary_java_source_files = $(core_java_source_files) \
@@ -3113,8 +3116,11 @@ DEP_FILES =  .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
 .deps/java/util/jar/JarException.P .deps/java/util/jar/JarFile.P \
 .deps/java/util/jar/JarInputStream.P \
 .deps/java/util/jar/JarOutputStream.P .deps/java/util/jar/Manifest.P \
-.deps/java/util/natTimeZone.P .deps/java/util/zip/Adler32.P \
-.deps/java/util/zip/CRC32.P .deps/java/util/zip/CheckedInputStream.P \
+.deps/java/util/natTimeZone.P .deps/java/util/regex/Matcher.P \
+.deps/java/util/regex/Pattern.P \
+.deps/java/util/regex/PatternSyntaxException.P \
+.deps/java/util/zip/Adler32.P .deps/java/util/zip/CRC32.P \
+.deps/java/util/zip/CheckedInputStream.P \
 .deps/java/util/zip/CheckedOutputStream.P \
 .deps/java/util/zip/Checksum.P \
 .deps/java/util/zip/DataFormatException.P \
index f75f74f..612a2bf 100644 (file)
 /* Define if you have the <netdb.h> header file.  */
 #undef HAVE_NETDB_H
 
+/* Define if you have the <net/if.h> header file.  */
+#undef HAVE_NET_IF_H
+
 /* Define if you have the <netinet/in.h> header file.  */
 #undef HAVE_NETINET_IN_H
 
index 75e904d..1d236b0 100644 (file)
@@ -70,7 +70,6 @@ java::net::NetworkInterface::getRealNetworkInterfaces ()
 ::java::util::Vector*
 java::net::NetworkInterface::getRealNetworkInterfaces ()
 {
-#if 0
   int fd;
   int num_interfaces = 0;
   struct ifconf if_data;
@@ -128,7 +127,7 @@ java::net::NetworkInterface::getRealNetworkInterfaces ()
     }
 
 #ifdef HAVE_INET6
-      // FIXME: read /proc/net/if_inet6
+      // FIXME: read /proc/net/if_inet6 (on Linux 2.4)
 #endif
 
   _Jv_Free (if_data.ifc_buf);
@@ -137,7 +136,6 @@ java::net::NetworkInterface::getRealNetworkInterfaces ()
     ::close (fd);
   
   return ht;
-#endif
 }
 
 #endif // DISABLE_JAVA_NET //
diff --git a/libjava/java/util/regex/Matcher.java b/libjava/java/util/regex/Matcher.java
new file mode 100644 (file)
index 0000000..a1f95db
--- /dev/null
@@ -0,0 +1,51 @@
+/* Matcher.java -- 
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath 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.
+
+GNU Classpath 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 GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+// Stub class until java.util.regex is implemented.
+package java.util.regex;
+
+public class Matcher
+{
+  public String replaceFirst(String replacement)
+  {
+    throw new InternalError("Not implemented yet");
+  }
+  public String replaceAll(String replacement)
+  {
+    throw new InternalError("Not implemented yet");
+  }
+}
diff --git a/libjava/java/util/regex/Pattern.java b/libjava/java/util/regex/Pattern.java
new file mode 100644 (file)
index 0000000..0ea1bfb
--- /dev/null
@@ -0,0 +1,59 @@
+/* Pattern.java -- 
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath 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.
+
+GNU Classpath 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 GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+// Stub class until java.util.regex is implemented.
+package java.util.regex;
+
+public class Pattern
+{
+  public static Pattern compile(String regex)
+  {
+    throw new InternalError("Not implemented yet");
+  }
+  public static boolean matches(String regex, CharSequence input) 
+  {
+    throw new InternalError("Not implemented yet");
+  }
+  public Matcher matcher(CharSequence input)
+  {
+    throw new InternalError("Not implemented yet");
+  }
+  public String[] split(CharSequence input, int limit)
+  {
+    throw new InternalError("Not implemented yet");
+  }
+}
diff --git a/libjava/java/util/regex/PatternSyntaxException.java b/libjava/java/util/regex/PatternSyntaxException.java
new file mode 100644 (file)
index 0000000..fc40d34
--- /dev/null
@@ -0,0 +1,131 @@
+/* PatternSyntaxException - Indicates illegal pattern for regular expression.
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath 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.
+
+GNU Classpath 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 GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.util.regex;
+
+/**
+ * Indicates illegal pattern for regular expression.
+ * Includes state to inspect the pattern and what and where the expression
+ * was not valid regular expression.
+ */
+public class PatternSyntaxException extends IllegalArgumentException
+{
+
+  /**
+   * Human readable escription of the syntax error.
+   */
+  private final String desc;
+
+  /**
+   * The original pattern that contained the syntax error.
+   */
+  private final String pattern;
+  
+  /**
+   * Index of the first character in the String that was probably invalid,
+   * or -1 when unknown.
+   */
+  private final int index;
+
+  /**
+   * Creates a new PatternSyntaxException.
+   *
+   * @param description Human readable escription of the syntax error.
+   * @param pattern The original pattern that contained the syntax error.
+   * @param index Index of the first character in the String that was
+   *        probably invalid, or -1 when unknown.
+   */
+  public PatternSyntaxException(String description,
+                               String pattern,
+                               int index)
+  {
+    super(description);
+    this.desc = description;
+    this.pattern = pattern;
+    this.index = index;
+  }
+
+  /**
+   * Returns a human readable escription of the syntax error.
+   */
+  public String getDescription()
+  {
+    return desc;
+  }
+
+  /**
+   * Returns the original pattern that contained the syntax error.
+   */
+  public String getPattern()
+  {
+    return pattern;
+  }
+
+  /**
+   * Returns the index of the first character in the String that was probably
+   * invalid, or -1 when unknown.
+   */
+  public int getIndex()
+  {
+    return index;
+  }
+
+  /**
+   * Returns a string containing a line with the description, a line with
+   * the original pattern and a line indicating with a ^ which character is
+   * probably the first invalid character in the pattern if the index is not
+   * negative.
+   */
+  public String getMessage()
+  {
+    String lineSep = System.getProperty("line.separator");
+    StringBuffer sb = new StringBuffer(desc);
+    sb.append(lineSep);
+    sb.append('\t');
+    sb.append(pattern);
+    if (index != -1)
+      {
+       sb.append(lineSep);
+       sb.append('\t');
+       for (int i=0; i<index; i++)
+         sb.append(' ');
+       sb.append('^');
+      }
+    return sb.toString();
+  }
+
+}