From 2290ee3f3dc1ba35c588ed934e3ae2f3c35bf8a1 Mon Sep 17 00:00:00 2001 From: "Ray J. Greenwell" Date: Wed, 29 Oct 2014 09:59:15 -0700 Subject: [PATCH] Also do proper cloning so we can be subclassed. --- .../com/threerings/presents/tools/ImportSet.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tools/src/main/java/com/threerings/presents/tools/ImportSet.java b/tools/src/main/java/com/threerings/presents/tools/ImportSet.java index 71b33ea28..15391c88d 100644 --- a/tools/src/main/java/com/threerings/presents/tools/ImportSet.java +++ b/tools/src/main/java/com/threerings/presents/tools/ImportSet.java @@ -51,6 +51,7 @@ import com.samskivert.util.StringUtil; * prefix like "something*" or a suffix like "*something". */ public class ImportSet + implements Cloneable { /** * Adds the given class' name to the set of imports. @@ -99,9 +100,15 @@ public class ImportSet @Override public ImportSet clone () { - ImportSet newset = new ImportSet(); - newset.addAll(this); - return newset; + try { + ImportSet newSet = (ImportSet)super.clone(); + newSet._pushed = Lists.newArrayList(); + newSet._imports = Sets.newHashSet(this._imports); + return newSet; + + } catch (CloneNotSupportedException cnse) { + throw new AssertionError(cnse); // we are Cloneable + } } /**