threads / patch / 19401

patchFindBugs: Superclass uses subclass during initialization

Subject: [JGIT PATCH] FindBugs: Superclass uses subclass during initialization

## tl;dr

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

replies: 0people: 1as markdown or json

Sohn, Matthias· May 18, 2009, 13:11 UTC · lore
From: Matthias Sohn <matthias.sohn@sap.com>

FindBugs reported the following problem with high priority: /usr/src/egit/org.spearce.jgit/src/org/spearce/jgit/merge/MergeStrategy.java:58 Initialization of org.spearce.jgit.merge.MergeStrategy accesses class org.spearce.jgit.merge.StrategySimpleTwoWayInCore, which isn't initialized yet.

To fix this problem move instantiation from StrategySimpleTwoWayInCore up to the abstract superclass MergeStrategy.

Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
---
 .../src/org/spearce/jgit/merge/MergeStrategy.java  |    2 +-
 .../jgit/merge/StrategySimpleTwoWayInCore.java     |    2 --
 2 files changed, 1 insertions(+), 3 deletions(-)
Show changes to 2 files +1 −3

org.spearce.jgit/src/org/spearce/jgit/merge/MergeStrategy.java, org.spearce.jgit/src/org/spearce/jgit/merge/StrategySimpleTwoWayInCore.java

diff --git a/org.spearce.jgit/src/org/spearce/jgit/merge/MergeStrategy.java b/org.spearce.jgit/src/org/spearce/jgit/merge/MergeStrategy.java
index 5439e5c..f5ced72 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/merge/MergeStrategy.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/merge/MergeStrategy.java
@@ -55,7 +55,7 @@
 	public static final MergeStrategy THEIRS = new StrategyOneSided("theirs", 1);
 
 	/** Simple strategy to merge paths, without simultaneous edits. */
-	public static final ThreeWayMergeStrategy SIMPLE_TWO_WAY_IN_CORE = StrategySimpleTwoWayInCore.INSTANCE;
+	public static final ThreeWayMergeStrategy SIMPLE_TWO_WAY_IN_CORE = new StrategySimpleTwoWayInCore();
 
 	private static final HashMap<String, MergeStrategy> STRATEGIES = new HashMap<String, MergeStrategy>();
 
diff --git a/org.spearce.jgit/src/org/spearce/jgit/merge/StrategySimpleTwoWayInCore.java b/org.spearce.jgit/src/org/spearce/jgit/merge/StrategySimpleTwoWayInCore.java
index 5d4447c..626fe06 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/merge/StrategySimpleTwoWayInCore.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/merge/StrategySimpleTwoWayInCore.java
@@ -61,8 +61,6 @@
  * file contents.
  */
 public class StrategySimpleTwoWayInCore extends ThreeWayMergeStrategy {
-	static final ThreeWayMergeStrategy INSTANCE = new StrategySimpleTwoWayInCore();
-
 	/** Create a new instance of the strategy. */
 	protected StrategySimpleTwoWayInCore() {
 		//
-- 
1.6.3.1.30.g55524

← back to recent threads