blob: 84011c49712e7c02c3b1b72ee0af492933ccf1da [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.
library malformed_test;
// This part includes the actual tests.
part 'malformed2_lib.dart'; /// 00: static type warning
bool inCheckedMode() {
try {
var i = 42;
String s = i;
} on TypeError catch (e) {
return true;
}
return false;
}
bool hasFailed = false;
void fail(String message) {
try {
throw message;
} catch (e, s) {
print(e);
print(s);
}
hasFailed = true;
}
void checkFailures() {
if (hasFailed) throw 'Test failed.';
}
test(bool expectTypeError, f(), [String message]) {
message = message != null ? ' for $message' : '';
try {
f();
if (expectTypeError) {
fail('Missing type error$message.');
}
} on TypeError catch (e) {
if (expectTypeError) {
print('Type error$message: $e');
} else {
fail('Unexpected type error$message: $e');
}
}
}
const Unresolved c1 = 0; /// 01: static type warning, checked mode compile-time error
void main() {
print(c1); /// 01: continued
testValue(new List<String>()); /// 00: continued
testValue(null); /// 00: continued
checkFailures();
}