in dart/packages/fury/lib/src/resolver/dart_type_resolver.dart [36:81]
Type getFuryType(Object obj) {
if (obj is Furiable){
return obj.$furyType;
}
if (obj is Enum){
return obj.runtimeType;
}
if (obj is Map){
if (obj is LinkedHashMap) return LinkedHashMap;
if (obj is HashMap) return HashMap;
if (obj is SplayTreeMap) return SplayTreeMap;
return Map;
}
if (obj is List){
if (obj is TypedDataList){
switch (obj.elementSizeInBytes){
case 1:
if (obj is Uint8List) return Uint8List;
if (obj is Uint8ClampedList) return Uint8ClampedList;
if (obj is Int8List) return Int8List;
case 2:
if (obj is Uint16List) return Uint16List;
if (obj is Int16List) return Int16List;
case 4:
if (obj is Uint32List) return Uint32List;
if (obj is Int32List) return Int32List;
if (obj is Float32List) return Float32List;
case 8:
if (obj is Uint64List) return Uint64List;
if (obj is Int64List) return Int64List;
if (obj is Float64List) return Float64List;
default:
return TypedDataList;
}
}
if (obj is BoolList) return BoolList;
return List;
}
if (obj is Set){
if (obj is LinkedHashSet) return LinkedHashSet;
if (obj is HashSet) return HashSet;
if (obj is SplayTreeSet) return SplayTreeSet;
return Set;
}
return obj.runtimeType;
}