blob: a91de2097ea4699a03d2ca2085f5af8a63b08610 [file] [log] [blame]
// Copyright (c) 2011, 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.
// @dart = 2.9
/// @assertion Postfix expressions invoke the postfix operators on objects.
/// postfixExpression:
/// assignableExpression postfixOperator |
/// primary (selector* | (‘#’ ( (identifier ‘=’?) | operator)))
/// ;
/// postfixOperator:
/// incrementOperator
/// ;
/// selector:
/// assignableSelector |
/// arguments
/// ;
/// incrementOperator:
/// '++' |
/// '--'
/// ;
/// A postfix expression is either a primary expression, a function, method or
/// getter invocation, or an invocation of a postfix operator on an expression e.
/// @description Checks that a statement can't be used with postfixOperator.
/// This test is using a labeled for statement.
/// @author msyabro
/// @reviewer kaigorodov
/// @reviewer rodionov
main() {
try {
label: for (var i in []) {};++;
// ^
// [analyzer] unspecified
// [cfe] unspecified
} catch (e) {}
}