Reflection is the ability to get information about a class, interface, or enumeration type at run time. ABL provides reflection support using the built-in ABL class Progress.Lang.Class class, several built-in classes (e.g., Progress.Reflect.Method) designed to provide information about specific class members, and several built-in enumerations (e.g., Progress.Reflect.Flags) used to pass information to and from the reflection methods. This support allows you to get information about the type and hierarchy of a class-based object, as well as information about its members.