diff options
| author | Johannes Schindelin | 2009-09-03 10:46:31 +0000 |
|---|---|---|
| committer | Shawn O. Pearce | 2009-10-06 14:42:49 +0000 |
| commit | 9c056fcace49f4c111cad8a49399a113fb083f30 (patch) | |
| tree | ac9ac1851e459649fc31c1341387a561909e9705 | |
| parent | 6e1571d5b9269ec79eadad0dbd5916508a4fee82 (diff) | |
| download | jgit-9c056fcace49f4c111cad8a49399a113fb083f30.tar.gz jgit-9c056fcace49f4c111cad8a49399a113fb083f30.tar.xz jgit-9c056fcace49f4c111cad8a49399a113fb083f30.zip | |
Add set to IntList
Some applications may wish to modify an int list.
Bug: 291083
Eclipse-CQ: 3559
Change-Id: Iea871443ec661230aec92397229f1eda6c74216f
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| -rw-r--r-- | org.eclipse.jgit.test/tst/org/eclipse/jgit/util/IntListTest.java | 21 | ||||
| -rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/util/IntList.java | 18 |
2 files changed, 39 insertions, 0 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/IntListTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/IntListTest.java index ecabeeea5b..b8d5bd1025 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/IntListTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/IntListTest.java @@ -150,6 +150,27 @@ public class IntListTest extends TestCase { } } + public void testSet() { + final IntList i = new IntList(); + i.add(1); + assertEquals(1, i.size()); + assertEquals(1, i.get(0)); + + i.set(0, 5); + assertEquals(5, i.get(0)); + + try { + i.set(5, 5); + fail("accepted set of 5 beyond end of list"); + } catch (ArrayIndexOutOfBoundsException e){ + assertTrue(true); + } + + i.set(1, 2); + assertEquals(2, i.size()); + assertEquals(2, i.get(1)); + } + public void testToString() { final IntList i = new IntList(); i.add(1); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/IntList.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/IntList.java index 510f2a4db9..510032eeb0 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/util/IntList.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/IntList.java @@ -1,5 +1,6 @@ /* * Copyright (C) 2008, Google Inc. + * Copyright (C) 2009, Johannes Schindelin <johannes.schindelin@gmx.de> * and other copyright owners as documented in the project's IP log. * * This program and the accompanying materials are made available @@ -100,6 +101,23 @@ public class IntList { } /** + * Assign an entry in the list. + * + * @param index + * index to set, must be in the range [0, {@link #size()}). + * @param n + * value to store at the position. + */ + public void set(final int index, final int n) { + if (count < index) + throw new ArrayIndexOutOfBoundsException(index); + else if (count == index) + add(n); + else + entries[index] = n; + } + + /** * Pad the list with entries. * * @param toIndex |
