git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[JGIT PATCH 05/12] Replace instanceof in WalkFetchConnection with getType()

From
MZMarek Zawirski <marek.zawirski@gmail.com>
Date
Jun 2, 2008, 21:24 UTC
Message-ID
<1212441883-12990-6-git-send-email-marek.zawirski@gmail.com>
In-Reply-To
<1212441883-12990-5-git-send-email-marek.zawirski@gmail.com>
Signed-off-by: Marek Zawirski <marek.zawirski@gmail.com>
---
 .../jgit/transport/WalkFetchConnection.java        |   36 +++++++++++--------
 1 files changed, 21 insertions(+), 15 deletions(-)
diff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/WalkFetchConnection.java b/org.spearce.jgit/src/org/spearce/jgit/transport/WalkFetchConnection.java
index 4edeb93..45c2ded 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/transport/WalkFetchConnection.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/transport/WalkFetchConnection.java
@@ -66,7 +66,6 @@ import org.spearce.jgit.lib.Ref;
 import org.spearce.jgit.lib.Repository;
 import org.spearce.jgit.lib.UnpackedObjectLoader;
 import org.spearce.jgit.revwalk.DateRevQueue;
-import org.spearce.jgit.revwalk.RevBlob;
 import org.spearce.jgit.revwalk.RevCommit;
 import org.spearce.jgit.revwalk.RevFlag;
 import org.spearce.jgit.revwalk.RevObject;
@@ -251,20 +250,22 @@ class WalkFetchConnection extends FetchConnection {
 		//
 		obj.dispose();
 
-		if (obj instanceof RevBlob)
-			processBlob(obj);
-
-		else if (obj instanceof RevTree)
+		switch (obj.getType()) {
+		case Constants.OBJ_BLOB:
+			processBlob(obj);	
+			break;
+		case Constants.OBJ_TREE:
 			processTree(obj);
-
-		else if (obj instanceof RevCommit)
+			break;
+		case Constants.OBJ_COMMIT:
 			processCommit(obj);
-
-		else if (obj instanceof RevTag)
+			break;
+		case Constants.OBJ_TAG:
 			processTag(obj);
-
-		else
+			break;
+		default:
 			throw new TransportException("Unknown object type " + obj.getId());
+		}
 
 		// If we had any prior errors fetching this object they are
 		// now resolved, as the object was parsed successfully.
@@ -632,19 +633,24 @@ class WalkFetchConnection extends FetchConnection {
 	}
 
 	private void markLocalObjComplete(RevObject obj) throws IOException {
-		while (obj instanceof RevTag) {
+		while (obj.getType() == Constants.OBJ_TAG) {
 			obj.add(COMPLETE);
 			obj.dispose();
 			obj = ((RevTag) obj).getObject();
 			revWalk.parse(obj);
 		}
 
-		if (obj instanceof RevBlob)
+		switch (obj.getType()) {
+		case Constants.OBJ_BLOB:
 			obj.add(COMPLETE);
-		else if (obj instanceof RevCommit)
+			break;
+		case Constants.OBJ_COMMIT:			
 			pushLocalCommit((RevCommit) obj);
-		else if (obj instanceof RevTree)
+			break;
+		case Constants.OBJ_TREE:
 			markTreeComplete((RevTree) obj);
+			break;
+		}
 	}
 
 	private void markLocalCommitsComplete(final int until)
-- 
1.5.5.1
Previous: Marek ZawirskiNext: Marek Zawirski
Message 6 of 24 in “Extensions in core needed by PackWriter”
  1. 00/12 Extensions in core needed by PackWriterMarek Zawirski, Jun 2, 2008
  2. 01/12 Format PackFile classMarek Zawirski, Jun 2, 2008
  3. 02/12 Format PackIndex classMarek Zawirski, Jun 2, 2008
  4. 03/12 Format PackIndexV1 classMarek Zawirski, Jun 2, 2008
  5. 04/12 Add getType() method to RevObject hierarchyMarek Zawirski, Jun 2, 2008
  6. 05/12 Replace instanceof in WalkFetchConnection with getType()Marek Zawirski, Jun 2, 2008
  7. 06/12 Move PackFile.SIGNATURE to Constants.PACK_SIGNATUREMarek Zawirski, Jun 2, 2008
  8. 07/12 Add overload of fromRaw() in MutableObjectId accepting int[]Marek Zawirski, Jun 2, 2008
  9. 08/12 Copying constructor of MutableObjectIdMarek Zawirski, Jun 2, 2008
  10. 09/12 Add getSize() method to ObjectIdSubclassMapMarek Zawirski, Jun 2, 2008
  11. 10/12 Add getObjectCount() method to PackFileMarek Zawirski, Jun 2, 2008
  12. 11/12 Entries iterator in PackIndex and indirectly PackFileMarek Zawirski, Jun 2, 2008
  13. 12/12 Add PackIndex specific tests, currently only iterators testsMarek Zawirski, Jun 2, 2008
  14. Robin RosenbergJun 6, 2008
  15. 09/12 Add size() method to ObjectIdSubclassMapMarek Zawirski, Jun 7, 2008
  16. Robin RosenbergJun 6, 2008
  17. 04/12 Add getType() method to RevObject hierarchyMarek Zawirski, Jun 7, 2008
  18. Johannes SchindelinJun 2, 2008
  19. Marek ZawirskiJun 2, 2008
  20. Johannes SchindelinJun 2, 2008
  21. Robin RosenbergJun 6, 2008
  22. Marek ZawirskiJun 7, 2008
  23. Shawn O. PearceJun 7, 2008
  24. Robin RosenbergJun 10, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.