// Copyright (c) 2015, 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.
//
// This file has been automatically generated.  Please do not edit it manually.
// To regenerate the file, use the script
// "pkg/analyzer/tool/task_dependency_graph/generate.dart".
//
// To render this graph using Graphviz (www.graphviz.org) use the command:
// "dot tasks.dot -Tpdf -O".
digraph G {
  BUILD_DIRECTIVES_ERRORS -> LibraryUnitErrorsTask
  BUILD_DIRECTIVES_ERRORS [shape=box]
  BUILD_LIBRARY_ERRORS -> LibraryUnitErrorsTask
  BUILD_LIBRARY_ERRORS [shape=box]
  BuildCompilationUnitElementTask -> COMPILATION_UNIT_CONSTANTS
  BuildCompilationUnitElementTask -> COMPILATION_UNIT_ELEMENT
  BuildCompilationUnitElementTask -> CREATED_RESOLVED_UNIT1
  BuildCompilationUnitElementTask -> RESOLVED_UNIT1
  BuildDirectiveElementsTask -> BUILD_DIRECTIVES_ERRORS
  BuildDirectiveElementsTask -> LIBRARY_ELEMENT2
  BuildEnumMemberElementsTask -> CREATED_RESOLVED_UNIT3
  BuildEnumMemberElementsTask -> RESOLVED_UNIT3
  BuildExportNamespaceTask -> LIBRARY_ELEMENT4
  BuildLibraryElementTask -> BUILD_LIBRARY_ERRORS
  BuildLibraryElementTask -> IS_LAUNCHABLE
  BuildLibraryElementTask -> LIBRARY_ELEMENT1
  BuildLibraryElementTask -> REFERENCED_NAMES
  BuildPublicNamespaceTask -> LIBRARY_ELEMENT3
  BuildSourceExportClosureTask -> EXPORT_SOURCE_CLOSURE
  BuildTypeProviderTask -> TYPE_PROVIDER
  COMPILATION_UNIT_CONSTANTS -> EvaluateUnitConstantsTask
  COMPILATION_UNIT_CONSTANTS [shape=box]
  COMPILATION_UNIT_ELEMENT [shape=box]
  CONSTANT_DEPENDENCIES -> ComputeConstantValueTask
  CONSTANT_DEPENDENCIES [shape=box]
  CONSTANT_EXPRESSIONS_DEPENDENCIES -> EvaluateUnitConstantsTask
  CONSTANT_EXPRESSIONS_DEPENDENCIES [shape=box]
  CONSTANT_EXPRESSION_RESOLVED -> ComputeConstantDependenciesTask
  CONSTANT_EXPRESSION_RESOLVED [shape=box]
  CONSTANT_VALUE -> ComputeConstantValueTask
  CONSTANT_VALUE -> EvaluateUnitConstantsTask
  CONSTANT_VALUE -> VerifyUnitTask
  CONSTANT_VALUE [shape=box]
  CONTAINING_LIBRARIES -> DartErrorsTask
  CONTAINING_LIBRARIES [shape=box]
  CONTENT -> ScanDartTask
  CONTENT [shape=box]
  CREATED_RESOLVED_UNIT [shape=box]
  CREATED_RESOLVED_UNIT1 [shape=box]
  CREATED_RESOLVED_UNIT10 -> InferInstanceMembersInUnitTask
  CREATED_RESOLVED_UNIT10 [shape=box]
  CREATED_RESOLVED_UNIT11 -> InferInstanceMembersInUnitTask
  CREATED_RESOLVED_UNIT11 -> InferStaticVariableTypeTask
  CREATED_RESOLVED_UNIT11 -> PartiallyResolveUnitReferencesTask
  CREATED_RESOLVED_UNIT11 -> ResolveInstanceFieldsInUnitTask
  CREATED_RESOLVED_UNIT11 -> ResolveUnitTask
  CREATED_RESOLVED_UNIT11 [shape=box]
  CREATED_RESOLVED_UNIT12 -> ResolveConstantExpressionTask
  CREATED_RESOLVED_UNIT12 [shape=box]
  CREATED_RESOLVED_UNIT13 [shape=box]
  CREATED_RESOLVED_UNIT2 [shape=box]
  CREATED_RESOLVED_UNIT3 [shape=box]
  CREATED_RESOLVED_UNIT4 [shape=box]
  CREATED_RESOLVED_UNIT5 [shape=box]
  CREATED_RESOLVED_UNIT6 [shape=box]
  CREATED_RESOLVED_UNIT7 [shape=box]
  CREATED_RESOLVED_UNIT8 [shape=box]
  CREATED_RESOLVED_UNIT9 -> ResolveInstanceFieldsInUnitTask
  CREATED_RESOLVED_UNIT9 [shape=box]
  ComputeConstantDependenciesTask -> CONSTANT_DEPENDENCIES
  ComputeConstantValueTask -> CONSTANT_VALUE
  ComputeInferableStaticVariableDependenciesTask -> INFERABLE_STATIC_VARIABLE_DEPENDENCIES
  ComputeLibraryCycleTask -> LIBRARY_CYCLE
  ComputeLibraryCycleTask -> LIBRARY_CYCLE_DEPENDENCIES
  ComputeLibraryCycleTask -> LIBRARY_CYCLE_UNITS
  ComputePropagableVariableDependenciesTask -> PROPAGABLE_VARIABLE_DEPENDENCIES
  ComputeRequiredConstantsTask -> PENDING_ERRORS
  ComputeRequiredConstantsTask -> REQUIRED_CONSTANTS
  ContainingLibrariesTask -> CONTAINING_LIBRARIES
  DART_ERRORS -> LibraryErrorsReadyTask
  DART_ERRORS [shape=box]
  DART_SCRIPTS -> ScanDartTask
  DART_SCRIPTS [shape=box]
  DartErrorsTask -> DART_ERRORS
  EXPLICITLY_IMPORTED_LIBRARIES [shape=box]
  EXPORTED_LIBRARIES -> BuildDirectiveElementsTask
  EXPORTED_LIBRARIES -> ReadyLibraryElement2Task
  EXPORTED_LIBRARIES -> ReadyLibraryElement5Task
  EXPORTED_LIBRARIES -> ReadyLibraryElement6Task
  EXPORTED_LIBRARIES -> ResolveTopLevelLibraryTypeBoundsTask
  EXPORTED_LIBRARIES [shape=box]
  EXPORT_SOURCE_CLOSURE -> BuildExportNamespaceTask
  EXPORT_SOURCE_CLOSURE [shape=box]
  EvaluateUnitConstantsTask -> CREATED_RESOLVED_UNIT13
  EvaluateUnitConstantsTask -> RESOLVED_UNIT13
  GatherUsedImportedElementsTask -> USED_IMPORTED_ELEMENTS
  GatherUsedLocalElementsTask -> USED_LOCAL_ELEMENTS
  GenerateHintsTask -> HINTS
  GenerateLintsTask -> LINTS
  HINTS -> LibraryUnitErrorsTask
  HINTS [shape=box]
  IGNORE_INFO -> DartErrorsTask
  IGNORE_INFO [shape=box]
  IMPORTED_LIBRARIES -> BuildDirectiveElementsTask
  IMPORTED_LIBRARIES -> ReadyLibraryElement2Task
  IMPORTED_LIBRARIES -> ReadyLibraryElement5Task
  IMPORTED_LIBRARIES -> ReadyLibraryElement6Task
  IMPORTED_LIBRARIES -> ResolveTopLevelLibraryTypeBoundsTask
  IMPORTED_LIBRARIES -> ResolveTopLevelUnitTypeBoundsTask
  IMPORTED_LIBRARIES [shape=box]
  INCLUDED_PARTS -> BuildLibraryElementTask
  INCLUDED_PARTS [shape=box]
  INFERABLE_STATIC_VARIABLES_IN_UNIT -> InferStaticVariableTypesInUnitTask
  INFERABLE_STATIC_VARIABLES_IN_UNIT [shape=box]
  INFERABLE_STATIC_VARIABLE_DEPENDENCIES -> InferStaticVariableTypeTask
  INFERABLE_STATIC_VARIABLE_DEPENDENCIES [shape=box]
  INFERRED_STATIC_VARIABLE -> InferStaticVariableTypeTask
  INFERRED_STATIC_VARIABLE -> InferStaticVariableTypesInUnitTask
  INFERRED_STATIC_VARIABLE [shape=box]
  IS_LAUNCHABLE [shape=box]
  InferInstanceMembersInUnitTask -> CREATED_RESOLVED_UNIT11
  InferInstanceMembersInUnitTask -> RESOLVED_UNIT11
  InferStaticVariableTypeTask -> INFERRED_STATIC_VARIABLE
  InferStaticVariableTypesInUnitTask -> CREATED_RESOLVED_UNIT9
  InferStaticVariableTypesInUnitTask -> RESOLVED_UNIT9
  LIBRARY_CYCLE [shape=box]
  LIBRARY_CYCLE_DEPENDENCIES -> InferInstanceMembersInUnitTask
  LIBRARY_CYCLE_DEPENDENCIES -> InferStaticVariableTypeTask
  LIBRARY_CYCLE_DEPENDENCIES -> PartiallyResolveUnitReferencesTask
  LIBRARY_CYCLE_DEPENDENCIES -> ResolveInstanceFieldsInUnitTask
  LIBRARY_CYCLE_DEPENDENCIES [shape=box]
  LIBRARY_CYCLE_UNITS -> InferInstanceMembersInUnitTask
  LIBRARY_CYCLE_UNITS -> ResolveInstanceFieldsInUnitTask
  LIBRARY_CYCLE_UNITS -> ResolveUnitTask
  LIBRARY_CYCLE_UNITS [shape=box]
  LIBRARY_ELEMENT -> LibraryErrorsReadyTask
  LIBRARY_ELEMENT [shape=box]
  LIBRARY_ELEMENT1 -> BuildDirectiveElementsTask
  LIBRARY_ELEMENT1 -> ResolveVariableReferencesTask
  LIBRARY_ELEMENT1 [shape=box]
  LIBRARY_ELEMENT2 -> BuildPublicNamespaceTask
  LIBRARY_ELEMENT2 -> BuildSourceExportClosureTask
  LIBRARY_ELEMENT2 -> ComputeLibraryCycleTask
  LIBRARY_ELEMENT2 -> ReadyLibraryElement2Task
  LIBRARY_ELEMENT2 -> ResolveDirectiveElementsTask
  LIBRARY_ELEMENT2 [shape=box]
  LIBRARY_ELEMENT3 -> BuildExportNamespaceTask
  LIBRARY_ELEMENT3 -> BuildTypeProviderTask
  LIBRARY_ELEMENT3 [shape=box]
  LIBRARY_ELEMENT4 -> ResolveTopLevelLibraryTypeBoundsTask
  LIBRARY_ELEMENT4 -> ResolveTopLevelUnitTypeBoundsTask
  LIBRARY_ELEMENT4 [shape=box]
  LIBRARY_ELEMENT5 -> ResolveLibraryTypeNamesTask
  LIBRARY_ELEMENT5 -> ResolveTopLevelLibraryTypeBoundsTask
  LIBRARY_ELEMENT5 -> ResolveUnitTypeNamesTask
  LIBRARY_ELEMENT5 [shape=box]
  LIBRARY_ELEMENT6 -> PartiallyResolveUnitReferencesTask
  LIBRARY_ELEMENT6 -> PropagateVariableTypesInLibraryTask
  LIBRARY_ELEMENT6 -> ReadyLibraryElement5Task
  LIBRARY_ELEMENT6 -> ResolveInstanceFieldsInUnitTask
  LIBRARY_ELEMENT6 [shape=box]
  LIBRARY_ELEMENT7 -> PropagateVariableTypesInLibraryClosureTask
  LIBRARY_ELEMENT7 -> ReadyLibraryElement6Task
  LIBRARY_ELEMENT7 [shape=box]
  LIBRARY_ELEMENT8 -> ResolveLibraryReferencesTask
  LIBRARY_ELEMENT8 -> ResolveUnitTask
  LIBRARY_ELEMENT8 [shape=box]
  LIBRARY_ELEMENT9 -> EvaluateUnitConstantsTask
  LIBRARY_ELEMENT9 -> ResolveLibraryTask
  LIBRARY_ELEMENT9 [shape=box]
  LIBRARY_ERRORS_READY [shape=box]
  LIBRARY_SPECIFIC_UNITS -> GenerateHintsTask
  LIBRARY_SPECIFIC_UNITS -> PropagateVariableTypesInLibraryTask
  LIBRARY_SPECIFIC_UNITS -> ReadyResolvedUnitTask
  LIBRARY_SPECIFIC_UNITS -> ResolveLibraryReferencesTask
  LIBRARY_SPECIFIC_UNITS -> ResolveLibraryTypeNamesTask
  LIBRARY_SPECIFIC_UNITS -> ResolveTopLevelLibraryTypeBoundsTask
  LIBRARY_SPECIFIC_UNITS [shape=box]
  LIBRARY_UNIT_ERRORS -> dartErrorsForUnit
  LIBRARY_UNIT_ERRORS [shape=box]
  LINE_INFO -> DartErrorsTask
  LINE_INFO -> ParseDartTask
  LINE_INFO [shape=box]
  LINTS -> LibraryUnitErrorsTask
  LINTS [shape=box]
  LibraryErrorsReadyTask -> LIBRARY_ERRORS_READY
  LibraryUnitErrorsTask -> LIBRARY_UNIT_ERRORS
  MODIFICATION_TIME -> BuildDirectiveElementsTask
  MODIFICATION_TIME -> ParseDartTask
  MODIFICATION_TIME -> ScanDartTask
  MODIFICATION_TIME -> VerifyUnitTask
  MODIFICATION_TIME [shape=box]
  PARSED_UNIT -> BuildCompilationUnitElementTask
  PARSED_UNIT [shape=box]
  PARSE_ERRORS -> dartErrorsForSource
  PARSE_ERRORS [shape=box]
  PENDING_ERRORS -> VerifyUnitTask
  PENDING_ERRORS [shape=box]
  PROPAGABLE_VARIABLES_IN_UNIT -> PropagateVariableTypesInUnitTask
  PROPAGABLE_VARIABLES_IN_UNIT [shape=box]
  PROPAGABLE_VARIABLE_DEPENDENCIES -> PropagateVariableTypeTask
  PROPAGABLE_VARIABLE_DEPENDENCIES [shape=box]
  PROPAGATED_VARIABLE -> PropagateVariableTypeTask
  PROPAGATED_VARIABLE -> PropagateVariableTypesInUnitTask
  PROPAGATED_VARIABLE [shape=box]
  ParseDartTask -> EXPLICITLY_IMPORTED_LIBRARIES
  ParseDartTask -> EXPORTED_LIBRARIES
  ParseDartTask -> IMPORTED_LIBRARIES
  ParseDartTask -> INCLUDED_PARTS
  ParseDartTask -> LIBRARY_SPECIFIC_UNITS
  ParseDartTask -> PARSED_UNIT
  ParseDartTask -> PARSE_ERRORS
  ParseDartTask -> REFERENCED_SOURCES
  ParseDartTask -> SOURCE_KIND
  ParseDartTask -> UNITS
  PartiallyResolveUnitReferencesTask -> CREATED_RESOLVED_UNIT7
  PartiallyResolveUnitReferencesTask -> INFERABLE_STATIC_VARIABLES_IN_UNIT
  PartiallyResolveUnitReferencesTask -> PROPAGABLE_VARIABLES_IN_UNIT
  PartiallyResolveUnitReferencesTask -> RESOLVED_UNIT7
  PropagateVariableTypeTask -> PROPAGATED_VARIABLE
  PropagateVariableTypesInLibraryClosureTask -> LIBRARY_ELEMENT8
  PropagateVariableTypesInLibraryTask -> LIBRARY_ELEMENT7
  PropagateVariableTypesInUnitTask -> CREATED_RESOLVED_UNIT8
  PropagateVariableTypesInUnitTask -> RESOLVED_UNIT8
  READY_LIBRARY_ELEMENT2 -> ComputeLibraryCycleTask
  READY_LIBRARY_ELEMENT2 -> ReadyLibraryElement2Task
  READY_LIBRARY_ELEMENT2 [shape=box]
  READY_LIBRARY_ELEMENT6 -> PartiallyResolveUnitReferencesTask
  READY_LIBRARY_ELEMENT6 -> ReadyLibraryElement5Task
  READY_LIBRARY_ELEMENT6 [shape=box]
  READY_LIBRARY_ELEMENT7 -> PropagateVariableTypesInLibraryClosureTask
  READY_LIBRARY_ELEMENT7 -> ReadyLibraryElement6Task
  READY_LIBRARY_ELEMENT7 [shape=box]
  READY_RESOLVED_UNIT -> ResolveLibraryTask
  READY_RESOLVED_UNIT -> VerifyUnitTask
  READY_RESOLVED_UNIT [shape=box]
  REFERENCED_NAMES [shape=box]
  REFERENCED_SOURCES -> BuildDirectiveElementsTask
  REFERENCED_SOURCES -> VerifyUnitTask
  REFERENCED_SOURCES [shape=box]
  REQUIRED_CONSTANTS -> VerifyUnitTask
  REQUIRED_CONSTANTS [shape=box]
  RESOLVED_UNIT -> ComputeRequiredConstantsTask
  RESOLVED_UNIT -> GenerateHintsTask
  RESOLVED_UNIT -> GenerateLintsTask
  RESOLVED_UNIT -> ReadyResolvedUnitTask
  RESOLVED_UNIT -> VerifyUnitTask
  RESOLVED_UNIT [shape=box]
  RESOLVED_UNIT1 -> BuildDirectiveElementsTask
  RESOLVED_UNIT1 -> BuildLibraryElementTask
  RESOLVED_UNIT1 -> ResolveDirectiveElementsTask
  RESOLVED_UNIT1 [shape=box]
  RESOLVED_UNIT10 -> InferInstanceMembersInUnitTask
  RESOLVED_UNIT10 [shape=box]
  RESOLVED_UNIT11 -> ResolveUnitTask
  RESOLVED_UNIT11 [shape=box]
  RESOLVED_UNIT12 -> EvaluateUnitConstantsTask
  RESOLVED_UNIT12 -> GatherUsedImportedElementsTask
  RESOLVED_UNIT12 -> GatherUsedLocalElementsTask
  RESOLVED_UNIT12 -> ResolveLibraryReferencesTask
  RESOLVED_UNIT12 [shape=box]
  RESOLVED_UNIT13 -> StrongModeVerifyUnitTask
  RESOLVED_UNIT13 [shape=box]
  RESOLVED_UNIT2 -> BuildEnumMemberElementsTask
  RESOLVED_UNIT2 [shape=box]
  RESOLVED_UNIT3 -> ResolveTopLevelUnitTypeBoundsTask
  RESOLVED_UNIT3 [shape=box]
  RESOLVED_UNIT4 -> ResolveTopLevelLibraryTypeBoundsTask
  RESOLVED_UNIT4 -> ResolveUnitTypeNamesTask
  RESOLVED_UNIT4 [shape=box]
  RESOLVED_UNIT5 -> ResolveLibraryTypeNamesTask
  RESOLVED_UNIT5 -> ResolveVariableReferencesTask
  RESOLVED_UNIT5 [shape=box]
  RESOLVED_UNIT6 -> PartiallyResolveUnitReferencesTask
  RESOLVED_UNIT6 [shape=box]
  RESOLVED_UNIT7 -> ComputeInferableStaticVariableDependenciesTask
  RESOLVED_UNIT7 -> ComputePropagableVariableDependenciesTask
  RESOLVED_UNIT7 -> PropagateVariableTypeTask
  RESOLVED_UNIT7 -> PropagateVariableTypesInUnitTask
  RESOLVED_UNIT7 [shape=box]
  RESOLVED_UNIT8 -> InferStaticVariableTypeTask
  RESOLVED_UNIT8 -> InferStaticVariableTypesInUnitTask
  RESOLVED_UNIT8 -> PropagateVariableTypesInLibraryTask
  RESOLVED_UNIT8 [shape=box]
  RESOLVED_UNIT9 -> ResolveInstanceFieldsInUnitTask
  RESOLVED_UNIT9 [shape=box]
  RESOLVE_TYPE_BOUNDS_ERRORS -> LibraryUnitErrorsTask
  RESOLVE_TYPE_BOUNDS_ERRORS [shape=box]
  RESOLVE_TYPE_NAMES_ERRORS -> LibraryUnitErrorsTask
  RESOLVE_TYPE_NAMES_ERRORS [shape=box]
  RESOLVE_UNIT_ERRORS -> LibraryUnitErrorsTask
  RESOLVE_UNIT_ERRORS [shape=box]
  ReadyLibraryElement2Task -> READY_LIBRARY_ELEMENT2
  ReadyLibraryElement5Task -> READY_LIBRARY_ELEMENT6
  ReadyLibraryElement6Task -> READY_LIBRARY_ELEMENT7
  ReadyResolvedUnitTask -> READY_RESOLVED_UNIT
  ResolveConstantExpressionTask -> CONSTANT_EXPRESSION_RESOLVED
  ResolveDirectiveElementsTask -> CREATED_RESOLVED_UNIT2
  ResolveDirectiveElementsTask -> RESOLVED_UNIT2
  ResolveInstanceFieldsInUnitTask -> CREATED_RESOLVED_UNIT10
  ResolveInstanceFieldsInUnitTask -> RESOLVED_UNIT10
  ResolveLibraryReferencesTask -> LIBRARY_ELEMENT9
  ResolveLibraryTask -> LIBRARY_ELEMENT
  ResolveLibraryTypeNamesTask -> LIBRARY_ELEMENT6
  ResolveTopLevelLibraryTypeBoundsTask -> LIBRARY_ELEMENT5
  ResolveTopLevelUnitTypeBoundsTask -> CREATED_RESOLVED_UNIT4
  ResolveTopLevelUnitTypeBoundsTask -> RESOLVED_UNIT4
  ResolveTopLevelUnitTypeBoundsTask -> RESOLVE_TYPE_BOUNDS_ERRORS
  ResolveUnitTask -> CONSTANT_EXPRESSIONS_DEPENDENCIES
  ResolveUnitTask -> CREATED_RESOLVED_UNIT12
  ResolveUnitTask -> RESOLVED_UNIT12
  ResolveUnitTask -> RESOLVE_UNIT_ERRORS
  ResolveUnitTypeNamesTask -> CREATED_RESOLVED_UNIT5
  ResolveUnitTypeNamesTask -> RESOLVED_UNIT5
  ResolveUnitTypeNamesTask -> RESOLVE_TYPE_NAMES_ERRORS
  ResolveVariableReferencesTask -> CREATED_RESOLVED_UNIT6
  ResolveVariableReferencesTask -> RESOLVED_UNIT6
  ResolveVariableReferencesTask -> VARIABLE_REFERENCE_ERRORS
  SCAN_ERRORS -> dartErrorsForSource
  SCAN_ERRORS [shape=box]
  SOURCE_KIND -> BuildDirectiveElementsTask
  SOURCE_KIND [shape=box]
  STRONG_MODE_ERRORS -> LibraryUnitErrorsTask
  STRONG_MODE_ERRORS [shape=box]
  ScanDartTask -> IGNORE_INFO
  ScanDartTask -> LINE_INFO
  ScanDartTask -> SCAN_ERRORS
  ScanDartTask -> TOKEN_STREAM
  StrongModeVerifyUnitTask -> CREATED_RESOLVED_UNIT
  StrongModeVerifyUnitTask -> RESOLVED_UNIT
  StrongModeVerifyUnitTask -> STRONG_MODE_ERRORS
  TOKEN_STREAM -> ParseDartTask
  TOKEN_STREAM [shape=box]
  TYPE_PROVIDER -> BuildEnumMemberElementsTask
  TYPE_PROVIDER -> ComputeConstantDependenciesTask
  TYPE_PROVIDER -> ComputeConstantValueTask
  TYPE_PROVIDER -> GenerateHintsTask
  TYPE_PROVIDER -> InferInstanceMembersInUnitTask
  TYPE_PROVIDER -> InferStaticVariableTypeTask
  TYPE_PROVIDER -> PartiallyResolveUnitReferencesTask
  TYPE_PROVIDER -> PropagateVariableTypeTask
  TYPE_PROVIDER -> ResolveInstanceFieldsInUnitTask
  TYPE_PROVIDER -> ResolveLibraryTypeNamesTask
  TYPE_PROVIDER -> ResolveTopLevelUnitTypeBoundsTask
  TYPE_PROVIDER -> ResolveUnitTask
  TYPE_PROVIDER -> ResolveUnitTypeNamesTask
  TYPE_PROVIDER -> ResolveVariableReferencesTask
  TYPE_PROVIDER -> StrongModeVerifyUnitTask
  TYPE_PROVIDER -> VerifyUnitTask
  TYPE_PROVIDER [shape=box]
  UNITS -> LibraryErrorsReadyTask
  UNITS [shape=box]
  USED_IMPORTED_ELEMENTS -> GenerateHintsTask
  USED_IMPORTED_ELEMENTS [shape=box]
  USED_LOCAL_ELEMENTS -> GenerateHintsTask
  USED_LOCAL_ELEMENTS [shape=box]
  VARIABLE_REFERENCE_ERRORS -> LibraryUnitErrorsTask
  VARIABLE_REFERENCE_ERRORS [shape=box]
  VERIFY_ERRORS -> LibraryUnitErrorsTask
  VERIFY_ERRORS [shape=box]
  VerifyUnitTask -> VERIFY_ERRORS
  dartErrorsForSource -> DartErrorsTask
  dartErrorsForSource [shape=hexagon]
  dartErrorsForUnit -> DartErrorsTask
  dartErrorsForUnit [shape=hexagon]
}
