blob: b2fd0a141645465dc32ee58f0595078e863ec7b6 [file] [log] [blame]
// Copyright (c) 2013, 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.
// Test that the right exception for dart2js is thrown in the presence of
// bailouts.
import "package:expect/expect.dart";
var a;
var b;
bar() {
a = a == null ? 42 : new Object();
a += b;
}
foo() {
a = a == null ? new Object() : 42;
a--;
}
main() {
for (int i = 0; i < 10; i++) {
a = null;
Expect.throws(foo, (e) => e is NoSuchMethodError);
a = null;
// dart2js throws [ArgumentError], VM throws [NoSuchMethodError].
Expect.throws(bar, (e) => e is ArgumentError);
}
}