| Index: frog/tests/leg/src/TypeInference4Test.dart
|
| diff --git a/frog/tests/leg/src/TypeInference4Test.dart b/frog/tests/leg/src/TypeInference4Test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..79e2d9ccd6153653c41f27ae1920b8b85d5941ee
|
| --- /dev/null
|
| +++ b/frog/tests/leg/src/TypeInference4Test.dart
|
| @@ -0,0 +1,27 @@
|
| +// 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.
|
| +
|
| +#import("compiler_helper.dart");
|
| +
|
| +final String TEST_ONE = @"""
|
| +foo(j) {
|
| + var a = [1, 2, 3];
|
| + if (j < 0) j = 0;
|
| + for (var i = j; i < 3; i++) {
|
| + a[i];
|
| + }
|
| +}
|
| +""";
|
| +
|
| +main() {
|
| + String generated = compile(TEST_ONE, 'foo');
|
| +
|
| + // Test for absence of an illegal argument exception. This means that the
|
| + // arguments are known to be integers.
|
| + Expect.isFalse(generated.contains('iae'));
|
| + // Also make sure that we are not just in bailout mode without speculative
|
| + // types by grepping for the integer-bailout check on argument j.
|
| + RegExp regexp = new RegExp(getIntTypeCheck('j0'));
|
| + Expect.isTrue(regexp.hasMatch(generated));
|
| +}
|
|
|