# Copyright (c) 2020, 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.md file.

# Reproduce a crash.

type: newworld
trackWidgetCreation: true
target: dartdevc # basically needed for widget creation to be run
worlds:
  - entry: app/main.dart
    sources:
      .dart_tool/package_config.json: |
        {
          "configVersion": 2,
          "packages": [
            {
              "name": "flutter",
              "rootUri": "../flutter",
              "languageVersion": "2.12"
            }
          ]
        }
      app/main.dart: |
        import "package:flutter/src/widgets/framework.dart";
      flutter/src/widgets/framework.dart: |
        abstract class Widget {}
    expectedLibraryCount: 2
