// 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_UNIT2
  BuildEnumMemberElementsTask -> RESOLVED_UNIT2
  BuildExportNamespaceTask -> LIBRARY_ELEMENT4
  BuildLibraryElementTask -> BUILD_LIBRARY_ERRORS
  BuildLibraryElementTask -> IS_LAUNCHABLE
  BuildLibraryElementTask -> LIBRARY_ELEMENT1
  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 [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 -> ResolveConstantExpressionTask
  CREATED_RESOLVED_UNIT10 [shape=box]
  CREATED_RESOLVED_UNIT11 [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 -> ResolveInstanceFieldsInUnitTask
  CREATED_RESOLVED_UNIT7 [shape=box]
  CREATED_RESOLVED_UNIT8 -> InferInstanceMembersInUnitTask
  CREATED_RESOLVED_UNIT8 [shape=box]
  CREATED_RESOLVED_UNIT9 -> InferInstanceMembersInUnitTask
  CREATED_RESOLVED_UNIT9 -> InferStaticVariableTypeTask
  CREATED_RESOLVED_UNIT9 -> PartiallyResolveUnitReferencesTask
  CREATED_RESOLVED_UNIT9 -> ResolveInstanceFieldsInUnitTask
  CREATED_RESOLVED_UNIT9 -> ResolveUnitTask
  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
  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 [shape=box]
  EXPORT_SOURCE_CLOSURE -> BuildExportNamespaceTask
  EXPORT_SOURCE_CLOSURE [shape=box]
  EvaluateUnitConstantsTask -> CREATED_RESOLVED_UNIT11
  EvaluateUnitConstantsTask -> RESOLVED_UNIT11
  GatherUsedImportedElementsTask -> USED_IMPORTED_ELEMENTS
  GatherUsedLocalElementsTask -> USED_LOCAL_ELEMENTS
  GenerateHintsTask -> HINTS
  GenerateLintsTask -> LINTS
  HINTS -> LibraryUnitErrorsTask
  HINTS [shape=box]
  IMPORTED_LIBRARIES -> BuildDirectiveElementsTask
  IMPORTED_LIBRARIES -> ReadyLibraryElement2Task
  IMPORTED_LIBRARIES -> ReadyLibraryElement5Task
  IMPORTED_LIBRARIES -> ReadyLibraryElement6Task
  IMPORTED_LIBRARIES -> ResolveUnitTypeNamesTask
  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_UNIT9
  InferInstanceMembersInUnitTask -> RESOLVED_UNIT9
  InferStaticVariableTypeTask -> INFERRED_STATIC_VARIABLE
  InferStaticVariableTypesInUnitTask -> CREATED_RESOLVED_UNIT7
  InferStaticVariableTypesInUnitTask -> RESOLVED_UNIT7
  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 [shape=box]
  LIBRARY_ELEMENT3 -> BuildExportNamespaceTask
  LIBRARY_ELEMENT3 -> BuildTypeProviderTask
  LIBRARY_ELEMENT3 [shape=box]
  LIBRARY_ELEMENT4 -> ResolveLibraryTypeNamesTask
  LIBRARY_ELEMENT4 -> ResolveUnitTypeNamesTask
  LIBRARY_ELEMENT4 [shape=box]
  LIBRARY_ELEMENT5 -> PartiallyResolveUnitReferencesTask
  LIBRARY_ELEMENT5 -> PropagateVariableTypesInLibraryTask
  LIBRARY_ELEMENT5 -> ReadyLibraryElement5Task
  LIBRARY_ELEMENT5 -> ResolveInstanceFieldsInUnitTask
  LIBRARY_ELEMENT5 [shape=box]
  LIBRARY_ELEMENT6 -> PropagateVariableTypesInLibraryClosureTask
  LIBRARY_ELEMENT6 -> ReadyLibraryElement6Task
  LIBRARY_ELEMENT6 [shape=box]
  LIBRARY_ELEMENT7 -> ResolveLibraryReferencesTask
  LIBRARY_ELEMENT7 -> ResolveUnitTask
  LIBRARY_ELEMENT7 [shape=box]
  LIBRARY_ELEMENT8 -> EvaluateUnitConstantsTask
  LIBRARY_ELEMENT8 -> ResolveLibraryTask
  LIBRARY_ELEMENT8 [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 [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 -> ParseDartTask
  MODIFICATION_TIME [shape=box]
  PARSED_UNIT -> BuildCompilationUnitElementTask
  PARSED_UNIT -> DartErrorsTask
  PARSED_UNIT [shape=box]
  PARSE_ERRORS -> dartErrorsForSource
  PARSE_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 -> SOURCE_KIND
  ParseDartTask -> UNITS
  PartiallyResolveUnitReferencesTask -> CREATED_RESOLVED_UNIT5
  PartiallyResolveUnitReferencesTask -> INFERABLE_STATIC_VARIABLES_IN_UNIT
  PartiallyResolveUnitReferencesTask -> PROPAGABLE_VARIABLES_IN_UNIT
  PartiallyResolveUnitReferencesTask -> RESOLVED_UNIT5
  PropagateVariableTypeTask -> PROPAGATED_VARIABLE
  PropagateVariableTypesInLibraryClosureTask -> LIBRARY_ELEMENT7
  PropagateVariableTypesInLibraryTask -> LIBRARY_ELEMENT6
  PropagateVariableTypesInUnitTask -> CREATED_RESOLVED_UNIT6
  PropagateVariableTypesInUnitTask -> RESOLVED_UNIT6
  READY_LIBRARY_ELEMENT2 -> ComputeLibraryCycleTask
  READY_LIBRARY_ELEMENT2 -> ReadyLibraryElement2Task
  READY_LIBRARY_ELEMENT2 [shape=box]
  READY_LIBRARY_ELEMENT5 -> PartiallyResolveUnitReferencesTask
  READY_LIBRARY_ELEMENT5 -> ReadyLibraryElement5Task
  READY_LIBRARY_ELEMENT5 [shape=box]
  READY_LIBRARY_ELEMENT6 -> PropagateVariableTypesInLibraryClosureTask
  READY_LIBRARY_ELEMENT6 -> ReadyLibraryElement6Task
  READY_LIBRARY_ELEMENT6 [shape=box]
  READY_RESOLVED_UNIT -> ResolveLibraryTask
  READY_RESOLVED_UNIT -> VerifyUnitTask
  READY_RESOLVED_UNIT [shape=box]
  REFERENCED_NAMES [shape=box]
  RESOLVED_UNIT -> GenerateHintsTask
  RESOLVED_UNIT -> GenerateLintsTask
  RESOLVED_UNIT -> ReadyResolvedUnitTask
  RESOLVED_UNIT -> VerifyUnitTask
  RESOLVED_UNIT [shape=box]
  RESOLVED_UNIT1 -> BuildDirectiveElementsTask
  RESOLVED_UNIT1 -> BuildEnumMemberElementsTask
  RESOLVED_UNIT1 -> BuildLibraryElementTask
  RESOLVED_UNIT1 [shape=box]
  RESOLVED_UNIT10 -> EvaluateUnitConstantsTask
  RESOLVED_UNIT10 -> GatherUsedImportedElementsTask
  RESOLVED_UNIT10 -> GatherUsedLocalElementsTask
  RESOLVED_UNIT10 -> ResolveLibraryReferencesTask
  RESOLVED_UNIT10 [shape=box]
  RESOLVED_UNIT11 -> StrongModeVerifyUnitTask
  RESOLVED_UNIT11 [shape=box]
  RESOLVED_UNIT2 -> ResolveUnitTypeNamesTask
  RESOLVED_UNIT2 [shape=box]
  RESOLVED_UNIT3 -> ResolveLibraryTypeNamesTask
  RESOLVED_UNIT3 -> ResolveVariableReferencesTask
  RESOLVED_UNIT3 [shape=box]
  RESOLVED_UNIT4 -> PartiallyResolveUnitReferencesTask
  RESOLVED_UNIT4 [shape=box]
  RESOLVED_UNIT5 -> ComputeInferableStaticVariableDependenciesTask
  RESOLVED_UNIT5 -> ComputePropagableVariableDependenciesTask
  RESOLVED_UNIT5 -> PropagateVariableTypeTask
  RESOLVED_UNIT5 -> PropagateVariableTypesInUnitTask
  RESOLVED_UNIT5 [shape=box]
  RESOLVED_UNIT6 -> InferStaticVariableTypeTask
  RESOLVED_UNIT6 -> InferStaticVariableTypesInUnitTask
  RESOLVED_UNIT6 -> PropagateVariableTypesInLibraryTask
  RESOLVED_UNIT6 [shape=box]
  RESOLVED_UNIT7 -> ResolveInstanceFieldsInUnitTask
  RESOLVED_UNIT7 [shape=box]
  RESOLVED_UNIT8 -> InferInstanceMembersInUnitTask
  RESOLVED_UNIT8 [shape=box]
  RESOLVED_UNIT9 -> ResolveUnitTask
  RESOLVED_UNIT9 [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_ELEMENT5
  ReadyLibraryElement6Task -> READY_LIBRARY_ELEMENT6
  ReadyResolvedUnitTask -> READY_RESOLVED_UNIT
  ResolveConstantExpressionTask -> CONSTANT_EXPRESSION_RESOLVED
  ResolveInstanceFieldsInUnitTask -> CREATED_RESOLVED_UNIT8
  ResolveInstanceFieldsInUnitTask -> RESOLVED_UNIT8
  ResolveLibraryReferencesTask -> LIBRARY_ELEMENT8
  ResolveLibraryReferencesTask -> REFERENCED_NAMES
  ResolveLibraryTask -> LIBRARY_ELEMENT
  ResolveLibraryTypeNamesTask -> LIBRARY_ELEMENT5
  ResolveUnitTask -> CONSTANT_EXPRESSIONS_DEPENDENCIES
  ResolveUnitTask -> CREATED_RESOLVED_UNIT10
  ResolveUnitTask -> RESOLVED_UNIT10
  ResolveUnitTask -> RESOLVE_UNIT_ERRORS
  ResolveUnitTypeNamesTask -> CREATED_RESOLVED_UNIT3
  ResolveUnitTypeNamesTask -> RESOLVED_UNIT3
  ResolveUnitTypeNamesTask -> RESOLVE_TYPE_NAMES_ERRORS
  ResolveVariableReferencesTask -> CREATED_RESOLVED_UNIT4
  ResolveVariableReferencesTask -> RESOLVED_UNIT4
  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 -> 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 -> 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]
}
