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

[JGIT PATCH 2/5] Make RevObject.getType implementations final

From
Shawn O. Pearce <spearce@spearce.org>
Date
Mar 13, 2009, 02:07 UTC
Message-ID
<1236910062-18476-3-git-send-email-spearce@spearce.org>
In-Reply-To
<1236910062-18476-2-git-send-email-spearce@spearce.org>

These methods should never be overridden once defined by the base class of RevCommit, RevTree, RevBlob or RevTag. An override is only going to provide confusion to calls who rely upon the return value to know if a downcast is safe.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---
 .../src/org/spearce/jgit/revwalk/RevBlob.java      |    2 +-
 .../src/org/spearce/jgit/revwalk/RevCommit.java    |    3 ++-
 .../src/org/spearce/jgit/revwalk/RevObject.java    |    1 +
 .../src/org/spearce/jgit/revwalk/RevTag.java       |    2 +-
 .../src/org/spearce/jgit/revwalk/RevTree.java      |    2 +-
 5 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevBlob.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevBlob.java
index 66cdc02..cf241cf 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevBlob.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevBlob.java
@@ -58,7 +58,7 @@ void parse(final RevWalk walk) {
 	}
 	
 	@Override
-	public int getType() {
+	public final int getType() {
 		return Constants.OBJ_BLOB;
 	}
 }
diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevCommit.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevCommit.java
index 1b25fce..2a59ec4 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevCommit.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevCommit.java
@@ -139,7 +139,7 @@ else if (nParents == 1) {
 	}
 	
 	@Override
-	public int getType() {
+	public final int getType() {
 		return Constants.OBJ_COMMIT;
 	}
 
@@ -393,6 +393,7 @@ public void dispose() {
 	public String toString() {
 		final StringBuilder s = new StringBuilder();
 		s.append(Constants.typeString(getType()));
+		s.append(' ');
 		s.append(name());
 		s.append(' ');
 		s.append(commitTime);
diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevObject.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevObject.java
index 7dadb7b..8c7cc23 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevObject.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevObject.java
@@ -172,6 +172,7 @@ public void dispose() {
 	public String toString() {
 		final StringBuilder s = new StringBuilder();
 		s.append(Constants.typeString(getType()));
+		s.append(' ');
 		s.append(name());
 		s.append(' ');
 		appendCoreFlags(s);
diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTag.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTag.java
index aba8744..cace82d 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTag.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTag.java
@@ -99,7 +99,7 @@ void parseCanonical(final RevWalk walk, final byte[] rawTag)
 	}
 
 	@Override
-	public int getType() {
+	public final int getType() {
 		return Constants.OBJ_TAG;
 	}
 
diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTree.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTree.java
index e1cd4b5..4d767e4 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTree.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTree.java
@@ -58,7 +58,7 @@ void parse(final RevWalk walk) {
 	}
 	
 	@Override
-	public int getType() {
+	public final int getType() {
 		return Constants.OBJ_TREE;
 	}
 }
-- 
1.6.2.288.gc3f22
Previous: Shawn O. PearceNext: Shawn O. Pearce
Message 3 of 13 in “RevWalk fixes for UNINTERESTING”
  1. 0/5 RevWalk fixes for UNINTERESTINGShawn O. Pearce, Mar 13, 2009
  2. 1/5 Show critical flags in debug toString() descriptions of rev queuesShawn O. Pearce, Mar 13, 2009
  3. 2/5 Make RevObject.getType implementations finalShawn O. Pearce, Mar 13, 2009
  4. 3/5 Remove the horribly stupid RevSort.START_ORDERShawn O. Pearce, Mar 13, 2009
  5. 4/5 Fix RevWalk with Linus Torvald's occasional bad commit date hackShawn O. Pearce, Mar 13, 2009
  6. 5/5 Avoid incorrect output of UNINTERESTING commits when clock skew occursShawn O. Pearce, Mar 13, 2009
  7. 4/5 Fix RevWalk with Linus Torvald's occasional bad commit date hackShawn O. Pearce, Mar 14, 2009
  8. Robin RosenbergMar 13, 2009
  9. 0/6 Add tests for RevWalk and its supporting codeShawn O. Pearce, Mar 13, 2009
  10. Shawn O. PearceMar 14, 2009
  11. 6/5 Add tests for RevWalk and its supporting codeShawn O. Pearce, Mar 14, 2009
  12. Robin RosenbergMar 15, 2009
  13. Shawn O. PearceMar 16, 2009

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.