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

import 'package:expect/expect.dart';
import 'package:expect/expect.dart' as prefix; // Define 'prefix'.

checkIsUnresolved(var v) {




}

checkIsListUnresolved(var v) {





}

checkAsUnresolved(var v) {




}

checkAsListUnresolved(var v) {





}

void main() {
  checkIsUnresolved('');
  checkAsUnresolved('');
  checkIsListUnresolved([]);
  checkAsListUnresolved([]);




  try {
    throw 'foo';
  }

    catch (e) {
  }

  try {
    throw 'foo';
  }

    catch (e) {
  }

  try {
    throw 'foo';
  }

    catch (e) {
  }

  try {
    throw 'foo';
  }

    catch (e) {
  }

  try {
    throw 'foo';
  }

    catch (e) {
  }
}
