// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
// Exceptions. See /LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

// This .def file expands the CARBON_VALUE_KIND macro once for each kind of
// Value. The macro should be defined as taking a single argument, which is the
// name of the Value type.

#ifndef CARBON_VALUE_KIND
#error #define CARBON_VALUE_KIND(kind) before including this header
#endif

CARBON_VALUE_KIND(IntValue)
CARBON_VALUE_KIND(FunctionValue)
CARBON_VALUE_KIND(DestructorValue)
CARBON_VALUE_KIND(BoundMethodValue)
CARBON_VALUE_KIND(PointerValue)
CARBON_VALUE_KIND(LocationValue)
CARBON_VALUE_KIND(ReferenceExpressionValue)
CARBON_VALUE_KIND(BoolValue)
CARBON_VALUE_KIND(StructValue)
CARBON_VALUE_KIND(NominalClassValue)
CARBON_VALUE_KIND(AlternativeValue)
CARBON_VALUE_KIND(TupleValue)
CARBON_VALUE_KIND(UninitializedValue)
CARBON_VALUE_KIND(ImplWitness)
CARBON_VALUE_KIND(BindingWitness)
CARBON_VALUE_KIND(ConstraintWitness)
CARBON_VALUE_KIND(ConstraintImplWitness)
CARBON_VALUE_KIND(IntType)
CARBON_VALUE_KIND(BoolType)
CARBON_VALUE_KIND(TypeType)
CARBON_VALUE_KIND(FunctionType)
CARBON_VALUE_KIND(PointerType)
CARBON_VALUE_KIND(AutoType)
CARBON_VALUE_KIND(StructType)
CARBON_VALUE_KIND(NominalClassType)
CARBON_VALUE_KIND(TupleType)
CARBON_VALUE_KIND(MixinPseudoType)
CARBON_VALUE_KIND(InterfaceType)
CARBON_VALUE_KIND(NamedConstraintType)
CARBON_VALUE_KIND(ConstraintType)
CARBON_VALUE_KIND(ChoiceType)
CARBON_VALUE_KIND(VariableType)
CARBON_VALUE_KIND(AssociatedConstant)
CARBON_VALUE_KIND(ParameterizedEntityName)
CARBON_VALUE_KIND(MemberName)
CARBON_VALUE_KIND(BindingPlaceholderValue)
CARBON_VALUE_KIND(AddrValue)
CARBON_VALUE_KIND(AlternativeConstructorValue)
CARBON_VALUE_KIND(StringType)
CARBON_VALUE_KIND(StringValue)
CARBON_VALUE_KIND(TypeOfMixinPseudoType)
CARBON_VALUE_KIND(TypeOfParameterizedEntityName)
CARBON_VALUE_KIND(TypeOfMemberName)
CARBON_VALUE_KIND(TypeOfNamespaceName)
CARBON_VALUE_KIND(StaticArrayType)

#undef CARBON_VALUE_KIND
