threads / patch / 17478

patchuse switch to avoid multiple ifs

Subject: [PATCH JGIT] use switch to avoid multiple ifs

## tl;dr

One message between Jan 31, 2009 and Jan 31, 2009. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Yann Simon· Jan 31, 2009, 14:25 UTC · lore
instead of using multiple ifs that will evaluate an expression x times,
use a switch with cases to evaluate the
expression only one time.
Signed-off-by: Yann Simon <yann.simon.fr@gmail.com>
---
 .../src/org/spearce/jgit/lib/Repository.java       |   29
+++++++++++++------
 1 files changed, 20 insertions(+), 9 deletions(-)
Show changes to org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java +20 −9
diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java
b/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java
index b6efac1..f42bae5 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java
@@ -389,16 +389,23 @@ public Object mapObject(final ObjectId id, final
String refName) throws IOExcept
 		if (or == null)
 			return null;
 		final byte[] raw = or.getBytes();
-		if (or.getType() == Constants.OBJ_TREE)
+		switch (or.getType()) {
+		case Constants.OBJ_TREE:
 			return makeTree(id, raw);
-		if (or.getType() == Constants.OBJ_COMMIT)
+			
+		case Constants.OBJ_COMMIT:
 			return makeCommit(id, raw);
-		if (or.getType() == Constants.OBJ_TAG)
+			
+		case Constants.OBJ_TAG:
 			return makeTag(id, refName, raw);
-		if (or.getType() == Constants.OBJ_BLOB)
+			
+		case Constants.OBJ_BLOB:
 			return raw;
-		throw new IncorrectObjectTypeException(id,
+			
+		default:
+			throw new IncorrectObjectTypeException(id,
 				"COMMIT nor TREE nor BLOB nor TAG");
+		}
 	}
 
 	/**
@@ -449,12 +456,16 @@ public Tree mapTree(final ObjectId id) throws
IOException {
 		if (or == null)
 			return null;
 		final byte[] raw = or.getBytes();
-		if (Constants.OBJ_TREE == or.getType()) {
+		switch (or.getType()) {
+		case Constants.OBJ_TREE:
 			return new Tree(this, id, raw);
-		}
-		if (Constants.OBJ_COMMIT == or.getType())
+
+		case Constants.OBJ_COMMIT:
 			return mapTree(ObjectId.fromString(raw, 5));
-		throw new IncorrectObjectTypeException(id, Constants.TYPE_TREE);
+			
+		default:
+			throw new IncorrectObjectTypeException(id, Constants.TYPE_TREE);
+		}
 	}
 
 	private Tree makeTree(final ObjectId id, final byte[] raw) throws
IOException {
-- 
1.6.0.6

← back to recent threads