Sort outlineview base on where the elements appear in the source
The outline view is mostly correct. However, in cases where there are
contexts that don't have an associated declaration these will be added
to the end of the list regardless of where they are in the source. For
example the following code
namespace N { class C; }
class N::C {
int f(double);
};
void foo()
would previously result in an outline like this:
+-+- N
\-- C |
+-- foo(): void
+-+- N
\-+- C \-- f(double): int
now it correctly renders as:
+-+- N
\-- C |
+-+- N
\-+- C |
\-- f(double): int |
+-- foo(): void
REVIEW: 123586