/*
 * Copyright (c) 2018, 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/analysis_server/tool/spec/generate_files".
 */
package org.dartlang.analysis.server.protocol;

/**
 * An enumeration of the kinds of refactorings that can be created.
 *
 * @coverage dart.server.generated.types
 */
public class RefactoringKind {

  public static final String CONVERT_GETTER_TO_METHOD = "CONVERT_GETTER_TO_METHOD";

  public static final String CONVERT_METHOD_TO_GETTER = "CONVERT_METHOD_TO_GETTER";

  public static final String EXTRACT_LOCAL_VARIABLE = "EXTRACT_LOCAL_VARIABLE";

  public static final String EXTRACT_METHOD = "EXTRACT_METHOD";

  public static final String EXTRACT_WIDGET = "EXTRACT_WIDGET";

  public static final String INLINE_LOCAL_VARIABLE = "INLINE_LOCAL_VARIABLE";

  public static final String INLINE_METHOD = "INLINE_METHOD";

  public static final String MOVE_FILE = "MOVE_FILE";

  public static final String RENAME = "RENAME";

}
