From 72ae0892066fb4875136cf77c624194e394c0856 Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Sat, 22 Jun 2019 18:47:43 +0900 Subject: [PATCH] Fix NarrowingCompoundAssignment warnings from Error Prone Error Prone reports: [NarrowingCompoundAssignment] Compound assignments from long to int hide lossy casts and [NarrowingCompoundAssignment] Compound assignments from int to byte hide lossy casts See https://errorprone.info/bugpattern/NarrowingCompoundAssignment Fix the warnings by adding explicit casts or changing types as necessary. Now that all occurrences of the warning are fixed, increase its severity to ERROR. Change-Id: Idb3670e6047b146ae37daee07212ff9455512623 Signed-off-by: David Pursehouse --- .../tst/org/eclipse/jgit/merge/MergerTest.java | 4 ++-- .../src/org/eclipse/jgit/dircache/DirCacheEntry.java | 8 ++++---- .../jgit/internal/storage/dfs/DfsGarbageCollector.java | 2 +- .../eclipse/jgit/internal/storage/dfs/DfsPackParser.java | 2 +- .../internal/storage/file/ObjectDirectoryPackParser.java | 2 +- .../eclipse/jgit/internal/storage/pack/BinaryDelta.java | 4 ++-- org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java | 7 ++++--- .../src/org/eclipse/jgit/revwalk/FooterLine.java | 2 +- .../eclipse/jgit/treewalk/filter/TreeFilterMarker.java | 2 +- tools/BUILD | 2 +- 10 files changed, 18 insertions(+), 17 deletions(-) diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/MergerTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/MergerTest.java index 2ae9c11a7..62495fb02 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/MergerTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/merge/MergerTest.java @@ -842,9 +842,9 @@ public ObjectReader newReader() { * Throws an exception if reading beyond limit. */ static class BigReadForbiddenStream extends ObjectStream.Filter { - int limit; + long limit; - BigReadForbiddenStream(ObjectStream orig, int limit) { + BigReadForbiddenStream(ObjectStream orig, long limit) { super(orig.getType(), orig.getSize(), orig); this.limit = limit; } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheEntry.java b/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheEntry.java index d2a59c131..d4db15ce9 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheEntry.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheEntry.java @@ -448,9 +448,9 @@ public boolean isAssumeValid() { */ public void setAssumeValid(boolean assume) { if (assume) - info[infoOffset + P_FLAGS] |= ASSUME_VALID; + info[infoOffset + P_FLAGS] |= (byte) ASSUME_VALID; else - info[infoOffset + P_FLAGS] &= ~ASSUME_VALID; + info[infoOffset + P_FLAGS] &= (byte) ~ASSUME_VALID; } /** @@ -470,9 +470,9 @@ public boolean isUpdateNeeded() { */ public void setUpdateNeeded(boolean updateNeeded) { if (updateNeeded) - inCoreFlags |= UPDATE_NEEDED; + inCoreFlags |= (byte) UPDATE_NEEDED; else - inCoreFlags &= ~UPDATE_NEEDED; + inCoreFlags &= (byte) ~UPDATE_NEEDED; } /** diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector.java index ca11fb926..f10a1d812 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector.java @@ -661,7 +661,7 @@ private static boolean isTag(Ref ref) { private int objectsBefore() { int cnt = 0; for (DfsPackFile p : packsBefore) - cnt += p.getPackDescription().getObjectCount(); + cnt += (int) p.getPackDescription().getObjectCount(); return cnt; } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackParser.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackParser.java index 45e3b199f..e4c37cb4c 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackParser.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackParser.java @@ -432,7 +432,7 @@ protected boolean onAppendBase(final int typeCode, final byte[] data, buf[len++] = (byte) ((typeCode << 4) | (sz & 15)); sz >>>= 4; while (sz > 0) { - buf[len - 1] |= 0x80; + buf[len - 1] |= (byte) 0x80; buf[len++] = (byte) (sz & 0x7f); sz >>>= 7; } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectoryPackParser.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectoryPackParser.java index ade7a8e96..7d3167356 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectoryPackParser.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectoryPackParser.java @@ -356,7 +356,7 @@ protected boolean onAppendBase(final int typeCode, final byte[] data, buf[len++] = (byte) ((typeCode << 4) | (sz & 15)); sz >>>= 4; while (sz > 0) { - buf[len - 1] |= 0x80; + buf[len - 1] |= (byte) 0x80; buf[len++] = (byte) (sz & 0x7f); sz >>>= 7; } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/BinaryDelta.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/BinaryDelta.java index c7e5ad623..5f69d0a88 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/BinaryDelta.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/BinaryDelta.java @@ -142,7 +142,7 @@ public static final byte[] apply(final byte[] base, final byte[] delta, int c, shift = 0; do { c = delta[deltaPtr++] & 0xff; - baseLen |= ((long) (c & 0x7f)) << shift; + baseLen |= (c & 0x7f) << shift; shift += 7; } while ((c & 0x80) != 0); if (base.length != baseLen) @@ -155,7 +155,7 @@ public static final byte[] apply(final byte[] base, final byte[] delta, shift = 0; do { c = delta[deltaPtr++] & 0xff; - resLen |= ((long) (c & 0x7f)) << shift; + resLen |= (c & 0x7f) << shift; shift += 7; } while ((c & 0x80) != 0); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java index 42d1330af..ce1eb597f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java @@ -642,11 +642,12 @@ private boolean isEntryGitLink(AbstractTreeIterator ti) { private void addConflict(String path, int stage) { StageState existingStageStates = conflicts.get(path); byte stageMask = 0; - if (existingStageStates != null) - stageMask |= existingStageStates.getStageMask(); + if (existingStageStates != null) { + stageMask |= (byte) existingStageStates.getStageMask(); + } // stage 1 (base) should be shifted 0 times int shifts = stage - 1; - stageMask |= (1 << shifts); + stageMask |= (byte) (1 << shifts); StageState stageState = StageState.fromMask(stageMask); conflicts.put(path, stageState); } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/FooterLine.java b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/FooterLine.java index d6fed6670..84b6d2e48 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/FooterLine.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/revwalk/FooterLine.java @@ -95,7 +95,7 @@ public boolean matches(FooterKey key) { for (int kPtr = 0; kPtr < len;) { byte b = buffer[bPtr++]; if ('A' <= b && b <= 'Z') - b += 'a' - 'A'; + b += (byte) ('a' - 'A'); if (b != kRaw[kPtr++]) return false; } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/TreeFilterMarker.java b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/TreeFilterMarker.java index 738ccbd8b..c28f03534 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/TreeFilterMarker.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/filter/TreeFilterMarker.java @@ -113,7 +113,7 @@ public int getMarks(TreeWalk walk) throws MissingObjectException, try { boolean marked = filter.include(walk); if (marked) - marks |= (1L << index); + marks |= (1 << index); } catch (StopWalkException e) { // Don't check tree filter anymore, it will no longer // match diff --git a/tools/BUILD b/tools/BUILD index 20c82c570..ea2b91b02 100644 --- a/tools/BUILD +++ b/tools/BUILD @@ -58,7 +58,7 @@ java_package_configuration( "-Xep:MissingFail:ERROR", "-Xep:MissingOverride:ERROR", "-Xep:MutableConstantField:ERROR", - "-Xep:NarrowingCompoundAssignment:WARN", + "-Xep:NarrowingCompoundAssignment:ERROR", "-Xep:NonAtomicVolatileUpdate:ERROR", "-Xep:NonOverridingEquals:ERROR", "-Xep:NullableConstructor:ERROR",