blob: f1a7d9ed3ce3a78869f4c9881983b147bd44f37d [file] [log] [blame]
// Copyright (c) 2019, 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 Shift expressions invoke the shift operators on objects.
/// shiftExpression:
/// additiveExpression (shiftOperator additiveExpression)* |
/// super (shiftOperator additiveExpression)+
/// ;
/// shiftOperator:
/// '<<' |
/// '>>' |
/// '>>>'
/// ;
/// A shift expression is either an additive expression, or an invocation
/// of a shift operator on either super or an expression e1, with argument e2.
/// @description Checks that [super] can be used only as the first operand in
/// a shift expression.
/// @author iarkh@unipro.ru
class S {}
class A extends S {
test() {
1 >>> super;
// ^
// [analyzer] unspecified
// [cfe] unspecified
}
}
main() {
A a = new A();
a.test();
}