

/*----------------------------------------------------------------------------*/
/*                                                                            */
/* Copyright (c) 1995, 2004 IBM Corporation. All rights reserved.             */
/* Copyright (c) 2005-2018 Rexx Language Association. All rights reserved.    */
/*                                                                            */
/* This program and the accompanying materials are made available under       */
/* the terms of the Common Public License v1.0 which accompanies this         */
/* distribution. A copy is also available at the following address:           */
/* https://www.oorexx.org/license.html                                        */
/*                                                                            */
/* Redistribution and use in source and binary forms, with or                 */
/* without modification, are permitted provided that the following            */
/* conditions are met:                                                        */
/*                                                                            */
/* Redistributions of source code must retain the above copyright             */
/* notice, this list of conditions and the following disclaimer.              */
/* Redistributions in binary form must reproduce the above copyright          */
/* notice, this list of conditions and the following disclaimer in            */
/* the documentation and/or other materials provided with the distribution.   */
/*                                                                            */
/* Neither the name of Rexx Language Association nor the names                */
/* of its contributors may be used to endorse or promote products             */
/* derived from this software without specific prior written permission.      */
/*                                                                            */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS        */
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT          */
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS          */
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT   */
/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,      */
/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED   */
/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,        */
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY     */
/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING    */
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS         */
/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.               */
/*                                                                            */
/*----------------------------------------------------------------------------*/
/******************************************************************************/
/* REXX  Support                                                              */
/*                                                                            */
/* Rexx primitive class id codes                                              */
/*                                                                            */
/*        -- DO NOT CHANGE THIS FILE, ALL CHANGES WILL BE LOST! --            */
/*                  -- FILE WAS GENERATED BY ClassTypeIds.xsl --              */
/******************************************************************************/

#ifndef ClassTypeCodes_Included
#define ClassTypeCodes_Included

typedef enum
{
    T_First_Primitive_Class = 0,
    T_First_Exported_Class = 0,

    T_Object = 0,
    T_ObjectClass = 1,
    T_Class = 2,
    T_ClassClass = 3,
    T_Array = 4,
    T_ArrayClass = 5,
    T_Directory = 6,
    T_DirectoryClass = 7,
    T_Integer = 8,
    T_IntegerClass = 9,
    T_List = 10,
    T_ListClass = 11,
    T_Message = 12,
    T_MessageClass = 13,
    T_Method = 14,
    T_MethodClass = 15,
    T_NumberString = 16,
    T_NumberStringClass = 17,
    T_Queue = 18,
    T_QueueClass = 19,
    T_Stem = 20,
    T_StemClass = 21,
    T_String = 22,
    T_StringClass = 23,
    T_Supplier = 24,
    T_SupplierClass = 25,
    T_Table = 26,
    T_TableClass = 27,
    T_StringTable = 28,
    T_StringTableClass = 29,
    T_Relation = 30,
    T_RelationClass = 31,
    T_MutableBuffer = 32,
    T_MutableBufferClass = 33,
    T_Pointer = 34,
    T_PointerClass = 35,
    T_Buffer = 36,
    T_BufferClass = 37,
    T_WeakReference = 38,
    T_WeakReferenceClass = 39,
    T_Routine = 40,
    T_RoutineClass = 41,
    T_Package = 42,
    T_PackageClass = 43,
    T_RexxContext = 44,
    T_RexxContextClass = 45,
    T_IdentityTable = 46,
    T_IdentityTableClass = 47,
    T_StackFrame = 48,
    T_StackFrameClass = 49,
    T_Set = 50,
    T_SetClass = 51,
    T_Bag = 52,
    T_BagClass = 53,
    T_RexxInfo = 54,
    T_RexxInfoClass = 55,
    T_VariableReference = 56,
    T_VariableReferenceClass = 57,
    T_EventSemaphore = 58,
    T_EventSemaphoreClass = 59,
    T_MutexSemaphore = 60,
    T_MutexSemaphoreClass = 61,

    T_Last_Exported_Class = 61,
    
    T_First_Internal_Class = 62,

    T_NilObject = 62,
    T_Behaviour = 63,
    T_MethodDictionary = 64,
    T_LibraryPackage = 65,
    T_RexxCode = 66,
    T_NativeMethod = 67,
    T_NativeRoutine = 68,
    T_RegisteredRoutine = 69,
    T_CPPCode = 70,
    T_AttributeGetterCode = 71,
    T_AttributeSetterCode = 72,
    T_ConstantGetterCode = 73,
    T_AbstractCode = 74,
    T_DelegateCode = 75,
    T_SmartBuffer = 76,
    T_IdentityHashContents = 77,
    T_EqualityHashContents = 78,
    T_MultiValueContents = 79,
    T_StringHashContents = 80,
    T_ListContents = 81,
    T_Variable = 82,
    T_VariableDictionary = 83,
    T_VariableTerm = 84,
    T_CompoundVariableTerm = 85,
    T_StemVariableTerm = 86,
    T_DotVariableTerm = 87,
    T_IndirectVariableTerm = 88,
    T_FunctionCallTerm = 89,
    T_MessageSendTerm = 90,
    T_UnaryOperatorTerm = 91,
    T_BinaryOperatorTerm = 92,
    T_LogicalTerm = 93,
    T_ListTerm = 94,
    T_Instruction = 95,
    T_AddressInstruction = 96,
    T_AssignmentInstruction = 97,
    T_CallInstruction = 98,
    T_DynamicCallInstruction = 99,
    T_QualifiedCallInstruction = 100,
    T_CallOnInstruction = 101,
    T_CommandInstruction = 102,
    T_SimpleDoInstruction = 103,
    T_DoForeverInstruction = 104,
    T_DoOverInstruction = 105,
    T_DoOverUntilInstruction = 106,
    T_DoOverWhileInstruction = 107,
    T_DoOverForInstruction = 108,
    T_DoOverForUntilInstruction = 109,
    T_DoOverForWhileInstruction = 110,
    T_ControlledDoInstruction = 111,
    T_ControlledDoUntilInstruction = 112,
    T_ControlledDoWhileInstruction = 113,
    T_DoWhileInstruction = 114,
    T_DoUntilInstruction = 115,
    T_DoCountInstruction = 116,
    T_DoCountUntilInstruction = 117,
    T_DoCountWhileInstruction = 118,
    T_DropInstruction = 119,
    T_ElseInstruction = 120,
    T_EndInstruction = 121,
    T_EndIfInstruction = 122,
    T_ExitInstruction = 123,
    T_ExposeInstruction = 124,
    T_ForwardInstruction = 125,
    T_GuardInstruction = 126,
    T_IfInstruction = 127,
    T_CaseWhenInstruction = 128,
    T_InterpretInstruction = 129,
    T_LabelInstruction = 130,
    T_LeaveInstruction = 131,
    T_MessageInstruction = 132,
    T_NopInstruction = 133,
    T_NumericInstruction = 134,
    T_OptionsInstruction = 135,
    T_OtherwiseInstruction = 136,
    T_ParseInstruction = 137,
    T_ProcedureInstruction = 138,
    T_QueueInstruction = 139,
    T_RaiseInstruction = 140,
    T_ReplyInstruction = 141,
    T_ReturnInstruction = 142,
    T_SayInstruction = 143,
    T_SelectInstruction = 144,
    T_SelectCaseInstruction = 145,
    T_SignalInstruction = 146,
    T_DynamicSignalInstruction = 147,
    T_SignalOnInstruction = 148,
    T_ThenInstruction = 149,
    T_TraceInstruction = 150,
    T_UseInstruction = 151,
    T_UseLocalInstruction = 152,
    T_DoWithInstruction = 153,
    T_DoWithUntilInstruction = 154,
    T_DoWithWhileInstruction = 155,
    T_DoWithForInstruction = 156,
    T_DoWithForUntilInstruction = 157,
    T_DoWithForWhileInstruction = 158,
    T_ClassDirective = 159,
    T_LibraryDirective = 160,
    T_RequiresDirective = 161,
    T_CompoundElement = 162,
    T_ParseTrigger = 163,
    T_ProgramSource = 164,
    T_ArrayProgramSource = 165,
    T_BufferProgramSource = 166,
    T_FileProgramSource = 167,
    T_NumberArray = 168,
    T_ClassResolver = 169,
    T_QualifiedFunction = 170,
    T_PointerBucket = 171,
    T_PointerTable = 172,
    T_SpecialDotVariableTerm = 173,
    T_VariableReferenceOp = 174,
    T_UseArgVariableRef = 175,
    T_CommandIOConfiguration = 176,
    T_AddressWithInstruction = 177,
    T_ConstantDirective = 178,

    T_Last_Internal_Class = 178,
    
    T_First_Transient_Class = 179,

    T_Memory = 179,
    T_InternalStack = 180,
    T_PushThroughStack = 181,
    T_Activity = 182,
    T_Activation = 183,
    T_NativeActivation = 184,
    T_ActivationFrameBuffer = 185,
    T_Envelope = 186,
    T_LanguageParser = 187,
    T_Clause = 188,
    T_Token = 189,
    T_DoBlock = 190,
    T_InterpreterInstance = 191,
    T_SecurityManager = 192,
    T_CommandHandler = 193,
    T_MapBucket = 194,
    T_MapTable = 195,
    T_TrapHandler = 196,
    T_CommandIOContext = 197,
    T_StemOutputTarget = 198,
    T_StreamObjectOutputTarget = 199,
    T_StreamOutputTarget = 200,
    T_CollectionOutputTarget = 201,
    T_BufferingOutputTarget = 202,
    T_StemInputSource = 203,
    T_StreamObjectInputSource = 204,
    T_StreamInputSource = 205,
    T_ArrayInputSource = 206,
    T_RexxQueueOutputTarget = 207,

    T_Last_Transient_Class = 207,
    T_Last_Primitive_Class = 207,
    T_Last_Class_Type = 207,
    
} ClassTypeCode;

/* -------------------------------------------------------------------------- */
/* --            ==================================================        -- */
/* --            DO NOT CHANGE THIS FILE, ALL CHANGES WILL BE LOST!        -- */
/* --            ==================================================        -- */
/* -------------------------------------------------------------------------- */
#endif

