diff --git a/src/java/com/threerings/parlor/game/data/GameConfig.java b/src/java/com/threerings/parlor/game/data/GameConfig.java index 2bee0775..c4720eb4 100644 --- a/src/java/com/threerings/parlor/game/data/GameConfig.java +++ b/src/java/com/threerings/parlor/game/data/GameConfig.java @@ -151,12 +151,12 @@ public abstract class GameConfig extends PlaceConfig } @Override - public Object clone () + public GameConfig clone () { try { - return super.clone(); + return (GameConfig) super.clone(); } catch (CloneNotSupportedException cnse) { - throw new RuntimeException(cnse); + throw new AssertionError(cnse); } } } diff --git a/src/java/com/threerings/parlor/rating/server/RatingDelegate.java b/src/java/com/threerings/parlor/rating/server/RatingDelegate.java index 666d8330..4a166984 100644 --- a/src/java/com/threerings/parlor/rating/server/RatingDelegate.java +++ b/src/java/com/threerings/parlor/rating/server/RatingDelegate.java @@ -420,7 +420,7 @@ public abstract class RatingDelegate extends GameManagerDelegate modified = false; return rating; } catch (CloneNotSupportedException cnse) { - throw new RuntimeException(cnse); + throw new AssertionError(cnse); } } diff --git a/src/java/com/threerings/puzzle/data/Board.java b/src/java/com/threerings/puzzle/data/Board.java index 65b2de62..3ebe20a7 100644 --- a/src/java/com/threerings/puzzle/data/Board.java +++ b/src/java/com/threerings/puzzle/data/Board.java @@ -48,14 +48,14 @@ public abstract class Board public abstract boolean equals (Board other); @Override - public Object clone () + public Board clone () { try { Board board = (Board)super.clone(); - board._rando = (BoardRandom)_rando.clone(); + board._rando = _rando.clone(); return board; } catch (CloneNotSupportedException cnse) { - throw new RuntimeException(cnse); + throw new AssertionError(cnse); } } @@ -162,11 +162,11 @@ public abstract class Board } @Override - public Object clone () { + public BoardRandom clone () { try { - return super.clone(); + return (BoardRandom) super.clone(); } catch (CloneNotSupportedException cnse) { - throw new RuntimeException(cnse); + throw new AssertionError(cnse); } } diff --git a/src/java/com/threerings/puzzle/drop/data/DropBoard.java b/src/java/com/threerings/puzzle/drop/data/DropBoard.java index baca560a..18ffdc3b 100644 --- a/src/java/com/threerings/puzzle/drop/data/DropBoard.java +++ b/src/java/com/threerings/puzzle/drop/data/DropBoard.java @@ -687,7 +687,7 @@ public class DropBoard extends Board } @Override - public Object clone () + public DropBoard clone () { DropBoard board = (DropBoard)super.clone(); board._board = _board.clone(); diff --git a/src/java/com/threerings/stage/data/StageLocation.java b/src/java/com/threerings/stage/data/StageLocation.java index 2af905c6..6b002f89 100644 --- a/src/java/com/threerings/stage/data/StageLocation.java +++ b/src/java/com/threerings/stage/data/StageLocation.java @@ -74,7 +74,7 @@ public class StageLocation extends SimpleStreamableObject // documentation inherited from interface Location public Location getOpposite () { - StageLocation opp = (StageLocation) clone(); + StageLocation opp = clone(); opp.orient = (byte) DirectionUtil.getOpposite(orient); return opp; } @@ -113,12 +113,12 @@ public class StageLocation extends SimpleStreamableObject } @Override - public Object clone () + public StageLocation clone () { try { - return super.clone(); + return (StageLocation) super.clone(); } catch (CloneNotSupportedException cnse) { - throw new RuntimeException(cnse); + throw new AssertionError(cnse); } } } diff --git a/src/java/com/threerings/stage/data/StageScene.java b/src/java/com/threerings/stage/data/StageScene.java index 898b0b5c..36595b4b 100644 --- a/src/java/com/threerings/stage/data/StageScene.java +++ b/src/java/com/threerings/stage/data/StageScene.java @@ -153,7 +153,7 @@ public class StageScene extends SceneImpl } @Override - public Object clone () + public StageScene clone () throws CloneNotSupportedException { // create a new scene with a clone of our model diff --git a/src/java/com/threerings/stats/data/Stat.java b/src/java/com/threerings/stats/data/Stat.java index b55eb010..da43330d 100644 --- a/src/java/com/threerings/stats/data/Stat.java +++ b/src/java/com/threerings/stats/data/Stat.java @@ -194,12 +194,12 @@ public abstract class Stat } @Override - public Object clone () + public Stat clone () { try { - return super.clone(); - } catch (Exception e) { - throw new RuntimeException("Clone failed", e); + return (Stat) super.clone(); + } catch (CloneNotSupportedException e) { + throw new AssertionError(e); } } diff --git a/src/java/com/threerings/whirled/data/AuxModel.java b/src/java/com/threerings/whirled/data/AuxModel.java index 9f881a74..2cf85692 100644 --- a/src/java/com/threerings/whirled/data/AuxModel.java +++ b/src/java/com/threerings/whirled/data/AuxModel.java @@ -31,6 +31,6 @@ public interface AuxModel extends Streamable, Cloneable /** * Creates a clone of this auxiliary model. */ - public Object clone () + public AuxModel clone () throws CloneNotSupportedException; } diff --git a/src/java/com/threerings/whirled/data/SceneModel.java b/src/java/com/threerings/whirled/data/SceneModel.java index b1f7c4c1..859d26f1 100644 --- a/src/java/com/threerings/whirled/data/SceneModel.java +++ b/src/java/com/threerings/whirled/data/SceneModel.java @@ -61,13 +61,13 @@ public class SceneModel extends SimpleStreamableObject } @Override - public Object clone () + public SceneModel clone () throws CloneNotSupportedException { SceneModel model = (SceneModel)super.clone(); model.auxModels = new AuxModel[auxModels.length]; for (int ii = 0; ii < auxModels.length; ii++) { - model.auxModels[ii] = (AuxModel)auxModels[ii].clone(); + model.auxModels[ii] = auxModels[ii].clone(); } return model; } diff --git a/src/java/com/threerings/whirled/spot/data/Location.java b/src/java/com/threerings/whirled/spot/data/Location.java index 7f4ca3c1..12891761 100644 --- a/src/java/com/threerings/whirled/spot/data/Location.java +++ b/src/java/com/threerings/whirled/spot/data/Location.java @@ -51,5 +51,5 @@ public interface Location extends Streamable, Cloneable /** * Locations are cloneable. */ - public Object clone (); + public Location clone (); } diff --git a/src/java/com/threerings/whirled/spot/data/Portal.java b/src/java/com/threerings/whirled/spot/data/Portal.java index 864931fc..b389ed55 100644 --- a/src/java/com/threerings/whirled/spot/data/Portal.java +++ b/src/java/com/threerings/whirled/spot/data/Portal.java @@ -57,7 +57,7 @@ public class Portal extends SimpleStreamableObject */ public Location getLocation () { - return (Location) loc.clone(); + return loc.clone(); } /** @@ -85,12 +85,12 @@ public class Portal extends SimpleStreamableObject } @Override - public Object clone () + public Portal clone () { try { - return super.clone(); + return (Portal) super.clone(); } catch (CloneNotSupportedException cnse) { - throw new RuntimeException(cnse); + throw new AssertionError(cnse); } } diff --git a/src/java/com/threerings/whirled/spot/data/SpotSceneModel.java b/src/java/com/threerings/whirled/spot/data/SpotSceneModel.java index b2d5955a..5db7d152 100644 --- a/src/java/com/threerings/whirled/spot/data/SpotSceneModel.java +++ b/src/java/com/threerings/whirled/spot/data/SpotSceneModel.java @@ -64,14 +64,14 @@ public class SpotSceneModel extends SimpleStreamableObject } @Override - public Object clone () + public SpotSceneModel clone () throws CloneNotSupportedException { SpotSceneModel model = (SpotSceneModel)super.clone(); // clone our portals individually model.portals = new Portal[portals.length]; for (int ii = 0, ll = portals.length; ii < ll; ii++) { - model.portals[ii] = (Portal)portals[ii].clone(); + model.portals[ii] = portals[ii].clone(); } return model; }