Skip to content

Commit c55d7d4

Browse files
Allow unused return on various Protobuf methods.
This is only adding the annotation on cases that match standard idioms that return values can be ignored: like collections add/addAll/remove and Builders returning `this` PiperOrigin-RevId: 852300144
1 parent a70115f commit c55d7d4

23 files changed

+87
-8
lines changed

java/core/src/main/java/com/google/protobuf/AbstractProtobufList.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ public int hashCode() {
7777
}
7878

7979
@Override
80+
@CanIgnoreReturnValue
8081
public boolean add(E e) {
8182
ensureIsMutable();
8283
return super.add(e);
@@ -89,12 +90,14 @@ public void add(int index, E element) {
8990
}
9091

9192
@Override
93+
@CanIgnoreReturnValue
9294
public boolean addAll(Collection<? extends E> c) {
9395
ensureIsMutable();
9496
return super.addAll(c);
9597
}
9698

9799
@Override
100+
@CanIgnoreReturnValue
98101
public boolean addAll(int index, Collection<? extends E> c) {
99102
ensureIsMutable();
100103
return super.addAll(index, c);
@@ -119,12 +122,14 @@ public final void makeImmutable() {
119122
}
120123

121124
@Override
125+
@CanIgnoreReturnValue
122126
public E remove(int index) {
123127
ensureIsMutable();
124128
return super.remove(index);
125129
}
126130

127131
@Override
132+
@CanIgnoreReturnValue
128133
public boolean remove(Object o) {
129134
ensureIsMutable();
130135
int index = indexOf(o);
@@ -136,18 +141,21 @@ public boolean remove(Object o) {
136141
}
137142

138143
@Override
144+
@CanIgnoreReturnValue
139145
public boolean removeAll(Collection<?> c) {
140146
ensureIsMutable();
141147
return super.removeAll(c);
142148
}
143149

144150
@Override
151+
@CanIgnoreReturnValue
145152
public boolean retainAll(Collection<?> c) {
146153
ensureIsMutable();
147154
return super.retainAll(c);
148155
}
149156

150157
@Override
158+
@CanIgnoreReturnValue
151159
public E set(int index, E element) {
152160
ensureIsMutable();
153161
return super.set(index, element);

java/core/src/main/java/com/google/protobuf/BooleanArrayList.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,11 +157,13 @@ public int size() {
157157
}
158158

159159
@Override
160+
@CanIgnoreReturnValue
160161
public Boolean set(int index, Boolean element) {
161162
return setBoolean(index, element);
162163
}
163164

164165
@Override
166+
@CanIgnoreReturnValue
165167
public boolean setBoolean(int index, boolean element) {
166168
ensureIsMutable();
167169
ensureIndexInRange(index);
@@ -171,6 +173,7 @@ public boolean setBoolean(int index, boolean element) {
171173
}
172174

173175
@Override
176+
@CanIgnoreReturnValue
174177
public boolean add(Boolean element) {
175178
addBoolean(element);
176179
return true;
@@ -224,6 +227,7 @@ private void addBoolean(int index, boolean element) {
224227
}
225228

226229
@Override
230+
@CanIgnoreReturnValue
227231
public boolean addAll(Collection<? extends Boolean> collection) {
228232
ensureIsMutable();
229233

@@ -257,6 +261,7 @@ public boolean addAll(Collection<? extends Boolean> collection) {
257261
}
258262

259263
@Override
264+
@CanIgnoreReturnValue
260265
public Boolean remove(int index) {
261266
ensureIsMutable();
262267
ensureIndexInRange(index);

java/core/src/main/java/com/google/protobuf/CodedInputStream.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,7 @@ public abstract <T extends MessageLite> T readMessage(
441441
*
442442
* @return the old limit.
443443
*/
444+
@CanIgnoreReturnValue
444445
public final int setRecursionLimit(final int limit) {
445446
if (limit < 0) {
446447
throw new IllegalArgumentException("Recursion limit cannot be negative: " + limit);
@@ -464,6 +465,7 @@ public final int setRecursionLimit(final int limit) {
464465
*
465466
* @return the old limit.
466467
*/
468+
@CanIgnoreReturnValue
467469
public final int setSizeLimit(final int limit) {
468470
if (limit < 0) {
469471
throw new IllegalArgumentException("Size limit cannot be negative: " + limit);
@@ -522,6 +524,7 @@ final boolean shouldDiscardUnknownFields() {
522524
*
523525
* @return the old limit.
524526
*/
527+
@CanIgnoreReturnValue
525528
public abstract int pushLimit(int byteLimit) throws InvalidProtocolBufferException;
526529

527530
/**
@@ -1224,6 +1227,7 @@ public void resetSizeCounter() {
12241227
}
12251228

12261229
@Override
1230+
@CanIgnoreReturnValue
12271231
public int pushLimit(int byteLimit) throws InvalidProtocolBufferException {
12281232
if (byteLimit < 0) {
12291233
throw InvalidProtocolBufferException.negativeSize();
@@ -2000,6 +2004,7 @@ public void resetSizeCounter() {
20002004
}
20012005

20022006
@Override
2007+
@CanIgnoreReturnValue
20032008
public int pushLimit(int byteLimit) throws InvalidProtocolBufferException {
20042009
if (byteLimit < 0) {
20052010
throw InvalidProtocolBufferException.negativeSize();

java/core/src/main/java/com/google/protobuf/DoubleArrayList.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,11 +156,13 @@ public int size() {
156156
}
157157

158158
@Override
159+
@CanIgnoreReturnValue
159160
public Double set(int index, Double element) {
160161
return setDouble(index, element);
161162
}
162163

163164
@Override
165+
@CanIgnoreReturnValue
164166
public double setDouble(int index, double element) {
165167
ensureIsMutable();
166168
ensureIndexInRange(index);
@@ -170,6 +172,7 @@ public double setDouble(int index, double element) {
170172
}
171173

172174
@Override
175+
@CanIgnoreReturnValue
173176
public boolean add(Double element) {
174177
addDouble(element);
175178
return true;
@@ -223,6 +226,7 @@ private void addDouble(int index, double element) {
223226
}
224227

225228
@Override
229+
@CanIgnoreReturnValue
226230
public boolean addAll(Collection<? extends Double> collection) {
227231
ensureIsMutable();
228232

@@ -256,6 +260,7 @@ public boolean addAll(Collection<? extends Double> collection) {
256260
}
257261

258262
@Override
263+
@CanIgnoreReturnValue
259264
public Double remove(int index) {
260265
ensureIsMutable();
261266
ensureIndexInRange(index);

java/core/src/main/java/com/google/protobuf/FloatArrayList.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,11 +155,13 @@ public int size() {
155155
}
156156

157157
@Override
158+
@CanIgnoreReturnValue
158159
public Float set(int index, Float element) {
159160
return setFloat(index, element);
160161
}
161162

162163
@Override
164+
@CanIgnoreReturnValue
163165
public float setFloat(int index, float element) {
164166
ensureIsMutable();
165167
ensureIndexInRange(index);
@@ -169,6 +171,7 @@ public float setFloat(int index, float element) {
169171
}
170172

171173
@Override
174+
@CanIgnoreReturnValue
172175
public boolean add(Float element) {
173176
addFloat(element);
174177
return true;
@@ -222,6 +225,7 @@ private void addFloat(int index, float element) {
222225
}
223226

224227
@Override
228+
@CanIgnoreReturnValue
225229
public boolean addAll(Collection<? extends Float> collection) {
226230
ensureIsMutable();
227231

@@ -255,6 +259,7 @@ public boolean addAll(Collection<? extends Float> collection) {
255259
}
256260

257261
@Override
262+
@CanIgnoreReturnValue
258263
public Float remove(int index) {
259264
ensureIsMutable();
260265
ensureIndexInRange(index);

java/core/src/main/java/com/google/protobuf/IntArrayList.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,11 +119,13 @@ public IntList mutableCopyWithCapacity(int capacity) {
119119
}
120120

121121
@Override
122+
@CanIgnoreReturnValue
122123
public Integer get(int index) {
123124
return getInt(index);
124125
}
125126

126127
@Override
128+
@CanIgnoreReturnValue
127129
public int getInt(int index) {
128130
ensureIndexInRange(index);
129131
return array[index];
@@ -155,11 +157,13 @@ public int size() {
155157
}
156158

157159
@Override
160+
@CanIgnoreReturnValue
158161
public Integer set(int index, Integer element) {
159162
return setInt(index, element);
160163
}
161164

162165
@Override
166+
@CanIgnoreReturnValue
163167
public int setInt(int index, int element) {
164168
ensureIsMutable();
165169
ensureIndexInRange(index);
@@ -169,6 +173,7 @@ public int setInt(int index, int element) {
169173
}
170174

171175
@Override
176+
@CanIgnoreReturnValue
172177
public boolean add(Integer element) {
173178
addInt(element);
174179
return true;
@@ -222,6 +227,7 @@ private void addInt(int index, int element) {
222227
}
223228

224229
@Override
230+
@CanIgnoreReturnValue
225231
public boolean addAll(Collection<? extends Integer> collection) {
226232
ensureIsMutable();
227233

@@ -255,6 +261,7 @@ public boolean addAll(Collection<? extends Integer> collection) {
255261
}
256262

257263
@Override
264+
@CanIgnoreReturnValue
258265
public Integer remove(int index) {
259266
ensureIsMutable();
260267
ensureIndexInRange(index);

java/core/src/main/java/com/google/protobuf/Internal.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ private Internal() {}
3636
static final Charset ISO_8859_1 = Charset.forName("ISO-8859-1");
3737

3838
/** Throws an appropriate {@link NullPointerException} if the given objects is {@code null}. */
39+
@CanIgnoreReturnValue
3940
static <T> T checkNotNull(T obj) {
4041
if (obj == null) {
4142
throw new NullPointerException();
@@ -44,6 +45,7 @@ static <T> T checkNotNull(T obj) {
4445
}
4546

4647
/** Throws an appropriate {@link NullPointerException} if the given objects is {@code null}. */
48+
@CanIgnoreReturnValue
4749
static <T> T checkNotNull(T obj, String message) {
4850
if (obj == null) {
4951
throw new NullPointerException(message);

java/core/src/main/java/com/google/protobuf/InvalidProtocolBufferException.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public InvalidProtocolBufferException(String description, IOException e) {
4646
*
4747
* @return this
4848
*/
49+
@CanIgnoreReturnValue
4950
public InvalidProtocolBufferException setUnfinishedMessage(MessageLite unfinishedMessage) {
5051
this.unfinishedMessage = unfinishedMessage;
5152
return this;

java/core/src/main/java/com/google/protobuf/LazyFieldLite.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ public MessageLite getValue(MessageLite defaultInstance) {
208208
* <p>LazyField is not thread-safe for write access. Synchronizations are needed under read/write
209209
* situations.
210210
*/
211+
@CanIgnoreReturnValue
211212
public MessageLite setValue(MessageLite value) {
212213
MessageLite originalValue = this.value;
213214
this.delayedBytes = null;

java/core/src/main/java/com/google/protobuf/LazyStringArrayList.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ public void add(byte[] element) {
161161
}
162162

163163
@Override
164+
@CanIgnoreReturnValue
164165
public boolean addAll(Collection<? extends String> c) {
165166
// The default implementation of AbstractCollection.addAll(Collection)
166167
// delegates to add(Object). This implementation instead delegates to
@@ -170,6 +171,7 @@ public boolean addAll(Collection<? extends String> c) {
170171
}
171172

172173
@Override
174+
@CanIgnoreReturnValue
173175
public boolean addAll(int index, Collection<? extends String> c) {
174176
ensureIsMutable();
175177
// When copying from another LazyStringList, directly copy the underlying
@@ -182,6 +184,7 @@ public boolean addAll(int index, Collection<? extends String> c) {
182184
}
183185

184186
@Override
187+
@CanIgnoreReturnValue
185188
public boolean addAllByteString(Collection<? extends ByteString> values) {
186189
ensureIsMutable();
187190
boolean ret = list.addAll(values);
@@ -190,6 +193,7 @@ public boolean addAllByteString(Collection<? extends ByteString> values) {
190193
}
191194

192195
@Override
196+
@CanIgnoreReturnValue
193197
public boolean addAllByteArray(Collection<byte[]> c) {
194198
ensureIsMutable();
195199
boolean ret = list.addAll(c);
@@ -198,6 +202,7 @@ public boolean addAllByteArray(Collection<byte[]> c) {
198202
}
199203

200204
@Override
205+
@CanIgnoreReturnValue
201206
public String remove(int index) {
202207
ensureIsMutable();
203208
Object o = list.remove(index);
@@ -238,6 +243,7 @@ public byte[] getByteArray(int index) {
238243
}
239244

240245
@Override
246+
@CanIgnoreReturnValue
241247
public String set(int index, String s) {
242248
ensureIsMutable();
243249
Object o = list.set(index, s);
@@ -254,11 +260,13 @@ public void set(int index, byte[] s) {
254260
setAndReturn(index, s);
255261
}
256262

263+
@CanIgnoreReturnValue
257264
private Object setAndReturn(int index, ByteString s) {
258265
ensureIsMutable();
259266
return list.set(index, s);
260267
}
261268

269+
@CanIgnoreReturnValue
262270
private Object setAndReturn(int index, byte[] s) {
263271
ensureIsMutable();
264272
return list.set(index, s);

0 commit comments

Comments
 (0)