// TODO(multitest): This was automatically migrated from a multitest and may
// contain strange or dead code.

// 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.

class Foo<T> {}

var a = [new Object(), 42];

bar(x, y) {}

main() {
  while (false) {
    // Comply to inlining heuristics.
    // Use an unresolved prefix.
    var foo =

        bar(
      // Make dart2js generate a call to setRuntimeTypeInfo.
      new Foo<int>(),
      // Use a one-shot interceptor.
      a[0].toString());

    // Do an is test on `Foo` to require setRuntimeTypeInfo.
    print(foo is Foo<int>);
  }
}
