diff options
author | Roman Shevchenko <roman.shevchenko@jetbrains.com> | 2014-08-28 21:34:14 +0400 |
---|---|---|
committer | Roman Shevchenko <roman.shevchenko@jetbrains.com> | 2014-08-28 21:34:19 +0400 |
commit | 076e4393f25bf1ad1ff1bd2853153e2b595dd90b (patch) | |
tree | f1a17a12ea762525b5efbc0778b0945d906c68c9 /src/org/jetbrains/java/decompiler/util/VBStyleCollection.java | |
parent | 663631f0456fcc245dd835889f86541d75161c53 (diff) | |
download | fernflower-076e4393f25bf1ad1ff1bd2853153e2b595dd90b.tar fernflower-076e4393f25bf1ad1ff1bd2853153e2b595dd90b.tar.gz fernflower-076e4393f25bf1ad1ff1bd2853153e2b595dd90b.tar.lz fernflower-076e4393f25bf1ad1ff1bd2853153e2b595dd90b.tar.xz fernflower-076e4393f25bf1ad1ff1bd2853153e2b595dd90b.zip |
java-decompiler: post-import cleanup (formatting and copyright)
Diffstat (limited to 'src/org/jetbrains/java/decompiler/util/VBStyleCollection.java')
-rw-r--r-- | src/org/jetbrains/java/decompiler/util/VBStyleCollection.java | 380 |
1 files changed, 190 insertions, 190 deletions
diff --git a/src/org/jetbrains/java/decompiler/util/VBStyleCollection.java b/src/org/jetbrains/java/decompiler/util/VBStyleCollection.java index 8542019..fcb579d 100644 --- a/src/org/jetbrains/java/decompiler/util/VBStyleCollection.java +++ b/src/org/jetbrains/java/decompiler/util/VBStyleCollection.java @@ -1,17 +1,18 @@ /* - * Fernflower - The Analytical Java Decompiler - * http://www.reversed-java.com + * Copyright 2000-2014 JetBrains s.r.o. * - * (C) 2008 - 2010, Stiver + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * - * This software is NEITHER public domain NOR free software - * as per GNU License. See license.txt for more details. + * http://www.apache.org/licenses/LICENSE-2.0 * - * This software is distributed WITHOUT ANY WARRANTY; without - * even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ - package org.jetbrains.java.decompiler.util; import java.util.ArrayList; @@ -20,185 +21,184 @@ import java.util.Collections; import java.util.HashMap; public class VBStyleCollection<E, K> extends ArrayList<E> { - - private HashMap<K, Integer> map = new HashMap<K, Integer>(); - - private ArrayList<K> lstKeys = new ArrayList<K>(); - - public VBStyleCollection() { - super(); - } - - public VBStyleCollection(int initialCapacity) { - super(initialCapacity); - lstKeys = new ArrayList<K>(initialCapacity); - map = new HashMap<K, Integer>(initialCapacity); - } - - public VBStyleCollection(Collection<E> c) { - super(c); - } - - public boolean add(E element) { - lstKeys.add(null); - super.add(element); - return true; - } - - public boolean remove(Object element) { // TODO: error on void remove(E element) - throw new RuntimeException("not implemented!"); - } - - public boolean addAll(Collection<? extends E> c) { - for(int i=c.size()-1;i>=0;i--) { - lstKeys.add(null); - } - return super.addAll(c); - } - - public void addAllWithKey(VBStyleCollection<E, K> c) { - for(int i=0;i<c.size();i++) { - addWithKey(c.get(i), c.getKey(i)); - } - } - - public void addAllWithKey(Collection<E> elements, Collection<K> keys) { - int index = super.size(); - - for(K key : keys) { - map.put(key, index++); - } - - super.addAll(elements); - lstKeys.addAll(keys); - } - - public void addWithKey(E element, K key) { - map.put(key, super.size()); - super.add(element); - lstKeys.add(key); - } - - // TODO: speed up the method - public E putWithKey(E element, K key) { - Integer index = map.get(key); - if (index == null) { - addWithKey(element, key); - } else { - return super.set(index, element); - } - return null; - } - - public void add(int index, E element) { - addToListIndex(index, 1); - lstKeys.add(index, null); - super.add(index, element); - } - - public void addWithKeyAndIndex(int index, E element, K key) { - addToListIndex(index, 1); - map.put(key, new Integer(index)); - super.add(index, element); - lstKeys.add(index, key); - } - - public void removeWithKey(K key) { - int index = ((Integer) map.get(key)).intValue(); - addToListIndex(index + 1, -1); - super.remove(index); - lstKeys.remove(index); - map.remove(key); - } - - public E remove(int index) { - addToListIndex(index + 1, -1); - Object obj = lstKeys.get(index); - if (obj != null) { - map.remove(obj); - } - lstKeys.remove(index); - return super.remove(index); - } - - public E getWithKey(K key) { - Integer index = map.get(key); - if (index == null) { - return null; - } - return super.get(index.intValue()); - } - - public int getIndexByKey(K key) { - return map.get(key).intValue(); - } - - public E getLast() { - return super.get(super.size()-1); - } - - public boolean containsKey(K key) { - return map.containsKey(key); - } - - public void clear() { - map.clear(); - lstKeys.clear(); - super.clear(); - } - - public VBStyleCollection<E, K> clone() { - VBStyleCollection<E, K> c = new VBStyleCollection<E, K>(); - c.addAll(new ArrayList<E>(this)); - c.setMap(new HashMap<K, Integer>(map)); - c.setLstKeys(new ArrayList<K>(lstKeys)); - return c; - } - - public void swap(int index1, int index2) { - - Collections.swap(this, index1, index2); - Collections.swap(lstKeys, index1, index2); - - K key = lstKeys.get(index1); - if(key!=null) { - map.put(key, new Integer(index1)); - } - - key = lstKeys.get(index2); - if(key!=null) { - map.put(key, new Integer(index2)); - } - - } - - public HashMap<K, Integer> getMap() { - return map; - } - - public void setMap(HashMap<K, Integer> map) { - this.map = map; - } - - public K getKey(int index) { - return lstKeys.get(index); - } - - public ArrayList<K> getLstKeys() { - return lstKeys; - } - - public void setLstKeys(ArrayList<K> lstKeys) { - this.lstKeys = lstKeys; - } - - private void addToListIndex(int index, int diff) { - for (int i = lstKeys.size() - 1; i >= index; i--) { - K obj = lstKeys.get(i); - if (obj != null) { - map.put(obj, new Integer(i + diff)); - } - } - } - + + private HashMap<K, Integer> map = new HashMap<K, Integer>(); + + private ArrayList<K> lstKeys = new ArrayList<K>(); + + public VBStyleCollection() { + super(); + } + + public VBStyleCollection(int initialCapacity) { + super(initialCapacity); + lstKeys = new ArrayList<K>(initialCapacity); + map = new HashMap<K, Integer>(initialCapacity); + } + + public VBStyleCollection(Collection<E> c) { + super(c); + } + + public boolean add(E element) { + lstKeys.add(null); + super.add(element); + return true; + } + + public boolean remove(Object element) { // TODO: error on void remove(E element) + throw new RuntimeException("not implemented!"); + } + + public boolean addAll(Collection<? extends E> c) { + for (int i = c.size() - 1; i >= 0; i--) { + lstKeys.add(null); + } + return super.addAll(c); + } + + public void addAllWithKey(VBStyleCollection<E, K> c) { + for (int i = 0; i < c.size(); i++) { + addWithKey(c.get(i), c.getKey(i)); + } + } + + public void addAllWithKey(Collection<E> elements, Collection<K> keys) { + int index = super.size(); + + for (K key : keys) { + map.put(key, index++); + } + + super.addAll(elements); + lstKeys.addAll(keys); + } + + public void addWithKey(E element, K key) { + map.put(key, super.size()); + super.add(element); + lstKeys.add(key); + } + + // TODO: speed up the method + public E putWithKey(E element, K key) { + Integer index = map.get(key); + if (index == null) { + addWithKey(element, key); + } + else { + return super.set(index, element); + } + return null; + } + + public void add(int index, E element) { + addToListIndex(index, 1); + lstKeys.add(index, null); + super.add(index, element); + } + + public void addWithKeyAndIndex(int index, E element, K key) { + addToListIndex(index, 1); + map.put(key, new Integer(index)); + super.add(index, element); + lstKeys.add(index, key); + } + + public void removeWithKey(K key) { + int index = ((Integer)map.get(key)).intValue(); + addToListIndex(index + 1, -1); + super.remove(index); + lstKeys.remove(index); + map.remove(key); + } + + public E remove(int index) { + addToListIndex(index + 1, -1); + Object obj = lstKeys.get(index); + if (obj != null) { + map.remove(obj); + } + lstKeys.remove(index); + return super.remove(index); + } + + public E getWithKey(K key) { + Integer index = map.get(key); + if (index == null) { + return null; + } + return super.get(index.intValue()); + } + + public int getIndexByKey(K key) { + return map.get(key).intValue(); + } + + public E getLast() { + return super.get(super.size() - 1); + } + + public boolean containsKey(K key) { + return map.containsKey(key); + } + + public void clear() { + map.clear(); + lstKeys.clear(); + super.clear(); + } + + public VBStyleCollection<E, K> clone() { + VBStyleCollection<E, K> c = new VBStyleCollection<E, K>(); + c.addAll(new ArrayList<E>(this)); + c.setMap(new HashMap<K, Integer>(map)); + c.setLstKeys(new ArrayList<K>(lstKeys)); + return c; + } + + public void swap(int index1, int index2) { + + Collections.swap(this, index1, index2); + Collections.swap(lstKeys, index1, index2); + + K key = lstKeys.get(index1); + if (key != null) { + map.put(key, new Integer(index1)); + } + + key = lstKeys.get(index2); + if (key != null) { + map.put(key, new Integer(index2)); + } + } + + public HashMap<K, Integer> getMap() { + return map; + } + + public void setMap(HashMap<K, Integer> map) { + this.map = map; + } + + public K getKey(int index) { + return lstKeys.get(index); + } + + public ArrayList<K> getLstKeys() { + return lstKeys; + } + + public void setLstKeys(ArrayList<K> lstKeys) { + this.lstKeys = lstKeys; + } + + private void addToListIndex(int index, int diff) { + for (int i = lstKeys.size() - 1; i >= index; i--) { + K obj = lstKeys.get(i); + if (obj != null) { + map.put(obj, new Integer(i + diff)); + } + } + } } |