From e1616d2e2f3fa7e8b11e0d5b2f82b478d152f7a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Sun, 11 Dec 2016 15:09:36 +0100 Subject: [PATCH] swf list error handling --- .../decompiler/flash/treeitems/SWFList.java | 373 +++++++++--------- 1 file changed, 188 insertions(+), 185 deletions(-) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/SWFList.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/SWFList.java index dce669c37..10437853f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/SWFList.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/treeitems/SWFList.java @@ -1,185 +1,188 @@ -/* - * Copyright (C) 2010-2016 JPEXS, All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3.0 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. - */ -package com.jpexs.decompiler.flash.treeitems; - -import com.jpexs.decompiler.flash.SWF; -import com.jpexs.decompiler.flash.SWFBundle; -import com.jpexs.decompiler.flash.SWFContainerItem; -import com.jpexs.decompiler.flash.SWFSourceInfo; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; -import java.util.ListIterator; - -/** - * - * @author JPEXS - */ -public class SWFList implements List, SWFContainerItem { - - public String name; - - public SWFBundle bundle; - - public SWFSourceInfo sourceInfo; - - public List swfs = new ArrayList<>(); - - public boolean isBundle() { - return bundle != null; - } - - @Override - public SWF getSwf() { - throw new UnsupportedOperationException("Not supported."); - } - - @Override - public String toString() { - if (isBundle()) { - return name; - } else { - return swfs.get(0).getFileTitle(); - } - } - - @Override - public Iterator iterator() { - return swfs.iterator(); - } - - @Override - public int size() { - return swfs.size(); - } - - @Override - public boolean isEmpty() { - return swfs.isEmpty(); - } - - @Override - public boolean contains(Object o) { - return swfs.contains(o); - } - - @Override - public Object[] toArray() { - return swfs.toArray(); - } - - @Override - public T[] toArray(T[] ts) { - return swfs.toArray(ts); - } - - @Override - public boolean add(SWF e) { - return swfs.add(e); - } - - @Override - public boolean remove(Object o) { - return swfs.remove(o); - } - - @Override - public boolean containsAll(Collection clctn) { - return swfs.containsAll(clctn); - } - - @Override - public boolean addAll(Collection clctn) { - return swfs.addAll(clctn); - } - - @Override - public boolean removeAll(Collection clctn) { - return swfs.removeAll(clctn); - } - - @Override - public boolean retainAll(Collection clctn) { - return swfs.retainAll(clctn); - } - - @Override - public void clear() { - swfs.clear(); - } - - @Override - public boolean addAll(int i, Collection clctn) { - return swfs.addAll(i, clctn); - } - - @Override - public SWF get(int i) { - return swfs.get(i); - } - - @Override - public SWF set(int i, SWF e) { - return swfs.set(i, e); - } - - @Override - public void add(int i, SWF e) { - swfs.add(i, e); - } - - @Override - public SWF remove(int i) { - return swfs.remove(i); - } - - @Override - public int indexOf(Object o) { - return swfs.indexOf(0); - } - - @Override - public int lastIndexOf(Object o) { - return swfs.lastIndexOf(o); - } - - @Override - public ListIterator listIterator() { - return swfs.listIterator(); - } - - @Override - public ListIterator listIterator(int i) { - return swfs.listIterator(i); - } - - @Override - public List subList(int i, int i1) { - return swfs.subList(i, i1); - } - - @Override - public boolean isModified() { - for (SWF s : swfs) { - if (s.isModified()) { - return true; - } - } - return false; - } -} +/* + * Copyright (C) 2010-2016 JPEXS, All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3.0 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. + */ +package com.jpexs.decompiler.flash.treeitems; + +import com.jpexs.decompiler.flash.SWF; +import com.jpexs.decompiler.flash.SWFBundle; +import com.jpexs.decompiler.flash.SWFContainerItem; +import com.jpexs.decompiler.flash.SWFSourceInfo; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.ListIterator; + +/** + * + * @author JPEXS + */ +public class SWFList implements List, SWFContainerItem { + + public String name; + + public SWFBundle bundle; + + public SWFSourceInfo sourceInfo; + + public List swfs = new ArrayList<>(); + + public boolean isBundle() { + return bundle != null; + } + + @Override + public SWF getSwf() { + throw new UnsupportedOperationException("Not supported."); + } + + @Override + public String toString() { + if (isBundle()) { + return name; + } else { + return swfs.get(0).getFileTitle(); + } + } + + @Override + public Iterator iterator() { + return swfs.iterator(); + } + + @Override + public int size() { + return swfs.size(); + } + + @Override + public boolean isEmpty() { + return swfs.isEmpty(); + } + + @Override + public boolean contains(Object o) { + return swfs.contains(o); + } + + @Override + public Object[] toArray() { + return swfs.toArray(); + } + + @Override + public T[] toArray(T[] ts) { + return swfs.toArray(ts); + } + + @Override + public boolean add(SWF e) { + return swfs.add(e); + } + + @Override + public boolean remove(Object o) { + return swfs.remove(o); + } + + @Override + public boolean containsAll(Collection clctn) { + return swfs.containsAll(clctn); + } + + @Override + public boolean addAll(Collection clctn) { + return swfs.addAll(clctn); + } + + @Override + public boolean removeAll(Collection clctn) { + return swfs.removeAll(clctn); + } + + @Override + public boolean retainAll(Collection clctn) { + return swfs.retainAll(clctn); + } + + @Override + public void clear() { + swfs.clear(); + } + + @Override + public boolean addAll(int i, Collection clctn) { + return swfs.addAll(i, clctn); + } + + @Override + public SWF get(int i) { + if (i < 0 || i >= swfs.size()) { + return null; + } + return swfs.get(i); + } + + @Override + public SWF set(int i, SWF e) { + return swfs.set(i, e); + } + + @Override + public void add(int i, SWF e) { + swfs.add(i, e); + } + + @Override + public SWF remove(int i) { + return swfs.remove(i); + } + + @Override + public int indexOf(Object o) { + return swfs.indexOf(0); + } + + @Override + public int lastIndexOf(Object o) { + return swfs.lastIndexOf(o); + } + + @Override + public ListIterator listIterator() { + return swfs.listIterator(); + } + + @Override + public ListIterator listIterator(int i) { + return swfs.listIterator(i); + } + + @Override + public List subList(int i, int i1) { + return swfs.subList(i, i1); + } + + @Override + public boolean isModified() { + for (SWF s : swfs) { + if (s.isModified()) { + return true; + } + } + return false; + } +}