// Copyright (c) 2014, 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:test_reflective_loader/test_reflective_loader.dart';

import 'all_the_rest_test.dart' as all_the_rest;
import 'class_member_parser_test.dart' as class_member_parser;
import 'collection_literal_parser_test.dart' as collection_literal_parser;
import 'complex_parser_test.dart' as complex_parser;
// ignore: deprecated_member_use_from_same_package
import 'constant_test.dart' as constant_test;
import 'element_resolver_test.dart' as element_resolver_test;
import 'error_parser_test.dart' as error_parser;
import 'error_suppression_test.dart' as error_suppression;
import 'expression_parser_test.dart' as expression_parser;
import 'extension_methods_parser_test.dart' as extension_methods_parser;
import 'formal_parameter_parser_test.dart' as formal_parameter_parser;
import 'generic_metadata_parser_test.dart' as generic_metadata_parser;
import 'invalid_code_test.dart' as invalid_code;
import 'issues_test.dart' as issues;
import 'java_core_test.dart' as java_core_test;
import 'java_io_test.dart' as java_io_test;
import 'nnbd_parser_test.dart' as nnbd_parser;
import 'non_error_parser_test.dart' as non_error_parser;
import 'non_error_resolver_test.dart' as non_error_resolver;
import 'non_hint_code_test.dart' as non_hint_code;
import 'recovery_parser_test.dart' as recovery_parser;
import 'resolver_test.dart' as resolver_test;
import 'scanner_test.dart' as scanner_test;
import 'sdk_test.dart' as sdk_test;
import 'simple_parser_test.dart' as simple_parser;
import 'simple_resolver_test.dart' as simple_resolver_test;
import 'source_factory_test.dart' as source_factory_test;
import 'statement_parser_test.dart' as statement_parser;
import 'static_type_analyzer_test.dart' as static_type_analyzer_test;
import 'static_type_warning_code_test.dart' as static_type_warning_code;
import 'static_warning_code_test.dart' as static_warning_code;
import 'strong_mode_test.dart' as strong_mode;
import 'top_level_parser_test.dart' as top_level_parser;
import 'type_system_test.dart' as type_system_test;
import 'utilities_dart_test.dart' as utilities_dart_test;
import 'utilities_test.dart' as utilities_test;
import 'variance_parser_test.dart' as variance_parser;

main() {
  defineReflectiveSuite(() {
    all_the_rest.main();
    class_member_parser.main();
    collection_literal_parser.main();
    complex_parser.main();
    constant_test.main();
    element_resolver_test.main();
    error_parser.main();
    error_suppression.main();
    expression_parser.main();
    extension_methods_parser.main();
    formal_parameter_parser.main();
    generic_metadata_parser.main();
    invalid_code.main();
    issues.main();
    java_core_test.main();
    java_io_test.main();
    nnbd_parser.main();
    non_error_parser.main();
    non_error_resolver.main();
    non_hint_code.main();
    recovery_parser.main();
    resolver_test.main();
    scanner_test.main();
    sdk_test.main();
    simple_parser.main();
    simple_resolver_test.main();
    source_factory_test.main();
    statement_parser.main();
    static_type_analyzer_test.main();
    static_type_warning_code.main();
    static_warning_code.main();
    strong_mode.main();
    top_level_parser.main();
    type_system_test.main();
    utilities_dart_test.main();
    utilities_test.main();
    variance_parser.main();
  }, name: 'generated');
}
