blob: ca64999a6c3b74a5f43b6bd424d960d362d4c564 [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.
*/
/**
* @assertion Assignable expressions are expressions that can appear on the
* left hand side of an assignment.
* assignableExpression:
* primary (arguments* assignableSelector)+ |
* super unconditionalAssignableSelector |
* identifier
* ;
* unconditionalAssignableSelector:
* '[' expression ']' |
* '.' identifier
* ;
* assignableSelector:
* unconditionalAssignableSelector |
* '?.' identifier
* ;
* An assignable expression is either:
* • An identifier.
* • An invocation (possibly conditional) of a getter or list access operator
* on an expression e.
* • An invocation of a getter or list access operator on super.
* @description Checks that an expression not enclosed in parentheses can't
* be used with assignableSelector in the left hand side of an assignment.
* @compile-error
* @author msyabro
*/
main() {
var id = 1;
try {
id++ = 1;
} catch (e) {}
}