| 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) { } |