blob: a213e6e5358a1b85ab6a2314da67f68405611e74 [file] [log] [blame]
// Copyright (c) 2015, 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 Execution of a postfix expression of the form e1?.v-- is
/// equivalent to executing ((x) => x == null? null: x.v--)(e1) unless e1 is
/// a type literal, in which case it is equivalent to e1.v-- .
/// The static type of such an expression is the static type of e1.v.
/// @description Checks that static type of e1?.v-- is static type of e1.v
/// static-clean
/// @author sgrekhov@unipro.ru
class C {
int v = 0;
dynamic v2;
}
main() {
var c1 = new C() as C?;
int? a1 = c1?.v--;
try { int? a2 = c1?.v2--; } catch (e) {}
C? c2;
int? a3 = c2?.v--;
int? a4 = c2?.v2--;
}