Commit 473210a9 by Dalibor Topic Committed by Matthias Klose

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
parent 5b6693af
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.
2007-07-28 Matthias Klose <doko@ubuntu.com> 2007-07-28 Matthias Klose <doko@ubuntu.com>
* include/jvmti.h(jniNativeInterface): Rename type. * include/jvmti.h(jniNativeInterface): Rename type.
......
...@@ -6,23 +6,25 @@ ...@@ -6,23 +6,25 @@
#pragma interface #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 public: // actually package-private
EnumSet$1(::java::util::EnumSet *); EnumSet$1();
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;
public: 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$; static ::java::lang::Class class$;
}; };
......
// 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__
...@@ -17,16 +17,6 @@ public: // actually package-private ...@@ -17,16 +17,6 @@ public: // actually package-private
EnumSet(); EnumSet();
public: public:
virtual ::java::util::EnumSet * EnumSet$clone(); 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 * allOf(::java::lang::Class *);
static ::java::util::EnumSet * noneOf(::java::lang::Class *); static ::java::util::EnumSet * noneOf(::java::lang::Class *);
static ::java::util::EnumSet * copyOf(::java::util::EnumSet *); static ::java::util::EnumSet * copyOf(::java::util::EnumSet *);
...@@ -40,7 +30,6 @@ public: ...@@ -40,7 +30,6 @@ public:
static ::java::util::EnumSet * of(::java::lang::Enum *, JArray< ::java::lang::Enum * > *); static ::java::util::EnumSet * of(::java::lang::Enum *, JArray< ::java::lang::Enum * > *);
static ::java::util::EnumSet * range(::java::lang::Enum *, ::java::lang::Enum *); static ::java::util::EnumSet * range(::java::lang::Enum *, ::java::lang::Enum *);
virtual ::java::lang::Object * clone(); virtual ::java::lang::Object * clone();
virtual jboolean add(::java::lang::Object *);
private: private:
static const jlong serialVersionUID = 4782406773684236311LL; static const jlong serialVersionUID = 4782406773684236311LL;
public: // actually package-private public: // actually package-private
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment