ClassInfo.fromCache constructor

ClassInfo.fromCache(
  1. ClassMirror classMirror,
  2. Map<Type, ClassInfo>? cache
)

Implementation

factory ClassInfo.fromCache(
    ClassMirror classMirror, Map<Type, ClassInfo>? cache) {
  final type = _getReflectedType(classMirror);

  if (cache != null && type != null) {
    if (cache.containsKey(type)) {
      final cachedValue = cache[type]!;
      if (cachedValue.classMirror == classMirror) {
        return cachedValue;
      }
    }

    final result = ClassInfo(classMirror)..cachedClasses = cache;

    cache[type] = result;
    return result;
  }
  return ClassInfo(classMirror);
}