isCustomClass<T> method

bool isCustomClass<T>([
  1. T? object
])

Implementation

bool isCustomClass<T>([T? object]) {
  try {
    if (object == null) {
      if (!canReflectType(T)) {
        return false;
      }
    } else if (!canReflect(object)) {
      return false;
    }
  } catch (e) {
    return false;
  }

  ClassMirror classMirror;
  try {
    classMirror = reflectType(T) as ClassMirror;
  } on NoSuchCapabilityError {
    classMirror = reflectType(object.runtimeType) as ClassMirror;
  }

  for (Object metadata in classMirror.metadata) {
    if (metadata is Reflector) return true;
  }
  return false;
}