@Nonnull public static ImmutableList<ImmutableInstruction> immutableListOf(Iterable<? extends Instruction> list) { return CONVERTER.toList(list); }
@Override public ImmutableItem next() { return makeImmutable(iter.next()); } @Override public void remove() { iter.remove(); }
@Nonnull public static ImmutableSet<ImmutableAnnotationElement> immutableSetOf( @Nullable Iterable<? extends AnnotationElement> list) { return CONVERTER.toSet(list); }
@Nonnull public ImmutableList<ImmutableItem> toList(@Nullable final Iterable<? extends Item> iterable) { if (iterable == null) { return ImmutableList.of(); } boolean needsCopy = false; if (iterable instanceof ImmutableList) { for (Item element: iterable) { if (!isImmutable(element)) { needsCopy = true; break; } } } else { needsCopy = true; } if (!needsCopy) { return (ImmutableList<ImmutableItem>)iterable; } final Iterator<? extends Item> iter = iterable.iterator(); return ImmutableList.copyOf(new Iterator<ImmutableItem>() { @Override public boolean hasNext() { return iter.hasNext(); } @Override public ImmutableItem next() { return makeImmutable(iter.next()); } @Override public void remove() { iter.remove(); } }); }
@Nonnull public static ImmutableSortedSet<ImmutableMethod> immutableSetOf(@Nullable Iterable<? extends Method> list) { return CONVERTER.toSortedSet(Ordering.natural(), list); }
@Override public ImmutableItem next() { return makeImmutable(iter.next()); } @Override public void remove() { iter.remove(); }
@Nonnull public static ImmutableSet<ImmutableAnnotation> immutableSetOf(@Nullable Iterable<? extends Annotation> list) { return CONVERTER.toSet(list); }
@Nonnull public ImmutableSet<ImmutableItem> toSet(@Nullable final Iterable<? extends Item> iterable) { if (iterable == null) { return ImmutableSet.of(); } boolean needsCopy = false; if (iterable instanceof ImmutableSet) { for (Item element: iterable) { if (!isImmutable(element)) { needsCopy = true; break; } } } else { needsCopy = true; } if (!needsCopy) { return (ImmutableSet<ImmutableItem>)iterable; } final Iterator<? extends Item> iter = iterable.iterator(); return ImmutableSet.copyOf(new Iterator<ImmutableItem>() { @Override public boolean hasNext() { return iter.hasNext(); } @Override public ImmutableItem next() { return makeImmutable(iter.next()); } @Override public void remove() { iter.remove(); } }); }
@Nonnull public static ImmutableSortedSet<ImmutableMethod> immutableSetOf(@Nullable Iterable<? extends Method> list) { return CONVERTER.toSortedSet(Ordering.natural(), list); }
public static ImmutableList<ImmutableDebugItem> immutableListOf(Iterable<? extends DebugItem> list) { return CONVERTER.toList(list); }
@Override public ImmutableItem next() { return makeImmutable(iter.next()); } @Override public void remove() { iter.remove(); }
@Nonnull public static ImmutableSet<ImmutableClassDef> immutableSetOf(@Nullable Iterable<? extends ClassDef> iterable) { return CONVERTER.toSet(iterable); }
@Nonnull public ImmutableSet<ImmutableItem> toSet(@Nullable final Iterable<? extends Item> iterable) { if (iterable == null) { return ImmutableSet.of(); } boolean needsCopy = false; if (iterable instanceof ImmutableSet) { for (Item element: iterable) { if (!isImmutable(element)) { needsCopy = true; break; } } } else { needsCopy = true; } if (!needsCopy) { return (ImmutableSet<ImmutableItem>)iterable; } final Iterator<? extends Item> iter = iterable.iterator(); return ImmutableSet.copyOf(new Iterator<ImmutableItem>() { @Override public boolean hasNext() { return iter.hasNext(); } @Override public ImmutableItem next() { return makeImmutable(iter.next()); } @Override public void remove() { iter.remove(); } }); }
@Nonnull public static ImmutableSortedSet<ImmutableField> immutableSetOf(@Nullable Iterable<? extends Field> list) { return CONVERTER.toSortedSet(Ordering.natural(), list); }
@Nonnull public static ImmutableList<ImmutableInstruction> immutableListOf(Iterable<? extends Instruction> list) { return CONVERTER.toList(list); }
@Override public ImmutableItem next() { return makeImmutable(iter.next()); } @Override public void remove() { iter.remove(); }
@Nonnull public static ImmutableSet<ImmutableAnnotation> immutableSetOf(@Nullable Iterable<? extends Annotation> list) { return CONVERTER.toSet(list); }
@Nonnull public ImmutableList<ImmutableItem> toList(@Nullable final Iterable<? extends Item> iterable) { if (iterable == null) { return ImmutableList.of(); } boolean needsCopy = false; if (iterable instanceof ImmutableList) { for (Item element: iterable) { if (!isImmutable(element)) { needsCopy = true; break; } } } else { needsCopy = true; } if (!needsCopy) { return (ImmutableList<ImmutableItem>)iterable; } final Iterator<? extends Item> iter = iterable.iterator(); return ImmutableList.copyOf(new Iterator<ImmutableItem>() { @Override public boolean hasNext() { return iter.hasNext(); } @Override public ImmutableItem next() { return makeImmutable(iter.next()); } @Override public void remove() { iter.remove(); } }); }
@Nonnull public static ImmutableSortedSet<ImmutableField> immutableSetOf(@Nullable Iterable<? extends Field> list) { return CONVERTER.toSortedSet(Ordering.natural(), list); }
@Nonnull public static ImmutableList<ImmutableMethodParameter> immutableListOf( @Nullable Iterable<? extends MethodParameter> list) { return CONVERTER.toList(list); }