# This expectation file is generated by loader_test.dart

a
  is package? no
  is shared?  no
  is sdk?  no
  dependencies: b, c, sdk
  a.dart

b
  is package? no
  is shared?  no
  is sdk?  no
  dependencies: d, sdk
  b.dart

c
  is package? no
  is shared?  no
  is sdk?  no
  dependencies: sdk
  c.dart

d
  is package? no
  is shared?  no
  is sdk?  no
  dependencies: sdk
  d/d.dart
  d/e.dart

main
  **main module**
  is package? no
  is shared?  no
  is sdk?  no
  dependencies: a, sdk
  main.dart

sdk
  is package? no
  is shared?  yes
  is sdk?  yes
  (no dependencies)
  (sdk sources omitted)
