sortedByPublicFirst method
Sorts declarations with public visibility before private ones.
Returns:
- New List with public declarations first
- Original order preserved among declarations with same visibility
Example:
final methods = classDecl.getMethods().sortedByPublicFirst();
// [publicMethod1, publicMethod2, _privateMethod1, _privateMethod2]
Sorting Logic:
Public -> -1 (comes first)
Private -> 1 (comes after)
Equal -> 0 (original order preserved)
Implementation
List<T> sortedByPublicFirst() {
return toList()
..sort((a, b) {
if (a.getIsPublic() == b.getIsPublic()) return 0;
return a.getIsPublic() ? -1 : 1;
});
}