1 /* { dg-do compile } */
2 /* { dg-additional-options "-Wno-return-type" } */
7 enum { kMaxDepth = 32 };
11 Link& operator=(const Link& aLink) {
12 mParent = aLink.mParent;
13 mChildIndex = aLink.mChildIndex;
19 Link mLink[kMaxDepth];
21 iterator() : mTop(-1), mRowIndex(-1) { }
22 iterator& operator=(const iterator& aIterator);
24 Subtree* EnsureSubtreeFor(Subtree* aParent, PRInt32 aChildIndex);
25 Subtree* GetSubtreeFor(const Subtree* aParent,
26 PRInt32 aChildIndex, PRInt32* aSubtreeSize = 0);
27 void InvalidateCachedRow() {
28 mLastRow = iterator();
32 nsTreeRows::Subtree* nsTreeRows::EnsureSubtreeFor(Subtree* aParent,
33 PRInt32 aChildIndex) {
34 Subtree* subtree = GetSubtreeFor(aParent, aChildIndex);
36 InvalidateCachedRow();
39 nsTreeRows::iterator& nsTreeRows::iterator::operator=(const iterator&
41 mTop = aIterator.mTop;
42 for (PRInt32 i = mTop;
44 --i) mLink[i] = aIterator.mLink[i];