/*
 * 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 elements.
 *
 * @coverage dart.server.generated.types
 */
public class ElementKind {

  public static final String CLASS = "CLASS";

  public static final String CLASS_TYPE_ALIAS = "CLASS_TYPE_ALIAS";

  public static final String COMPILATION_UNIT = "COMPILATION_UNIT";

  public static final String CONSTRUCTOR = "CONSTRUCTOR";

  public static final String CONSTRUCTOR_INVOCATION = "CONSTRUCTOR_INVOCATION";

  public static final String ENUM = "ENUM";

  public static final String ENUM_CONSTANT = "ENUM_CONSTANT";

  public static final String FIELD = "FIELD";

  public static final String FILE = "FILE";

  public static final String FUNCTION = "FUNCTION";

  public static final String FUNCTION_INVOCATION = "FUNCTION_INVOCATION";

  public static final String FUNCTION_TYPE_ALIAS = "FUNCTION_TYPE_ALIAS";

  public static final String GETTER = "GETTER";

  public static final String LABEL = "LABEL";

  public static final String LIBRARY = "LIBRARY";

  public static final String LOCAL_VARIABLE = "LOCAL_VARIABLE";

  public static final String METHOD = "METHOD";

  public static final String MIXIN = "MIXIN";

  public static final String PARAMETER = "PARAMETER";

  public static final String PREFIX = "PREFIX";

  public static final String SETTER = "SETTER";

  public static final String TOP_LEVEL_VARIABLE = "TOP_LEVEL_VARIABLE";

  public static final String TYPE_PARAMETER = "TYPE_PARAMETER";

  public static final String UNIT_TEST_GROUP = "UNIT_TEST_GROUP";

  public static final String UNIT_TEST_TEST = "UNIT_TEST_TEST";

  public static final String UNKNOWN = "UNKNOWN";

}
