[PATCH JGIT] use switch to avoid multiple ifs
From: Yann Simon <hidden>
Date: 2016-06-15 22:46:04
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 <redacted> --- .../src/org/spearce/jgit/lib/Repository.java | 29 +++++++++++++------ 1 files changed, 20 insertions(+), 9 deletions(-)
diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.javab/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, finalString 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) throwsIOException {
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