| library; | 
 | import self as self; | 
 | import "dart:core" as core; | 
 |  | 
 | class MapLike<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object { | 
 |   final field core::Map<self::MapLike::K%, self::MapLike::V%> _map; | 
 |   synthetic constructor •() → self::MapLike<self::MapLike::K%, self::MapLike::V%> | 
 |     ; | 
 |   method get(core::Object key) → self::MapLike::V? | 
 |     ; | 
 |   method put(covariant-by-class self::MapLike::K% key, covariant-by-class self::MapLike::V% value) → self::MapLike::V% | 
 |     ; | 
 | } | 
 | class MapLike2<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object { | 
 |   final field core::Map<self::MapLike2::K%, self::MapLike2::V%> _map; | 
 |   final field self::MapLike2::V% defaultValue; | 
 |   constructor •(self::MapLike2::V% defaultValue) → self::MapLike2<self::MapLike2::K%, self::MapLike2::V%> | 
 |     ; | 
 |   method get(core::Object key) → self::MapLike2::V% | 
 |     ; | 
 |   method put(covariant-by-class self::MapLike2::K% key, covariant-by-class self::MapLike2::V% value) → self::MapLike2::V% | 
 |     ; | 
 | } | 
 | extension Extension<K extends core::Object? = dynamic, V extends core::Object? = dynamic> on self::MapLike<K%, V%> { | 
 |   operator [] = self::Extension|[]; | 
 |   operator []= = self::Extension|[]=; | 
 | } | 
 | extension Extension2<K extends core::Object? = dynamic, V extends core::Object? = dynamic> on self::MapLike2<K%, V%> { | 
 |   operator [] = self::Extension2|[]; | 
 |   operator []= = self::Extension2|[]=; | 
 | } | 
 | static extension-member method Extension|[]<K extends core::Object? = dynamic, V extends core::Object? = dynamic>(lowered final self::MapLike<self::Extension|[]::K%, self::Extension|[]::V%> #this, core::Object key) → self::Extension|[]::V? | 
 |   ; | 
 | static extension-member method Extension|[]=<K extends core::Object? = dynamic, V extends core::Object? = dynamic>(lowered final self::MapLike<self::Extension|[]=::K%, self::Extension|[]=::V%> #this, self::Extension|[]=::K% key, self::Extension|[]=::V% value) → void | 
 |   ; | 
 | static extension-member method Extension2|[]<K extends core::Object? = dynamic, V extends core::Object? = dynamic>(lowered final self::MapLike2<self::Extension2|[]::K%, self::Extension2|[]::V%> #this, core::Object key) → self::Extension2|[]::V% | 
 |   ; | 
 | static extension-member method Extension2|[]=<K extends core::Object? = dynamic, V extends core::Object? = dynamic>(lowered final self::MapLike2<self::Extension2|[]=::K%, self::Extension2|[]=::V%> #this, self::Extension2|[]=::K% key, self::Extension2|[]=::V% value) → void | 
 |   ; | 
 | static method main() → dynamic | 
 |   ; | 
 | static method implicit() → dynamic | 
 |   ; | 
 | static method explicitWithTypeArguments() → dynamic | 
 |   ; | 
 | static method explicitInferredTypeArguments() → dynamic | 
 |   ; | 
 | static method expect(dynamic expected, dynamic actual) → dynamic | 
 |   ; |