Skip to content

Commit 7cc5e1d

Browse files
committed
Bug 1268772 (part 5) - Use MOZ_MUST_USE in other parts of xpcom/ds/. r=erahm.
As well as adding MOZ_MUST_USE to a number of functions, this patch: - Changes the return type of nsObserverList::GetObserverList() from |nsresult| to |void|, because it always returned NS_OK and none of the callers checked the result. - Removes an unnecessary |new| check in nsSupportsArray::Enumerate(). --HG-- extra : rebase_source : 3a93124ef2a7db3929119194ceacbc56bc80d2c6
1 parent 2ae68d1 commit 7cc5e1d

File tree

9 files changed

+57
-43
lines changed

9 files changed

+57
-43
lines changed

xpcom/ds/Tokenizer.h

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -209,10 +209,11 @@ class Tokenizer {
209209
/**
210210
* These are shortcuts to obtain the value immediately when the token type matches.
211211
*/
212-
bool ReadChar(char* aValue);
213-
bool ReadChar(bool (*aClassifier)(const char aChar), char* aValue);
214-
bool ReadWord(nsACString& aValue);
215-
bool ReadWord(nsDependentCSubstring& aValue);
212+
MOZ_MUST_USE bool ReadChar(char* aValue);
213+
MOZ_MUST_USE bool ReadChar(bool (*aClassifier)(const char aChar),
214+
char* aValue);
215+
MOZ_MUST_USE bool ReadWord(nsACString& aValue);
216+
MOZ_MUST_USE bool ReadWord(nsDependentCSubstring& aValue);
216217

217218
/**
218219
* This is an integer read helper. It returns false and doesn't move the read
@@ -223,7 +224,7 @@ class Tokenizer {
223224
* and the cursor is moved forward.
224225
*/
225226
template <typename T>
226-
bool ReadInteger(T* aValue)
227+
MOZ_MUST_USE bool ReadInteger(T* aValue)
227228
{
228229
MOZ_RELEASE_ASSERT(aValue);
229230

@@ -299,8 +300,12 @@ class Tokenizer {
299300
* Calling Rollback() after ReadUntil() will return the read cursor to the
300301
* position it had before ReadUntil was called.
301302
*/
302-
bool ReadUntil(Token const& aToken, nsDependentCSubstring& aResult, ClaimInclusion aInclude = EXCLUDE_LAST);
303-
bool ReadUntil(Token const& aToken, nsACString& aResult, ClaimInclusion aInclude = EXCLUDE_LAST);
303+
MOZ_MUST_USE bool
304+
ReadUntil(Token const& aToken, nsDependentCSubstring& aResult,
305+
ClaimInclusion aInclude = EXCLUDE_LAST);
306+
MOZ_MUST_USE bool
307+
ReadUntil(Token const& aToken, nsACString& aResult,
308+
ClaimInclusion aInclude = EXCLUDE_LAST);
304309

305310
protected:
306311
// false if we have already read the EOF token.

xpcom/ds/nsObserverList.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,11 @@ nsObserverList::RemoveObserver(nsIObserver* anObserver)
5959
return NS_OK;
6060
}
6161

62-
nsresult
62+
void
6363
nsObserverList::GetObserverList(nsISimpleEnumerator** anEnumerator)
6464
{
6565
RefPtr<nsObserverEnumerator> e(new nsObserverEnumerator(this));
6666
e.forget(anEnumerator);
67-
return NS_OK;
6867
}
6968

7069
void

xpcom/ds/nsObserverList.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ class nsObserverList : public nsCharPtrHashKey
5656
MOZ_COUNT_DTOR(nsObserverList);
5757
}
5858

59-
nsresult AddObserver(nsIObserver* aObserver, bool aOwnsWeak);
60-
nsresult RemoveObserver(nsIObserver* aObserver);
59+
MOZ_MUST_USE nsresult AddObserver(nsIObserver* aObserver, bool aOwnsWeak);
60+
MOZ_MUST_USE nsresult RemoveObserver(nsIObserver* aObserver);
6161

6262
void NotifyObservers(nsISupports* aSubject,
6363
const char* aTopic,
6464
const char16_t* aSomeData);
65-
nsresult GetObserverList(nsISimpleEnumerator** aEnumerator);
65+
void GetObserverList(nsISimpleEnumerator** aEnumerator);
6666

6767
// Fill an array with the observers of this category.
6868
// The array is filled in last-added-first order.

xpcom/ds/nsObserverService.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,8 @@ nsObserverService::EnumerateObservers(const char* aTopic,
283283
return NS_NewEmptyEnumerator(anEnumerator);
284284
}
285285

286-
return observerList->GetObserverList(anEnumerator);
286+
observerList->GetObserverList(anEnumerator);
287+
return NS_OK;
287288
}
288289

289290
// Enumerate observers of aTopic and call Observe on each.

xpcom/ds/nsObserverService.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ class nsObserverService final
3434

3535
void Shutdown();
3636

37-
static nsresult Create(nsISupports* aOuter, const nsIID& aIID,
38-
void** aInstancePtr);
37+
static MOZ_MUST_USE nsresult Create(nsISupports* aOuter, const nsIID& aIID,
38+
void** aInstancePtr);
3939

4040
// Unmark any strongly held observers implemented in JS so the cycle
4141
// collector will not traverse them.

xpcom/ds/nsPersistentProperties.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ class nsPersistentProperties final : public nsIPersistentProperties
2525
NS_DECL_NSIPROPERTIES
2626
NS_DECL_NSIPERSISTENTPROPERTIES
2727

28-
static nsresult Create(nsISupports* aOuter, REFNSIID aIID, void** aResult);
28+
static MOZ_MUST_USE nsresult
29+
Create(nsISupports* aOuter, REFNSIID aIID, void** aResult);
2930

3031
private:
3132
~nsPersistentProperties();

xpcom/ds/nsStringEnumerator.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,15 @@
4343
// InternalMethod(enumerator);
4444
// NS_RELEASE(enumerator);
4545
//
46-
nsresult
46+
MOZ_MUST_USE nsresult
4747
NS_NewStringEnumerator(nsIStringEnumerator** aResult,
4848
const nsTArray<nsString>* aArray,
4949
nsISupports* aOwner);
50-
nsresult
50+
MOZ_MUST_USE nsresult
5151
NS_NewUTF8StringEnumerator(nsIUTF8StringEnumerator** aResult,
5252
const nsTArray<nsCString>* aArray);
5353

54-
nsresult
54+
MOZ_MUST_USE nsresult
5555
NS_NewStringEnumerator(nsIStringEnumerator** aResult,
5656
const nsTArray<nsString>* aArray);
5757

@@ -64,11 +64,11 @@ NS_NewStringEnumerator(nsIStringEnumerator** aResult,
6464
// nsTArray<nsCString>* array = new nsTArray<nsCString>;
6565
// array->AppendString("abcd");
6666
// NS_NewAdoptingStringEnumerator(&result, array);
67-
nsresult
67+
MOZ_MUST_USE nsresult
6868
NS_NewAdoptingStringEnumerator(nsIStringEnumerator** aResult,
6969
nsTArray<nsString>* aArray);
7070

71-
nsresult
71+
MOZ_MUST_USE nsresult
7272
NS_NewAdoptingUTF8StringEnumerator(nsIUTF8StringEnumerator** aResult,
7373
nsTArray<nsCString>* aArray);
7474

@@ -85,7 +85,7 @@ NS_NewAdoptingUTF8StringEnumerator(nsIUTF8StringEnumerator** aResult,
8585
// return NS_NewStringEnumerator(aResult, mCategoryList, this);
8686
// }
8787
//
88-
nsresult
88+
MOZ_MUST_USE nsresult
8989
NS_NewUTF8StringEnumerator(nsIUTF8StringEnumerator** aResult,
9090
const nsTArray<nsCString>* aArray,
9191
nsISupports* aOwner);

xpcom/ds/nsSupportsArray.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -602,9 +602,6 @@ NS_IMETHODIMP
602602
nsSupportsArray::Enumerate(nsIEnumerator** aResult)
603603
{
604604
nsSupportsArrayEnumerator* e = new nsSupportsArrayEnumerator(this);
605-
if (!e) {
606-
return NS_ERROR_OUT_OF_MEMORY;
607-
}
608605
*aResult = e;
609606
NS_ADDREF(e);
610607
return NS_OK;

xpcom/ds/nsSupportsArray.h

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ class nsSupportsArray final : public nsISupportsArray
2020

2121
public:
2222
nsSupportsArray(void);
23-
static nsresult Create(nsISupports* aOuter, REFNSIID aIID, void** aResult);
23+
24+
static MOZ_MUST_USE nsresult
25+
Create(nsISupports* aOuter, REFNSIID aIID, void** aResult);
2426

2527
NS_DECL_THREADSAFE_ISUPPORTS
2628

@@ -33,7 +35,8 @@ class nsSupportsArray final : public nsISupportsArray
3335
return NS_OK;
3436
}
3537
NS_IMETHOD GetElementAt(uint32_t aIndex, nsISupports** aResult) override;
36-
NS_IMETHOD QueryElementAt(uint32_t aIndex, const nsIID& aIID, void** aResult) override
38+
MOZ_MUST_USE NS_IMETHOD
39+
QueryElementAt(uint32_t aIndex, const nsIID& aIID, void** aResult) override
3740
{
3841
if (aIndex < mCount) {
3942
nsISupports* element = mArray[aIndex];
@@ -43,18 +46,19 @@ class nsSupportsArray final : public nsISupportsArray
4346
}
4447
return NS_ERROR_FAILURE;
4548
}
46-
NS_IMETHOD SetElementAt(uint32_t aIndex, nsISupports* aValue) override
49+
MOZ_MUST_USE NS_IMETHOD
50+
SetElementAt(uint32_t aIndex, nsISupports* aValue) override
4751
{
4852
return ReplaceElementAt(aValue, aIndex) ? NS_OK : NS_ERROR_FAILURE;
4953
}
50-
NS_IMETHOD AppendElement(nsISupports* aElement) override
54+
MOZ_MUST_USE NS_IMETHOD AppendElement(nsISupports* aElement) override
5155
{
5256
// XXX Invalid cast of bool to nsresult (bug 778110)
5357
return (nsresult)InsertElementAt(aElement, mCount)/* ? NS_OK : NS_ERROR_FAILURE*/;
5458
}
5559
// XXX this is badly named - should be RemoveFirstElement
56-
NS_IMETHOD RemoveElement(nsISupports* aElement) override;
57-
NS_IMETHOD_(bool) MoveElement(int32_t aFrom, int32_t aTo) override;
60+
MOZ_MUST_USE NS_IMETHOD RemoveElement(nsISupports* aElement) override;
61+
MOZ_MUST_USE NS_IMETHOD_(bool) MoveElement(int32_t aFrom, int32_t aTo) override;
5862
NS_IMETHOD Enumerate(nsIEnumerator** aResult) override;
5963
NS_IMETHOD Clear(void) override;
6064

@@ -85,41 +89,48 @@ class nsSupportsArray final : public nsISupportsArray
8589
return NS_OK;
8690
}
8791

88-
NS_IMETHOD_(bool) InsertElementAt(nsISupports* aElement, uint32_t aIndex) override;
92+
MOZ_MUST_USE NS_IMETHOD_(bool)
93+
InsertElementAt(nsISupports* aElement, uint32_t aIndex) override;
8994

90-
NS_IMETHOD_(bool) ReplaceElementAt(nsISupports* aElement, uint32_t aIndex) override;
95+
MOZ_MUST_USE NS_IMETHOD_(bool)
96+
ReplaceElementAt(nsISupports* aElement, uint32_t aIndex) override;
9197

92-
NS_IMETHOD_(bool) RemoveElementAt(uint32_t aIndex) override
98+
MOZ_MUST_USE NS_IMETHOD_(bool)
99+
RemoveElementAt(uint32_t aIndex) override
93100
{
94101
return RemoveElementsAt(aIndex, 1);
95102
}
96-
NS_IMETHOD_(bool) RemoveLastElement(const nsISupports* aElement) override;
103+
MOZ_MUST_USE NS_IMETHOD_(bool)
104+
RemoveLastElement(const nsISupports* aElement) override;
97105

98-
NS_IMETHOD DeleteLastElement(nsISupports* aElement) override
106+
MOZ_MUST_USE NS_IMETHOD DeleteLastElement(nsISupports* aElement) override
99107
{
100108
return (RemoveLastElement(aElement) ? NS_OK : NS_ERROR_FAILURE);
101109
}
102110

103-
NS_IMETHOD DeleteElementAt(uint32_t aIndex) override
111+
MOZ_MUST_USE NS_IMETHOD DeleteElementAt(uint32_t aIndex) override
104112
{
105113
return (RemoveElementAt(aIndex) ? NS_OK : NS_ERROR_FAILURE);
106114
}
107115

108-
NS_IMETHOD_(bool) AppendElements(nsISupportsArray* aElements) override
116+
MOZ_MUST_USE NS_IMETHOD_(bool)
117+
AppendElements(nsISupportsArray* aElements) override
109118
{
110119
return InsertElementsAt(aElements, mCount);
111120
}
112121

113122
NS_IMETHOD Compact(void) override;
114123

115-
NS_IMETHOD Clone(nsISupportsArray** aResult) override;
124+
MOZ_MUST_USE NS_IMETHOD Clone(nsISupportsArray** aResult) override;
116125

117-
NS_IMETHOD_(bool) InsertElementsAt(nsISupportsArray* aOther,
118-
uint32_t aIndex) override;
126+
MOZ_MUST_USE NS_IMETHOD_(bool)
127+
InsertElementsAt(nsISupportsArray* aOther, uint32_t aIndex) override;
119128

120-
NS_IMETHOD_(bool) RemoveElementsAt(uint32_t aIndex, uint32_t aCount) override;
129+
MOZ_MUST_USE NS_IMETHOD_(bool)
130+
RemoveElementsAt(uint32_t aIndex, uint32_t aCount) override;
121131

122-
NS_IMETHOD_(bool) SizeTo(int32_t aSize) override;
132+
MOZ_MUST_USE NS_IMETHOD_(bool)
133+
SizeTo(int32_t aSize) override;
123134
protected:
124135
void DeleteArray(void);
125136

0 commit comments

Comments
 (0)