| class Class1 { |
| Class1? get property => null; |
| void set property(Class1? value) {} |
| Class1 get property1 => new Class1(); |
| Class2 get property2 => new Class2(); |
| } |
| extension Extension1 ; |
| on Class1 (){} |
| class Class2 { |
| Class2 get property => this; |
| void set property(Class2 value) {} |
| } |
| extension Extension2 ; |
| on Class2 (){} |
| class Class3 { |
| Class2? get property => null; |
| } |
| extension Extension3 ; |
| on Class3 (){} |
| main() {} |
| void propertyAccess(Class1? n1) {} |
| void indexAccess(Class1? n1, Class2? n2, Class3? n3) {} |
| void operatorAccess(Class1? n1, Class2? n2) {} |
| void ifNull(Class1? n1) {} |
| void throws(void Function() f) {} |