aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
authorDalibor Topic <robilad@kaffe.org>2007-08-08 08:00:32 +0000
committerMatthias Klose <doko@gcc.gnu.org>2007-08-08 08:00:32 +0000
commit473210a961853103e0155332b2df87559cc63f08 (patch)
tree964d5a02b48bb86df99ae1b3278b0daa90e72c4d /libjava/java
parent5b6693af786130f37f0b7cebe023f8004361ff7f (diff)
downloadgcc-473210a961853103e0155332b2df87559cc63f08.zip
gcc-473210a961853103e0155332b2df87559cc63f08.tar.gz
gcc-473210a961853103e0155332b2df87559cc63f08.tar.bz2
re PR classpath/32844 (EnumSet causes code to be miscompiled)
2007-07-31 Dalibor Topic <robilad@kaffe.org> PR 32844 * java/util/EnumSet.java: Made class abstract per API spec. (size, iterator, add, addAll, clear, contains, containsAll, remove, removeAll, retainAll) Moved into an anonymous inner class in of(T). (allOf, noneOf, copyOf, of, range) Made more implementation independent. (of(T)) return an instance of an anonymous class implementing EmptySet. From-SVN: r127291
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/util/EnumSet$1.h26
-rw-r--r--libjava/java/util/EnumSet$2.h29
-rw-r--r--libjava/java/util/EnumSet.h11
3 files changed, 43 insertions, 23 deletions
diff --git a/libjava/java/util/EnumSet$1.h b/libjava/java/util/EnumSet$1.h
index 55e1c91..3e247ec 100644
--- a/libjava/java/util/EnumSet$1.h
+++ b/libjava/java/util/EnumSet$1.h
@@ -6,23 +6,25 @@
#pragma interface
-#include <java/lang/Object.h>
+#include <java/util/EnumSet.h>
-class java::util::EnumSet$1 : public ::java::lang::Object
+class java::util::EnumSet$1 : public ::java::util::EnumSet
{
public: // actually package-private
- EnumSet$1(::java::util::EnumSet *);
-public:
- jboolean hasNext();
- ::java::lang::Enum * EnumSet$1$next();
- void remove();
- ::java::lang::Object * next();
-public: // actually package-private
- jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) next__;
- jint count;
- ::java::util::EnumSet * this$0;
+ EnumSet$1();
public:
+ jboolean EnumSet$1$add(::java::lang::Enum *);
+ jboolean addAll(::java::util::Collection *);
+ void clear();
+ jboolean contains(::java::lang::Object *);
+ jboolean containsAll(::java::util::Collection *);
+ ::java::util::Iterator * iterator();
+ jboolean remove(::java::lang::Object *);
+ jboolean removeAll(::java::util::Collection *);
+ jboolean retainAll(::java::util::Collection *);
+ jint size();
+ jboolean add(::java::lang::Object *);
static ::java::lang::Class class$;
};
diff --git a/libjava/java/util/EnumSet$2.h b/libjava/java/util/EnumSet$2.h
new file mode 100644
index 0000000..e80b978
--- /dev/null
+++ b/libjava/java/util/EnumSet$2.h
@@ -0,0 +1,29 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __java_util_EnumSet$2__
+#define __java_util_EnumSet$2__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+class java::util::EnumSet$2 : public ::java::lang::Object
+{
+
+public: // actually package-private
+ EnumSet$2(::java::util::EnumSet$1 *);
+public:
+ jboolean hasNext();
+ ::java::lang::Enum * EnumSet$2$next();
+ void remove();
+ ::java::lang::Object * next();
+public: // actually package-private
+ jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) next__;
+ jint count;
+ ::java::util::EnumSet$1 * this$1;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __java_util_EnumSet$2__
diff --git a/libjava/java/util/EnumSet.h b/libjava/java/util/EnumSet.h
index 200868a..5497e30 100644
--- a/libjava/java/util/EnumSet.h
+++ b/libjava/java/util/EnumSet.h
@@ -17,16 +17,6 @@ public: // actually package-private
EnumSet();
public:
virtual ::java::util::EnumSet * EnumSet$clone();
- virtual jint size();
- virtual ::java::util::Iterator * iterator();
- virtual jboolean EnumSet$add(::java::lang::Enum *);
- virtual jboolean addAll(::java::util::Collection *);
- virtual void clear();
- virtual jboolean contains(::java::lang::Object *);
- virtual jboolean containsAll(::java::util::Collection *);
- virtual jboolean remove(::java::lang::Object *);
- virtual jboolean removeAll(::java::util::Collection *);
- virtual jboolean retainAll(::java::util::Collection *);
static ::java::util::EnumSet * allOf(::java::lang::Class *);
static ::java::util::EnumSet * noneOf(::java::lang::Class *);
static ::java::util::EnumSet * copyOf(::java::util::EnumSet *);
@@ -40,7 +30,6 @@ public:
static ::java::util::EnumSet * of(::java::lang::Enum *, JArray< ::java::lang::Enum * > *);
static ::java::util::EnumSet * range(::java::lang::Enum *, ::java::lang::Enum *);
virtual ::java::lang::Object * clone();
- virtual jboolean add(::java::lang::Object *);
private:
static const jlong serialVersionUID = 4782406773684236311LL;
public: // actually package-private