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

[JGIT PATCH 02/12] Mark non-overridable methods of RevObject final

From
Shawn O. Pearce <spearce@spearce.org>
Date
Mar 18, 2009, 01:40 UTC
Message-ID
<1237340451-31562-3-git-send-email-spearce@spearce.org>
In-Reply-To
<1237340451-31562-2-git-send-email-spearce@spearce.org>

There isn't a huge benefit to allowing these methods to be overridden, and subclasses might actually screw them up given that flags is only visible within our package. Mark them all final instead.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---
 .../src/org/spearce/jgit/revwalk/RevObject.java    |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)
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 8c7cc23..e8fb29f 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevObject.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevObject.java
@@ -70,17 +70,17 @@ abstract void parse(RevWalk walk) throws MissingObjectException,
 	 * 
 	 * @return unique hash of this object.
 	 */
-	public ObjectId getId() {
+	public final ObjectId getId() {
 		return this;
 	}
 
 	@Override
-	public boolean equals(final ObjectId o) {
+	public final boolean equals(final ObjectId o) {
 		return this == o;
 	}
 
 	@Override
-	public boolean equals(final Object o) {
+	public final boolean equals(final Object o) {
 		return this == o;
 	}
 
@@ -91,7 +91,7 @@ public boolean equals(final Object o) {
 	 *            the flag to test.
 	 * @return true if the flag has been added to this object; false if not.
 	 */
-	public boolean has(final RevFlag flag) {
+	public final boolean has(final RevFlag flag) {
 		return (flags & flag.mask) != 0;
 	}
 
@@ -103,7 +103,7 @@ public boolean has(final RevFlag flag) {
 	 * @return true if any flag in the set has been added to this object; false
 	 *         if not.
 	 */
-	public boolean hasAny(final RevFlagSet set) {
+	public final boolean hasAny(final RevFlagSet set) {
 		return (flags & set.mask) != 0;
 	}
 
@@ -115,7 +115,7 @@ public boolean hasAny(final RevFlagSet set) {
 	 * @return true if all flags of the set have been added to this object;
 	 *         false if some or none have been added.
 	 */
-	public boolean hasAll(final RevFlagSet set) {
+	public final boolean hasAll(final RevFlagSet set) {
 		return (flags & set.mask) == set.mask;
 	}
 
@@ -127,7 +127,7 @@ public boolean hasAll(final RevFlagSet set) {
 	 * @param flag
 	 *            the flag to mark on this object, for later testing.
 	 */
-	public void add(final RevFlag flag) {
+	public final void add(final RevFlag flag) {
 		flags |= flag.mask;
 	}
 
@@ -137,7 +137,7 @@ public void add(final RevFlag flag) {
 	 * @param set
 	 *            the set of flags to mark on this object, for later testing.
 	 */
-	public void add(final RevFlagSet set) {
+	public final void add(final RevFlagSet set) {
 		flags |= set.mask;
 	}
 
@@ -149,7 +149,7 @@ public void add(final RevFlagSet set) {
 	 * @param flag
 	 *            the flag to remove from this object.
 	 */
-	public void remove(final RevFlag flag) {
+	public final void remove(final RevFlag flag) {
 		flags &= ~flag.mask;
 	}
 
@@ -159,7 +159,7 @@ public void remove(final RevFlag flag) {
 	 * @param set
 	 *            the flag to remove from this object.
 	 */
-	public void remove(final RevFlagSet set) {
+	public final void remove(final RevFlagSet set) {
 		flags &= ~set.mask;
 	}
 
-- 
1.6.2.1.286.g8173
Previous: Shawn O. PearceNext: Shawn O. Pearce
Message 3 of 15 in “Improve test coverage in revwalk”
  1. 00/12 Improve test coverage in revwalkShawn O. Pearce, Mar 18, 2009
  2. 01/12 Fix copyright year in revwalk test file headersShawn O. Pearce, Mar 18, 2009
  3. 02/12 Mark non-overridable methods of RevObject finalShawn O. Pearce, Mar 18, 2009
  4. 03/12 Change RevWalkTestCase to use RevCommit, not ObjectIdShawn O. Pearce, Mar 18, 2009
  5. 04/12 Test that RevFilter.MERGE_BASE cannot use a TreeFilterShawn O. Pearce, Mar 18, 2009
  6. 05/12 Add unit tests for DateRevQueueShawn O. Pearce, Mar 18, 2009
  7. 06/12 Add unit tests for FIFORevQueueShawn O. Pearce, Mar 18, 2009
  8. 07/12 Add unit tests for LIFORevQueueShawn O. Pearce, Mar 18, 2009
  9. 08/12 Add unit tests for AbstractRevQueue.EMPTY_QUEUEShawn O. Pearce, Mar 18, 2009
  10. 09/12 Add tests for basic RevObject methods related to type, flagsShawn O. Pearce, Mar 18, 2009
  11. 10/12 Add tests for ObjectWalkShawn O. Pearce, Mar 18, 2009
  12. 11/12 Add some basic logic tests for TreeFilter on RevWalkShawn O. Pearce, Mar 18, 2009
  13. 12/12 Implement git-core t/t6012-rev-list-simplify test caseShawn O. Pearce, Mar 18, 2009
  14. Robin RosenbergMar 18, 2009
  15. Robin RosenbergMar 18, 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.