| library; | 
 | import self as self; | 
 | import "dart:core" as core; | 
 |  | 
 | class Class1 extends core::Object { | 
 |   synthetic constructor •() → self::Class1 | 
 |     ; | 
 |   get field() → self::Class2? | 
 |     ; | 
 |   operator [](core::int index) → core::int | 
 |     ; | 
 |   operator []=(core::int index, core::int value) → void | 
 |     ; | 
 | } | 
 | class Class2 extends core::Object { | 
 |   field core::int field; | 
 |   synthetic constructor •() → self::Class2 | 
 |     ; | 
 | } | 
 | extension Extension on self::Class2 { | 
 |   operator [] = self::Extension|[]; | 
 |   operator []= = self::Extension|[]=; | 
 | } | 
 | static extension-member method Extension|[](lowered final self::Class2 #this, core::int index) → core::int | 
 |   ; | 
 | static extension-member method Extension|[]=(lowered final self::Class2 #this, core::int index, core::int value) → void | 
 |   ; | 
 | static method main() → dynamic | 
 |   ; |