sortClassDesc static method

void sortClassDesc()

按照继承数量逆序排列包装类型列表,这样能最大程度保证自动类型推测函数能返回继承链最长的包装类型

Implementation

static void sortClassDesc() {
  _globalLibraryList.sort((a, b) {
    final ai = libraryBaseList.indexOf(a);
    final bi = libraryBaseList.indexOf(b);
    if (ai >= 0 && bi >= 0) return ai < bi ? -1 : 1;
    if (ai < 0 && bi >= 0) return -1;
    if (ai >= 0 && bi < 0) return 1;
    if (a.superclassNames.length != b.superclassNames.length) {
      return a.superclassNames.length > b.superclassNames.length ? -1 : 1;
    }
    return a.externalProxyMap!.length > b.externalProxyMap!.length ? -1 : 1;
  });
}