This file was autogenerated from running the shaker test suite.
To update this file, either copy the output from a failing test or run
pkg/front_end/tool/fasta testing shaker -DupdateExpectations=true

library dart:async:
  - member dart.async::_asyncThenWrapperHelper
  - member dart.async::_asyncErrorWrapperHelper
  - member dart.async::_awaitHelper
  - typedef ControllerCallback
  - typedef ControllerCancelCallback
  - class _AsyncStarStreamController
    - controller
    - asyncStarBody
    - isAdding
    - onListenReceived
    - isScheduled
    - isSuspendedAtYield
    - cancellationCompleter
    - (default constructor)
    - stream
    - runBody
    - scheduleGenerator
    - add
    - addStream
    - addError
    - close
    - onListen
    - onResume
    - onCancel
  - class FutureOr
  - class Future
    - microtask
    - then
    - catchError
    - whenComplete
    - asStream
    - timeout
  - class Completer
    - sync
    - future
    - complete
    - completeError
    - isCompleted
  - class Stream
    - isBroadcast
    - asBroadcastStream
    - listen
    - where
    - map
    - asyncMap
    - asyncExpand
    - handleError
    - expand
    - pipe
    - transform
    - reduce
    - fold
    - join
    - contains
    - forEach
    - every
    - any
    - length
    - isEmpty
    - cast
    - retype
    - toList
    - toSet
    - drain
    - take
    - takeWhile
    - skip
    - skipWhile
    - distinct
    - first
    - last
    - single
    - firstWhere
    - lastWhere
    - singleWhere
    - elementAt
    - timeout
  - class StreamSubscription
    - cancel
    - onData
    - onError
    - onDone
    - pause
    - resume
    - isPaused
    - asFuture
  - class EventSink
    - add
    - addError
    - close
  - class StreamConsumer
    - addStream
    - close
  - class StreamSink
    - close
    - done
  - class StreamTransformer
    - bind
    - cast
    - retype
  - class StreamIterator
    - moveNext
    - current
    - cancel
  - class StreamController
    - stream
    - onListen
    - onListen
    - onPause
    - onPause
    - onResume
    - onResume
    - onCancel
    - onCancel
    - sink
    - isClosed
    - isPaused
    - hasListener
    - add
    - addError
    - close
    - addStream
  - class _StreamIterator
    - (default constructor)
    - current
    - moveNext
    - cancel

library dart:collection:
  - class IterableBase

library dart:_internal:
  - class ExternalName
    - name
    - (default constructor)
  - class EfficientLengthIterable
    - length
  - class Symbol
    - ==
    - hashCode
    - toString

library dart:math:
  - class Random
    - nextInt
    - nextDouble
    - nextBool

library dart:core:
  - member print
  - typedef _SyncGeneratorCallback
  - class _SyncIterable
    - (default constructor)
    - iterator
  - class _SyncIterator
    - current
    - moveNext
  - class _CompileTimeError
    - (default constructor)
    - toString
  - class _DuplicatedFieldInitializerError
    - (default constructor)
    - toString
  - class _InvocationMirror
    - dart.core::_withoutType
    - memberName
    - typeArguments
    - positionalArguments
    - namedArguments
    - isMethod
    - isAccessor
    - isGetter
    - isSetter
  - class bool
    - hashCode
    - toString
  - class Comparable
    - compareTo
  - class double
    - remainder
    - +
    - -
    - *
    - %
    - /
    - ~/
    - unary-
    - abs
    - sign
    - round
    - floor
    - ceil
    - truncate
    - roundToDouble
    - floorToDouble
    - ceilToDouble
    - truncateToDouble
    - toString
  - class Duration
    - +
    - -
    - *
    - ~/
    - <
    - >
    - <=
    - >=
    - inDays
    - inHours
    - inMinutes
    - inSeconds
    - inMilliseconds
    - inMicroseconds
    - ==
    - hashCode
    - compareTo
    - toString
    - isNegative
    - abs
    - unary-
  - class Error
    - stackTrace
  - class FallThroughError
    - dart.core::_create
    - toString
  - class _ConstantExpressionError
    - (default constructor)
  - class Function
    - hashCode
    - ==
  - class int
    - &
    - |
    - ^
    - ~
    - <<
    - >>
    - modPow
    - modInverse
    - gcd
    - isEven
    - isOdd
    - bitLength
    - toUnsigned
    - toSigned
    - unary-
    - abs
    - sign
    - round
    - floor
    - ceil
    - truncate
    - roundToDouble
    - floorToDouble
    - ceilToDouble
    - truncateToDouble
    - toString
    - toRadixString
  - class Invocation
    - memberName
    - typeArguments
    - positionalArguments
    - namedArguments
    - isMethod
    - isGetter
    - isSetter
    - isAccessor
  - class Iterable
    - iterator
    - cast
    - retype
    - followedBy
    - map
    - where
    - whereType
    - expand
    - contains
    - forEach
    - reduce
    - fold
    - every
    - join
    - any
    - toList
    - toSet
    - length
    - isEmpty
    - isNotEmpty
    - take
    - takeWhile
    - skip
    - skipWhile
    - first
    - last
    - single
    - firstWhere
    - lastWhere
    - singleWhere
    - elementAt
    - toString
  - class BidirectionalIterator
    - movePrevious
  - class Iterator
    - moveNext
    - current
  - class List
    - from
    - cast
    - retype
    - []
    - []=
    - first
    - last
    - length
    - length
    - add
    - addAll
    - reversed
    - sort
    - shuffle
    - indexOf
    - indexWhere
    - lastIndexWhere
    - lastIndexOf
    - clear
    - insert
    - insertAll
    - setAll
    - remove
    - removeAt
    - removeLast
    - removeWhere
    - retainWhere
    - +
    - sublist
    - getRange
    - setRange
    - removeRange
    - fillRange
    - replaceRange
    - asMap
  - class Map
    - cast
    - retype
    - containsValue
    - containsKey
    - []
    - []=
    - entries
    - map
    - addEntries
    - update
    - updateAll
    - removeWhere
    - putIfAbsent
    - addAll
    - remove
    - clear
    - forEach
    - keys
    - values
    - length
    - isEmpty
    - isNotEmpty
  - class MapEntry
    - key
    - value
  - class Null
    - hashCode
    - toString
  - class num
    - ==
    - hashCode
    - compareTo
    - +
    - -
    - *
    - %
    - /
    - ~/
    - unary-
    - remainder
    - <
    - <=
    - >
    - >=
    - isNaN
    - isNegative
    - isInfinite
    - isFinite
    - abs
    - sign
    - round
    - floor
    - ceil
    - truncate
    - roundToDouble
    - floorToDouble
    - ceilToDouble
    - truncateToDouble
    - clamp
    - toInt
    - toDouble
    - toStringAsFixed
    - toStringAsExponential
    - toStringAsPrecision
    - toString
  - class Object
    - dart.core::_hashCodeRnd
    - (default constructor)
    - dart.core::_objectHashCode
    - dart.core::_identityHashCode
    - dart.core::_toString
    - dart.core::_haveSameRuntimeType
    - dart.core::_instanceOf
    - dart.core::_simpleInstanceOf
    - dart.core::_simpleInstanceOfTrue
    - dart.core::_simpleInstanceOfFalse
    - dart.core::_as
    - ==
    - hashCode
    - toString
    - noSuchMethod
    - runtimeType
  - class Pattern
    - allMatches
    - matchAsPrefix
  - class Match
    - start
    - end
    - group
    - []
    - groups
    - groupCount
    - input
    - pattern
  - class Set
    - cast
    - retype
    - iterator
    - contains
    - add
    - addAll
    - remove
    - lookup
    - removeAll
    - retainAll
    - removeWhere
    - retainWhere
    - containsAll
    - intersection
    - union
    - difference
    - clear
    - toSet
  - class Sink
    - add
    - close
  - class StackTrace
    - toString
  - class String
    - []
    - codeUnitAt
    - length
    - hashCode
    - ==
    - endsWith
    - startsWith
    - indexOf
    - lastIndexOf
    - isEmpty
    - isNotEmpty
    - +
    - substring
    - trim
    - trimLeft
    - trimRight
    - *
    - padLeft
    - padRight
    - contains
    - replaceFirst
    - replaceFirstMapped
    - replaceAll
    - replaceAllMapped
    - replaceRange
    - split
    - splitMapJoin
    - codeUnits
    - runes
    - toLowerCase
    - toUpperCase
  - class Runes
    - string
    - iterator
    - last
  - class RuneIterator
    - string
    - rawIndex
    - rawIndex
    - reset
    - current
    - currentSize
    - currentAsString
    - moveNext
    - movePrevious
  - class Symbol
    - hashCode
    - ==
  - class Type
