@Override public Identifier clone() { return (Identifier)super.clone(); } public abstract boolean isPlain();
protected static Object cloneObject(Object value) throws CloneNotSupportedException { if (value == null) return null; Class<?> type = value.getClass(); if (Element.class.isAssignableFrom(type)) return ((Element)value).clone(); else if (EnumSet.class.isAssignableFrom(type)) return ((EnumSet<?>)value).clone(); else if (Collection.class.isAssignableFrom(type)) return cloneElements((Collection<?>) value); else if (Map.class.isAssignableFrom(type)) return cloneElements((Map<?, ?>) value); else if (Pair.class.isAssignableFrom(type)) { Pair<?, ?> pair = (Pair<?, ?>)value; return new Pair<Object, Object>(cloneObject(pair.getFirst()), cloneObject(pair.getSecond())); } //else if (value instanceof String || type.isPrimitive()) return value; //throw new CloneNotSupportedException(); } public static Collection<?> cloneElements(Collection<?> col) throws CloneNotSupportedException {
@Override public SourceFiles clone() { return (SourceFiles) super.clone(); }
@Override public Expression clone() { return (Expression)super.clone(); }
@Override public SourceFile clone() { return (SourceFile)super.clone(); }
@Override public SourceFiles clone() { return (SourceFiles) super.clone(); }
@SuppressWarnings("unchecked") public static <T extends Element> List<T> clones(List<T> list) { List<T> clone = new ArrayList<T>(list.size()); for (T e : list) { clone.add((T) e.clone()); } return clone; }
@SuppressWarnings("unchecked") public static <T extends Element> List<T> deepClone(List<T> list) { List<T> clone = new ArrayList<T>(list.size()); for (T e : list) clone.add((T)e.clone()); return clone; } public Element clone() {
@SuppressWarnings("unchecked") static <E extends Element> E cleanClone(E e) { E c = (E) e.clone(); c.setCommentBefore(null); c.setCommentAfter(null); if (c instanceof Declaration) { Declaration d = (Declaration) c; d.setAnnotations(null); } return c; }
@SuppressWarnings("unchecked") static <E extends Element> E cleanClone(E e) { E c = (E) e.clone(); c.setCommentBefore(null); c.setCommentAfter(null); if (c instanceof Declaration) { Declaration d = (Declaration) c; d.setAnnotations(null); } return c; }
tr32 = tr32.clone(); DefSeq s32 = extractDefSeq(tr32), s64 = extractDefSeq(tr64); if (!s32.matches(s64)) {
tr32 = tr32.clone(); DefSeq s32 = extractDefSeq(tr32), s64 = extractDefSeq(tr64); if (!s32.matches(s64)) {