buildScope method

void buildScope()

Rebuilds all dirty elements that have been scheduled.

Implementation

void buildScope() {
  if (isDirtyElements.isEmpty) return;
  Tracer.record(_traceBuildScopeId, Phase.begin, TraceCategory.build);
  try {
    final sorted = isDirtyElements.where((e) => e.mounted).toList()
      ..sort((a, b) => a.treeDepth.compareTo(b.treeDepth));
    isDirtyElements.clear();
    for (final element in sorted) {
      if (element.mounted && element.isDirty) {
        element.performRebuild();
      }
    }
  } finally {
    Tracer.record(_traceBuildScopeId, Phase.end, TraceCategory.build);
  }
}