blob: da2d1cb70116ab568c2199dbb0f53b8ab834cbac [file] [log] [blame]
/*
* Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
* for details. All rights reserved. Use of this source code is governed by a
* BSD-style license that can be found in the LICENSE file.
*/
/**
* @assertion An assignable expression of the form e.id or e?.id is evaluated
* as a property extraction.
* @description Checks that expression of the form e?.id is evaluated as
* ((x) => x == null ? null : x.id)(e).
* @author ngl@unipro.ru
*/
import '../../../Utils/expect.dart';
class A {
var _x;
var y;
A(): _x = 1, y = 1;
get x {
y = 20;
return _x;
}
}
main() {
A a = new A();
A b = null;
Expect.equals(1, a?.x);
Expect.equals(20, a?.y);
Expect.isNull(b?.x);
Expect.isNull(b?.y);
}