Updated EmulSet to throw an explicit NPE instead of an implicit JavaScriptException. This fixes some failing unit tets.
Patch by: scottb, tobyr (pair prog)
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@1727 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/super/com/google/gwt/emul/java/lang/Enum.java b/user/super/com/google/gwt/emul/java/lang/Enum.java
index 0a2a5b2..c0efe0b 100644
--- a/user/super/com/google/gwt/emul/java/lang/Enum.java
+++ b/user/super/com/google/gwt/emul/java/lang/Enum.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2007 Google Inc.
+ * Copyright 2008 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
@@ -52,7 +52,7 @@
public final int compareTo(E other) {
// TODO: will a bridge method do the cast for us?
- // if (GWT.getTypeName(this) != GWT.getTypeName(other)) {
+ // if (this.getDeclaringClass() != other.getDeclaringClass()) {
// throw new ClassCastException();
// }
return this.ordinal - other.ordinal;
diff --git a/user/super/com/google/gwt/emul/java/util/EnumSet.java b/user/super/com/google/gwt/emul/java/util/EnumSet.java
index de65752..41789b8 100644
--- a/user/super/com/google/gwt/emul/java/util/EnumSet.java
+++ b/user/super/com/google/gwt/emul/java/util/EnumSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2007 Google Inc.
+ * Copyright 2008 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
@@ -195,7 +195,9 @@
@Override
public boolean add(E o) {
- // Throws NullPointerException according to spec
+ if (o == null) {
+ throw new NullPointerException("Can't add null to an EnumSet");
+ }
int value = 1 << o.ordinal();
boolean exists = (enumValues & value) != 0;
enumValues |= value;