blob: d6033c5158e75e70e2f903c2efe551497f10041a [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 As with the if statement, the condition expression of an if
/// element induces type promotion in the "then" element of the if when the
/// condition expression shows that a variable has some type and promotion isn't
/// otherwise aborted.
///
/// @description Checks that the condition expression of an if element induces
/// type promotion in the "then" element of the if when the condition expression
/// shows that a variable has some type.
/// @author sgrekhov@unipro.ru
import "../../Utils/expect.dart";
class A {
int get a => 0;
}
class C extends A {
int get c => 1;
}
main() {
A a = new A();
A c = new C();
var v1 = [
if (a is C) a.c,
if (c is C) c.c
];
Expect.listEquals([1], v1);
}