// Copyright (c) 2014, 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 library is deprecated. Please convert all references to this library to
 * reference one of the following public libraries:
 * * package:analyzer/dart/ast/ast.dart
 * * package:analyzer/dart/ast/visitor.dart
 *
 * If your code is using APIs not available in these public libraries, please
 * contact the analyzer team to either find an alternate API or have the API you
 * depend on added to the public API.
 */
@deprecated
library analyzer.src.generated.ast;

export 'package:analyzer/dart/ast/ast.dart';
export 'package:analyzer/dart/ast/visitor.dart';
export 'package:analyzer/src/dart/ast/utilities.dart';
