#include "opendylan/run-time.h"

/* Generated by Open Dylan 2014.1 for x86_64-linux */

/* Typedefs for referenced classes */

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value Pgf_cache_;
  dylan_value debug_name_;
  dylan_value generic_function_methods_;
  dylan_value discriminator_;
  dylan_value incremental_gf_module_;
  dylan_value incremental_gf_domain_info_;
  dylan_value incremental_gf_method_libraries_;
  dylan_value incremental_gf_properties_;
} _KLincremental_generic_functionGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value debug_name_;
  dylan_value class_implementation_class_;
  dylan_value class_subtype_bit_;
  dylan_value class_module_;
} _KLfunction_classGVKi;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value debug_name_;
  dylan_value class_implementation_class_;
  dylan_value class_subtype_bit_;
  dylan_value class_module_;
} _KLclassGVKd;

#define  define__KLmm_wrapperGVKi(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value mm_wrapper_implementation_class_; \
    dylan_value mm_wrapper_subtype_mask_; \
    DWORD mm_wrapper_fixed_part_; \
    DWORD mm_wrapper_variable_part_; \
    dylan_value mm_wrapper_number_patterns_; \
    DWORD mm_wrapper_pattern_element_[nrepeated+1]; \
  } _KLmm_wrapperGVKi_##nrepeated;
define__KLmm_wrapperGVKi(1);
define__KLmm_wrapperGVKi(0);

typedef struct {
  dylan_value wrapper;
  dylan_value namespace_name_;
  dylan_value library_major_version_;
  dylan_value library_minor_version_;
  dylan_value library_build_count_;
  dylan_value used_libraries_;
  dylan_value all_used_libraries_;
  dylan_value runtime_module_;
  dylan_value library_defined_generics_;
  dylan_value library_number_static_dispatches_;
  dylan_value library_number_dynamic_dispatches_;
} _KLlibraryGVKe;

typedef struct {
  dylan_value wrapper;
} _KLbooleanGVKd;

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    dylan_value vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(7);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(256);
define__KLsimple_object_vectorGVKd(3);
define__KLsimple_object_vectorGVKd(0);
define__KLsimple_object_vectorGVKd(4);

typedef struct {
  dylan_value wrapper;
  dylan_value symbol_name_;
} _KLsymbolGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value id_name_;
  dylan_value id_module_;
} _KLdefinition_idGVenvironment_protocols;

typedef struct {
  dylan_value wrapper;
  dylan_value head_;
  dylan_value tail_;
} _KLempty_listGVKd;

typedef struct {
  dylan_value wrapper;
} _KLobjectGVKd;

typedef struct {
  dylan_value wrapper;
} _KLunboundGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value Pprimitive_name_;
  dylan_value application_object_proxy_;
} _KLfunction_objectGVenvironment_protocols;

#define  define__KLsimple_closure_methodGVKi(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value xep_; \
    dylan_value function_signature_; \
    dylan_value mep_; \
    dylan_value environment_size_; \
    dylan_value environment_element_[nrepeated+1]; \
  } _KLsimple_closure_methodGVKi_##nrepeated;
define__KLsimple_closure_methodGVKi(0);

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
} _KLsignatureGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value Pprimitive_name_;
  dylan_value compiler_object_proxy_;
  dylan_value application_object_proxy_;
} _KLslot_objectGVenvironment_protocols;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value mep_;
} _KLsimple_methodGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
} _KLfunctionGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value Pprimitive_name_;
  dylan_value server_project_;
  dylan_value compiler_object_table_;
  dylan_value dfmc_database_proxy_;
  dylan_value module_name_proxies_;
} _KLdfmc_databaseGVdfmc_environment_database;

typedef struct {
  dylan_value wrapper;
  dylan_value Pprimitive_name_;
  dylan_value Pid_;
  dylan_value compiler_object_proxy_;
  dylan_value application_object_proxy_;
} _KLclass_objectGVenvironment_protocols;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value union_type1_;
  dylan_value union_type2_;
} _KLunionGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value singleton_object_;
} _KLsingletonGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
  dylan_value signature_values_;
} _KLsignatureAvaluesGVKi;

typedef struct {
  dylan_value wrapper;
  dylan_value Pprimitive_name_;
  dylan_value Pid_;
  dylan_value compiler_object_proxy_;
  dylan_value application_object_proxy_;
} _KLgeneric_function_objectGVenvironment_protocols;

typedef struct {
  dylan_value wrapper;
  dylan_value Pprimitive_name_;
  dylan_value Pid_;
  dylan_value compiler_object_proxy_;
  dylan_value application_object_proxy_;
} _KLmethod_objectGVenvironment_protocols;

typedef struct {
  dylan_value wrapper;
  dylan_value Pprimitive_name_;
  dylan_value application_object_proxy_;
} _KLapplication_objectGVenvironment_protocols;

typedef struct {
  dylan_value wrapper;
  dylan_value Pprimitive_name_;
} _KLenvironment_objectGVenvironment_protocols;

typedef struct {
  dylan_value wrapper;
  dylan_value private_shadowable_form_init_method_;
  dylan_value private_shadowable_form_system_init_method_;
  dylan_value shadowable_form_properties_flags_;
  dylan_value form_compilation_record_;
  dylan_value private_form_source_location_;
  dylan_value private_form_parent_form_;
  dylan_value form_sequence_number_;
  dylan_value private_form_dependencies_;
  dylan_value private_form_referenced_variables_;
} _KLtop_level_formGVdfmc_common;

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
} _KLobject_signatureGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value private_shadowable_form_init_method_;
  dylan_value private_shadowable_form_system_init_method_;
  dylan_value shadowable_form_properties_flags_;
  dylan_value private_shadowable_form_model_;
  dylan_value form_compilation_record_;
  dylan_value private_form_source_location_;
  dylan_value private_form_parent_form_;
  dylan_value form_sequence_number_;
  dylan_value private_form_dependencies_;
  dylan_value private_form_referenced_variables_;
  dylan_value private_form_adjectives_;
  dylan_value private_form_variable_name_or_names_;
  dylan_value form_properties_;
  dylan_value private_form_signature_;
  dylan_value private_form_body_;
  dylan_value private_form_class_;
  dylan_value private_form_signature_and_body_fragment_;
} _KLmethod_definitionGVdfmc_definitions;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value Pgf_cache_;
  dylan_value debug_name_;
  dylan_value generic_function_methods_;
  dylan_value discriminator_;
} _KLsealed_generic_functionGVKe;

typedef struct {
  dylan_value wrapper;
} _KLsequenceGVKd;

typedef struct {
  dylan_value wrapper;
} _KLvariable_nameGVdfmc_common;

typedef struct {
  dylan_value wrapper;
  dylan_value private_shadowable_form_init_method_;
  dylan_value private_shadowable_form_system_init_method_;
  dylan_value shadowable_form_properties_flags_;
  dylan_value form_compilation_record_;
  dylan_value private_form_source_location_;
  dylan_value private_form_parent_form_;
  dylan_value form_sequence_number_;
  dylan_value private_form_dependencies_;
  dylan_value private_form_referenced_variables_;
  dylan_value private_form_adjectives_;
  dylan_value private_form_variable_name_or_names_;
  dylan_value form_properties_;
  dylan_value private_form_superclass_expressions_;
  dylan_value private_form_slot_specs_;
  dylan_value private_form_inherited_slot_specs_;
  dylan_value private_form_keyword_specs_;
  dylan_value private_form_metaclass_spec_;
} _KLclass_definitionGVdfmc_definitions;

typedef struct {
  dylan_value wrapper;
  dylan_value properties_;
  dylan_value engine_node_callback_;
  dylan_value engine_node_entry_point_;
  dylan_value cache_header_engine_node_next_;
  dylan_value cache_header_engine_node_parent_;
} _KLsimple_typechecked_cache_header_engine_nodeGVKg;

typedef struct {
  dylan_value wrapper;
  dylan_value properties_;
  dylan_value engine_node_callback_;
  dylan_value engine_node_entry_point_;
} _KLabsent_engine_nodeGVKg;

typedef struct {
  dylan_value wrapper;
  dylan_value Pprimitive_name_;
  dylan_value Pid_;
  dylan_value compiler_object_proxy_;
  dylan_value application_object_proxy_;
} _KLdefinition_objectGVenvironment_protocols;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value mep_;
  dylan_value iep_;
  dylan_value keyword_specifiers_;
} _KLkeyword_methodGVKe;

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(10);

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
  dylan_value signature_keys_;
  dylan_value signature_key_types_;
} _KLkeyword_signatureGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value head_;
  dylan_value tail_;
} _KLpairGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value stretchy_representation_;
} _KLstretchy_object_vectorGVKe;


/* Typedefs for defined classes */


/* Referenced object declarations */

dylan_value KPadd_a_methodVKnI (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLincremental_generic_functionGVKe Kdo_direct_subclassesVenvironment_protocols;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLlibraryGVKe Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLincremental_generic_functionGVKe Kdo_direct_superclassesVenvironment_protocols;
extern _KLincremental_generic_functionGVKe Kdo_direct_methodsVenvironment_protocols;
extern _KLincremental_generic_functionGVKe Kdo_all_methodsVenvironment_protocols;
extern _KLincremental_generic_functionGVKe Kdo_direct_slotsVenvironment_protocols;
extern _KLincremental_generic_functionGVKe Kdo_all_superclassesVenvironment_protocols;
extern _KLincremental_generic_functionGVKe Kdo_all_slotsVenvironment_protocols;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLsymbolGVKd KJname_;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
dylan_value KmakeVKdMenvironment_protocolsM0I (dylan_value, dylan_value);
extern _KLclassGVKd KLdefinition_idGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLdefinition_idGVenvironment_protocolsW;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLincremental_generic_functionGVKe Kdo_init_keywordsVenvironment_protocols;
extern _KLincremental_generic_functionGVKe Kapplication_object_classVenvironment_protocols;
extern _KLincremental_generic_functionGVKe Kdo_macro_call_source_formsVenvironment_protocols;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
dylan_value Kslot_getterVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value server_, dylan_value slot_);
dylan_value Kslot_setterVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value server_, dylan_value slot_);
extern _KLclassGVKd KLfunction_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLfunction_objectGVenvironment_protocolsW;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLclassGVKd KLslot_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLslot_objectGVenvironment_protocolsW;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLfunctionGVKd;
extern _KLmm_wrapperGVKi_0 KLfunctionGVKdW;
extern _KLclassGVKd KLdfmc_databaseGVdfmc_environment_database;
extern _KLmm_wrapperGVKi_0 KLdfmc_databaseGVdfmc_environment_databaseW;
extern _KLclassGVKd KLclass_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLclass_objectGVenvironment_protocolsW;
extern _KLincremental_generic_functionGVKe Kfind_environment_objectVenvironment_protocols;
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
dylan_value Kunion_instanceQVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
dylan_value Ksingleton_pointer_idQ_instanceQVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLclassGVKd KLgeneric_function_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLgeneric_function_objectGVenvironment_protocolsW;
extern _KLclassGVKd KLmethod_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLmethod_objectGVenvironment_protocolsW;
extern _KLclassGVKd KLapplication_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLapplication_objectGVenvironment_protocolsW;
extern _KLclassGVKd KLenvironment_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLenvironment_objectGVenvironment_protocolsW;
extern _KLclassGVKd KLtop_level_formGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLtop_level_formGVdfmc_commonW;
dylan_value Ksource_form_variableVdfmc_environment_databaseMM0I (dylan_value);
dylan_value Kbrowsing_contextVdfmc_environment_databaseMM0I (dylan_value, dylan_value);
dylan_value Kcollect_from_all_client_contextsVdfmc_environment_databaseMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kvariable_active_method_definitionsYdfmc_derived_informationVdfmc_browser_support;
extern _KLobject_signatureGVKe KDsignature_LobjectG_object_rest_value_1VKi;
extern _KLclassGVKd KLobject_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLobject_signatureGVKeW;
extern _KLsimple_methodGVKe Kclass_definition_init_keywordsYdfmc_derived_informationVdfmc_browser_support;
extern _KLsimple_methodGVKe Kform_slot_specsVdfmc_definitionsMM0;
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
extern _KLsimple_methodGVKe Kslot_definition_keywordYdfmc_derived_informationVdfmc_browser_support;
extern _KLsimple_methodGVKe Kslot_definition_typeYdfmc_derived_informationVdfmc_browser_support;
extern _KLclassGVKd KLmethod_definitionGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLmethod_definitionGVdfmc_definitionsW;
dylan_value Kfunctional_parameter_typesYdfmc_derived_informationVdfmc_browser_supportI (dylan_value);
extern _KLincremental_generic_functionGVKe KemptyQVKd;
extern _KLincremental_generic_functionGVKe KelementVKd;
dylan_value Kfunctional_keysYdfmc_derived_informationVdfmc_browser_supportI (dylan_value);
extern _KLsealed_generic_functionGVKe KmapVKd;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
dylan_value Kmake_environment_objectVenvironment_protocolsMM2I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLclassGVKd KLsequenceGVKd;
extern _KLmm_wrapperGVKi_0 KLsequenceGVKdW;
extern _KLclassGVKd KLvariable_nameGVdfmc_common;
extern _KLmm_wrapperGVKi_0 KLvariable_nameGVdfmc_commonW;
extern _KLsimple_methodGVKe Kvariable_active_definitionYdfmc_derived_informationVdfmc_browser_support;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
extern _KLclassGVKd KLclass_definitionGVdfmc_definitions;
extern _KLmm_wrapperGVKi_0 KLclass_definitionGVdfmc_definitionsW;
extern _KLsealed_generic_functionGVKe Kmake_environment_object_for_source_formVdfmc_environment_database;
extern _KLsimple_methodGVKe Kmake_environment_object_for_type_expressionVdfmc_environment_database;
extern _KLclassGVKd KLsimple_typechecked_cache_header_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLsimple_typechecked_cache_header_engine_nodeGVKgW;
extern _KLabsent_engine_nodeGVKg RSINGULAR_Labsent_engine_nodeG;
extern _KLclassGVKd KLabsent_engine_nodeGVKg;
extern _KLmm_wrapperGVKi_0 KLabsent_engine_nodeGVKgW;
extern _KLclassGVKd KLdefinition_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLdefinition_objectGVenvironment_protocolsW;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLclassGVKd KLkeyword_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureGVKeW;
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLkeyword_methodGVKe KmakeVKdMM48;
extern _KLsealed_generic_functionGVKe Kclass_all_slot_definitionsYdfmc_derived_informationVdfmc_browser_support;
extern _KLsealed_generic_functionGVKe KdoVKd;
extern _KLobject_signatureGVKe KDsignature_LobjectG_no_rest_value_1VKi;
dylan_value KLstretchy_object_vectorGZ32ZconstructorVKiMM0I (dylan_value, dylan_value);
extern _KLclassGVKd KLstretchy_object_vectorGVKe;
extern _KLmm_wrapperGVKi_0 KLstretchy_object_vectorGVKeW;
extern _KLincremental_generic_functionGVKe Kremove_duplicatesVKd;
dylan_value KaddXVKdMM3I (dylan_value, dylan_value);
extern _KLsealed_generic_functionGVKe Kclass_direct_method_definitionsYdfmc_derived_informationVdfmc_browser_support;
dylan_value Kclass_definition_superclass_typesYdfmc_derived_informationVdfmc_browser_supportI (dylan_value);
extern _KLsealed_generic_functionGVKe Kclass_direct_subclass_definitionsYdfmc_derived_informationVdfmc_browser_support;
extern dylan_value Ddylan_module_idVenvironment_protocols;
extern dylan_value DLgeneric_functionG_idVenvironment_protocols;
extern dylan_value DLmethodG_idVenvironment_protocols;
extern dylan_value DLclassG_idVenvironment_protocols;
extern dylan_value DLobjectG_idVenvironment_protocols;

/* Defined object declarations */

extern _KLkeyword_methodGVKe Kdo_direct_subclassesVenvironment_protocolsMdfmc_environment_databaseM0;
dylan_value Kdo_direct_subclassesVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLkeyword_methodGVKe Kdo_direct_superclassesVenvironment_protocolsMdfmc_environment_databaseM0;
dylan_value Kdo_direct_superclassesVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLkeyword_methodGVKe Kdo_direct_methodsVenvironment_protocolsMdfmc_environment_databaseM0;
dylan_value Kdo_direct_methodsVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLkeyword_methodGVKe Kdo_all_methodsVenvironment_protocolsMdfmc_environment_databaseM0;
dylan_value Kdo_all_methodsVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLkeyword_methodGVKe Kdo_direct_slotsVenvironment_protocolsMdfmc_environment_databaseM0;
dylan_value Kdo_direct_slotsVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLkeyword_methodGVKe Kdo_all_superclassesVenvironment_protocolsMdfmc_environment_databaseM0;
dylan_value Kdo_all_superclassesVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLkeyword_methodGVKe Kdo_all_slotsVenvironment_protocolsMdfmc_environment_databaseM0;
dylan_value Kdo_all_slotsVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLbyte_stringGVKd_10 K22;
static _KLsymbolGVKd KJmodule_;
static _KLpairGVKd K24;
extern _KLkeyword_methodGVKe Kdo_init_keywordsVenvironment_protocolsMdfmc_environment_databaseM0;
dylan_value Kdo_init_keywordsVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM0;
dylan_value Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM1;
dylan_value Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM1I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM2;
dylan_value Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM2I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM3;
dylan_value Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM3I (dylan_value, dylan_value);
extern _KLsimple_methodGVKe Kdo_macro_call_source_formsVenvironment_protocolsMdfmc_environment_databaseM2;
dylan_value Kdo_macro_call_source_formsVenvironment_protocolsMdfmc_environment_databaseM2I (dylan_value, dylan_value, dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_macro_call_source_formsF45;
static dylan_value Kanonymous_of_do_macro_call_source_formsF45I (dylan_value);
static _KLsignatureGVKe K46;
static _KLsimple_object_vectorGVKd_1 K47;
static _KLsignatureGVKe K48;
static _KLsimple_object_vectorGVKd_3 K49;
static _KLunionGVKe K50;
static _KLsingletonGVKd K51;
static _KLsignatureAvaluesGVKi K52;
static _KLsimple_object_vectorGVKd_2 K53;
static _KLsimple_object_vectorGVKd_1 K54;
static _KLsignatureAvaluesGVKi K55;
static _KLsimple_object_vectorGVKd_2 K56;
static _KLsignatureAvaluesGVKi K57;
static _KLsimple_object_vectorGVKd_2 K58;
static _KLsignatureAvaluesGVKi K59;
static _KLsimple_object_vectorGVKd_2 K60;
static _KLsimple_closure_methodGVKi_0 Kdo_keywordF88;
static dylan_value Kdo_keywordF88I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_closure_methodGVKi_0 Kdo_class_keywordsF75;
static dylan_value Kdo_class_keywordsF75I (dylan_value);
dylan_value Kall_initialize_methodsVdfmc_environment_databaseMM0I (dylan_value);
dylan_value Kdo_class_and_superclassesVdfmc_environment_databaseMM0I (dylan_value, dylan_value, dylan_value, dylan_value, dylan_value, dylan_value);
static _KLsimple_closure_methodGVKi_0 Kdo_classF69;
static dylan_value Kdo_classF69I (dylan_value);
static _KLsignatureGVKe K70;
static _KLsimple_object_vectorGVKd_1 K71;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_all_initialize_methodsF74;
static dylan_value Kanonymous_of_all_initialize_methodsF74I (dylan_value);
extern _KLsimple_methodGVKe Kinitialize_keywords_for_classVdfmc_environment_databaseMM0;
dylan_value Kinitialize_keywords_for_classVdfmc_environment_databaseMM0I (dylan_value, dylan_value, dylan_value);
static _KLsimple_closure_methodGVKi_0 Ktype_definitionF81;
static dylan_value Ktype_definitionF81I (dylan_value);
static _KLunionGVKe K80;
static _KLsignatureGVKe K82;
static _KLsignatureAvaluesGVKi K83;
static _KLsimple_object_vectorGVKd_3 K84;
static _KLsimple_object_vectorGVKd_3 K85;
static _KLsignatureGVKe K86;
static _KLsimple_object_vectorGVKd_1 K87;
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K89;
static _KLsignatureGVKe K90;
static _KLsimple_object_vectorGVKd_7 K91;
static _KLunionGVKe K92;
static _KLkeyword_signatureGVKe K93;
static _KLsimple_object_vectorGVKd_4 K94;
static _KLsymbolGVKd KJclient_;
static _KLsymbolGVKd KJinheritedQ_;
static _KLbyte_stringGVKd_10 K97;
static _KLbyte_stringGVKd_6 K98;
static _KLsimple_object_vectorGVKd_2 K99;
static _KLsimple_object_vectorGVKd_2 K100;
static _KLbyte_stringGVKd_6 K101;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_all_slotsF107;
static dylan_value Kanonymous_of_do_all_slotsF107I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_all_slotsF106;
static dylan_value Kanonymous_of_do_all_slotsF106I (dylan_value);
static _KLkeyword_signatureGVKe K108;
static _KLsimple_object_vectorGVKd_2 K109;
static _KLsimple_object_vectorGVKd_1 K110;
dylan_value Kclass_all_superclassesVdfmc_environment_databaseI (dylan_value, dylan_value);
static _KLsimple_closure_methodGVKi_0 Kdo_superclassesF114;
static dylan_value Kdo_superclassesF114I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_direct_slotsF117;
static dylan_value Kanonymous_of_do_direct_slotsF117I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kdo_methodsF120;
static dylan_value Kdo_methodsF120I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_all_methodsF123;
static dylan_value Kanonymous_of_do_all_methodsF123I (dylan_value);
static _KLsignatureGVKe K124;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_direct_methodsF127;
static dylan_value Kanonymous_of_do_direct_methodsF127I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_direct_superclassesF130;
static dylan_value Kanonymous_of_do_direct_superclassesF130I (dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_direct_subclassesF134;
static dylan_value Kanonymous_of_do_direct_subclassesF134I (dylan_value);
static _KLsimple_typechecked_cache_header_engine_nodeGVKg K133;

/* Indirection variables */

static dylan_value IKJmodule_ = &KJmodule_;
static dylan_value IKJclient_ = &KJclient_;
static dylan_value IKJinheritedQ_ = &KJinheritedQ_;

/* Variables */

dylan_value Dinitialize_idVdfmc_environment_database = &KPunboundVKi;

/* Objects */

_KLkeyword_methodGVKe Kdo_direct_subclassesVenvironment_protocolsMdfmc_environment_databaseM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K108,
  &key_mep_5,
  &Kdo_direct_subclassesVenvironment_protocolsMdfmc_environment_databaseM0I,
  &K109
};

_KLkeyword_methodGVKe Kdo_direct_superclassesVenvironment_protocolsMdfmc_environment_databaseM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K108,
  &key_mep_5,
  &Kdo_direct_superclassesVenvironment_protocolsMdfmc_environment_databaseM0I,
  &K109
};

_KLkeyword_methodGVKe Kdo_direct_methodsVenvironment_protocolsMdfmc_environment_databaseM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K108,
  &key_mep_5,
  &Kdo_direct_methodsVenvironment_protocolsMdfmc_environment_databaseM0I,
  &K109
};

_KLkeyword_methodGVKe Kdo_all_methodsVenvironment_protocolsMdfmc_environment_databaseM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K108,
  &key_mep_5,
  &Kdo_all_methodsVenvironment_protocolsMdfmc_environment_databaseM0I,
  &K109
};

_KLkeyword_methodGVKe Kdo_direct_slotsVenvironment_protocolsMdfmc_environment_databaseM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K108,
  &key_mep_5,
  &Kdo_direct_slotsVenvironment_protocolsMdfmc_environment_databaseM0I,
  &K109
};

_KLkeyword_methodGVKe Kdo_all_superclassesVenvironment_protocolsMdfmc_environment_databaseM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K108,
  &key_mep_5,
  &Kdo_all_superclassesVenvironment_protocolsMdfmc_environment_databaseM0I,
  &K109
};

_KLkeyword_methodGVKe Kdo_all_slotsVenvironment_protocolsMdfmc_environment_databaseM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K108,
  &key_mep_5,
  &Kdo_all_slotsVenvironment_protocolsMdfmc_environment_databaseM0I,
  &K109
};

static _KLbyte_stringGVKd_10 K22 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 41,
  "initialize"
};

static _KLsymbolGVKd KJmodule_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K101
};

static _KLpairGVKd K24 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVKdMM48,
  &KPempty_listVKi
};

_KLkeyword_methodGVKe Kdo_init_keywordsVenvironment_protocolsMdfmc_environment_databaseM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_6,
  &K93,
  &key_mep_6,
  &Kdo_init_keywordsVenvironment_protocolsMdfmc_environment_databaseM0I,
  &K94
};

_KLsimple_methodGVKe Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K59,
  &Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM0I
};

_KLsimple_methodGVKe Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K57,
  &Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM1I
};

_KLsimple_methodGVKe Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K55,
  &Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM2I
};

_KLsimple_methodGVKe Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K52,
  &Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM3I
};

_KLsimple_methodGVKe Kdo_macro_call_source_formsVenvironment_protocolsMdfmc_environment_databaseM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K48,
  &Kdo_macro_call_source_formsVenvironment_protocolsMdfmc_environment_databaseM2I
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_macro_call_source_formsF45 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K46,
  &Kanonymous_of_do_macro_call_source_formsF45I,
  (dylan_value) 1
};

static _KLsignatureGVKe K46 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 44040197,
  &K47
};

static _KLsimple_object_vectorGVKd_1 K47 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLslot_objectGVenvironment_protocols
};

static _KLsignatureGVKe K48 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41943053,
  &K49
};

static _KLsimple_object_vectorGVKd_3 K49 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &KLfunctionGVKd,
  &KLdfmc_databaseGVdfmc_environment_database,
  &KLclass_objectGVenvironment_protocols
};

static _KLunionGVKe K50 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K51,
  &KLclass_objectGVenvironment_protocols
};

static _KLsingletonGVKd K51 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KPfalseVKi
};

static _KLsignatureAvaluesGVKi K52 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K53,
  &K54
};

static _KLsimple_object_vectorGVKd_2 K53 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLdfmc_databaseGVdfmc_environment_database,
  &KLgeneric_function_objectGVenvironment_protocols
};

static _KLsimple_object_vectorGVKd_1 K54 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &K50
};

static _KLsignatureAvaluesGVKi K55 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K56,
  &K54
};

static _KLsimple_object_vectorGVKd_2 K56 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLdfmc_databaseGVdfmc_environment_database,
  &KLmethod_objectGVenvironment_protocols
};

static _KLsignatureAvaluesGVKi K57 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K58,
  &K54
};

static _KLsimple_object_vectorGVKd_2 K58 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLdfmc_databaseGVdfmc_environment_database,
  &KLclass_objectGVenvironment_protocols
};

static _KLsignatureAvaluesGVKi K59 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33555465,
  &K60,
  &K54
};

static _KLsimple_object_vectorGVKd_2 K60 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLdfmc_databaseGVdfmc_environment_database,
  &KLapplication_objectGVenvironment_protocols
};

static _KLsimple_closure_methodGVKi_0 Kdo_keywordF88 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_7,
  &K90,
  &Kdo_keywordF88I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kdo_class_keywordsF75 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K86,
  &Kdo_class_keywordsF75I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kdo_classF69 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K70,
  &Kdo_classF69I,
  (dylan_value) 1
};

static _KLsignatureGVKe K70 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 44040197,
  &K71
};

static _KLsimple_object_vectorGVKd_1 K71 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLenvironment_objectGVenvironment_protocols
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_all_initialize_methodsF74 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_all_initialize_methodsF74I,
  (dylan_value) 1
};

_KLsimple_methodGVKe Kinitialize_keywords_for_classVdfmc_environment_databaseMM0 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_3,
  &K83,
  &Kinitialize_keywords_for_classVdfmc_environment_databaseMM0I
};

static _KLsimple_closure_methodGVKi_0 Ktype_definitionF81 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K82,
  &Ktype_definitionF81I,
  (dylan_value) 1
};

static _KLunionGVKe K80 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K51,
  &KLmethod_objectGVenvironment_protocols
};

static _KLsignatureGVKe K82 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41944069,
  &KDsignature_LobjectG_typesVKi
};

static _KLsignatureAvaluesGVKi K83 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (dylan_value) 33557517,
  &K84,
  &K85
};

static _KLsimple_object_vectorGVKd_3 K84 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &KLdfmc_databaseGVdfmc_environment_database,
  &KLclass_definitionGVdfmc_definitions,
  &KLsequenceGVKd
};

static _KLsimple_object_vectorGVKd_3 K85 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 13,
  &K80,
  &KLsequenceGVKd,
  &KLsequenceGVKd
};

static _KLsignatureGVKe K86 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 44040197,
  &K87
};

static _KLsimple_object_vectorGVKd_1 K87 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KLclass_objectGVenvironment_protocols
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K89 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (dylan_value) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kmake_environment_object_for_source_formVdfmc_environment_database
};

static _KLsignatureGVKe K90 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 44040221,
  &K91
};

static _KLsimple_object_vectorGVKd_7 K91 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 29,
  &KLobjectGVKd,
  &KLobjectGVKd,
  &K92,
  &KLsymbolGVKd,
  &KLobjectGVKd,
  &KLbooleanGVKd,
  &KLbooleanGVKd
};

static _KLunionGVKe K92 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K51,
  &KLdefinition_objectGVenvironment_protocols
};

static _KLkeyword_signatureGVKe K93 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (dylan_value) 42205197,
  &K49,
  &K99,
  &K100
};

static _KLsimple_object_vectorGVKd_4 K94 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 17,
  &KJclient_,
  &KPfalseVKi,
  &KJinheritedQ_,
  &KPtrueVKi
};

static _KLsymbolGVKd KJclient_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K98
};

static _KLsymbolGVKd KJinheritedQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K97
};

static _KLbyte_stringGVKd_10 K97 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 41,
  "inherited?"
};

static _KLbyte_stringGVKd_6 K98 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "client"
};

static _KLsimple_object_vectorGVKd_2 K99 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJclient_,
  &KJinheritedQ_
};

static _KLsimple_object_vectorGVKd_2 K100 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KLobjectGVKd,
  &KLbooleanGVKd
};

static _KLbyte_stringGVKd_6 K101 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "module"
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_all_slotsF107 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_no_rest_value_1VKi,
  &Kanonymous_of_do_all_slotsF107I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_all_slotsF106 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K86,
  &Kanonymous_of_do_all_slotsF106I,
  (dylan_value) 1
};

static _KLkeyword_signatureGVKe K108 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (dylan_value) 42205197,
  &K49,
  &K110,
  &KDsignature_LobjectG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K109 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 9,
  &KJclient_,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_1 K110 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (dylan_value) 5,
  &KJclient_
};

static _KLsimple_closure_methodGVKi_0 Kdo_superclassesF114 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K70,
  &Kdo_superclassesF114I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_direct_slotsF117 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_no_rest_value_1VKi,
  &Kanonymous_of_do_direct_slotsF117I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kdo_methodsF120 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &K124,
  &Kdo_methodsF120I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_all_methodsF123 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_do_all_methodsF123I,
  (dylan_value) 1
};

static _KLsignatureGVKe K124 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 41943045,
  &K87
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_direct_methodsF127 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_do_direct_methodsF127I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_direct_superclassesF130 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_no_rest_value_1VKi,
  &Kanonymous_of_do_direct_superclassesF130I,
  (dylan_value) 1
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_do_direct_subclassesF134 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_1,
  &KDsignature_LobjectG_object_rest_value_1VKi,
  &Kanonymous_of_do_direct_subclassesF134I,
  (dylan_value) 1
};

static _KLsimple_typechecked_cache_header_engine_nodeGVKg K133 = {
  &KLsimple_typechecked_cache_header_engine_nodeGVKgW /* wrapper */,
  (dylan_value) 65593,
  &KPfalseVKi,
  &cache_header_engine_2,
  &RSINGULAR_Labsent_engine_nodeG,
  &Kmake_environment_object_for_source_formVdfmc_environment_database
};

/* Code */

dylan_value Kdo_direct_subclassesVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value function_, dylan_value server_, dylan_value class_, dylan_value Urest_, dylan_value client_) {
  dylan_value class_definition_;
  dylan_value T7;
  dylan_value direct_subclasses_;
  dylan_value T9;
  dylan_value T10;
  dylan_value context_;
  dylan_value T12;
  DWORD T13T, T13;
  dylan_value T14;
  DWORD T15;
  dylan_value T16;
  dylan_value T17;
  dylan_value environment_subclass_;
  DWORD T19;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:11
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:15
  T9 = SLOT_VALUE_INITD(server_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:16
  T10 = SLOT_VALUE_INITD(class_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:16
  primitive_type_check(T10, &KLclass_definitionGVdfmc_definitions);
  class_definition_ = T10;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:17
  context_ = Kbrowsing_contextVdfmc_environment_databaseMM0I(server_, class_definition_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:20
  T7 = MAKE_CLOSURE_INITD(&Kanonymous_of_do_direct_subclassesF134, 1, class_definition_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:19
  direct_subclasses_ = Kcollect_from_all_client_contextsVdfmc_environment_databaseMM0I(T7, server_, context_, &KPempty_vectorVKi, &KPtrueVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:24
  T14 = SLOT_VALUE_INITD(direct_subclasses_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:24
  T15 = primitive_cast_integer_as_raw(T14);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:24
  T13T = 1;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:24
    T13 = T13T;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:24
    T16 = primitive_machine_word_equalQ(T13,T15);
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:24
    if (T16 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:24
      T17 = REPEATED_DYLAN_VALUE_SLOT_VALUE_TAGGED(direct_subclasses_, 1, T13);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:26
      ENGINE_NODE_CALL_PROLOG(&Kmake_environment_object_for_source_formVdfmc_environment_database, &K133, 2);
      environment_subclass_ = ENGINE_NODE_CALL2(&K133, T9, T17);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:27
      CALL1(function_, environment_subclass_);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:24
      T19 = primitive_machine_word_add_signal_overflow(T13,4);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:24
      T13T = T19;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:24
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:24
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:24
  T12 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:11
  MV_SET_COUNT(0);
  return(T12);
}

dylan_value Kdo_direct_superclassesVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value function_, dylan_value server_, dylan_value class_, dylan_value Urest_, dylan_value client_) {
  dylan_value class_definition_;
  dylan_value direct_superclasses_;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:32
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:36
  T10 = SLOT_VALUE_INITD(class_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:36
  primitive_type_check(T10, &KLclass_definitionGVdfmc_definitions);
  class_definition_ = T10;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:37
  direct_superclasses_ = Kclass_definition_superclass_typesYdfmc_derived_informationVdfmc_browser_supportI(class_definition_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:38
  T8 = MAKE_CLOSURE_INITD(&Kanonymous_of_do_direct_superclassesF130, 2, server_, function_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:38
  T9 = CALL2(&KdoVKd, T8, direct_superclasses_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:32
  MV_SET_COUNT(0);
  return(T9);
}

dylan_value Kdo_direct_methodsVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value function_, dylan_value server_, dylan_value class_, dylan_value Urest_, dylan_value client_) {
  dylan_value class_definition_;
  dylan_value T7;
  dylan_value direct_methods_;
  dylan_value T9;
  dylan_value T10;
  dylan_value context_;
  dylan_value T12;
  DWORD T13T, T13;
  dylan_value T14;
  DWORD T15;
  dylan_value T16;
  dylan_value T17;
  dylan_value environment_method_;
  DWORD T19;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:45
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:49
  T9 = SLOT_VALUE_INITD(server_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:50
  T10 = SLOT_VALUE_INITD(class_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:50
  primitive_type_check(T10, &KLclass_definitionGVdfmc_definitions);
  class_definition_ = T10;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:51
  context_ = Kbrowsing_contextVdfmc_environment_databaseMM0I(server_, class_definition_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:54
  T7 = MAKE_CLOSURE_INITD(&Kanonymous_of_do_direct_methodsF127, 1, class_definition_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:53
  direct_methods_ = Kcollect_from_all_client_contextsVdfmc_environment_databaseMM0I(T7, server_, context_, &KPempty_vectorVKi, &KPtrueVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:58
  T14 = SLOT_VALUE_INITD(direct_methods_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:58
  T15 = primitive_cast_integer_as_raw(T14);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:58
  T13T = 1;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:58
    T13 = T13T;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:58
    T16 = primitive_machine_word_equalQ(T13,T15);
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:58
    if (T16 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:58
      T17 = REPEATED_DYLAN_VALUE_SLOT_VALUE_TAGGED(direct_methods_, 1, T13);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:60
      environment_method_ = Kmake_environment_objectVenvironment_protocolsMM2I(&KLmethod_objectGVenvironment_protocols, &KPempty_vectorVKi, T9, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi, T17);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:63
      CALL1(function_, environment_method_);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:58
      T19 = primitive_machine_word_add_signal_overflow(T13,4);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:58
      T13T = T19;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:58
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:58
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:58
  T12 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:45
  MV_SET_COUNT(0);
  return(T12);
}

dylan_value Kdo_all_methodsVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value function_, dylan_value server_, dylan_value class_, dylan_value Urest_, dylan_value client_) {
  dylan_value T6;
  dylan_value object_;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:85
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:89
  T10 = SLOT_VALUE_INITD(server_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:90
  T6 = MAKE_CLOSURE_INITD(&Kdo_methodsF120, 3, T10, server_, function_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:110
  object_ = CALL2(&Kfind_environment_objectVenvironment_protocols, server_, DLobjectG_idVenvironment_protocols);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:116
  T11 = primitive_idQ(class_,object_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:116
  if (T11 != &KPfalseVKi) {
    T8 = &KPfalseVKi;
  } else {
    T8 = object_;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:116
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:113
  T9 = Kdo_class_and_superclassesVdfmc_environment_databaseMM0I(T6, server_, class_, &KPempty_vectorVKi, &KPfalseVKi, T8);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:85
  MV_SET_COUNT(0);
  return(T9);
}

dylan_value Kdo_direct_slotsVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value function_, dylan_value server_, dylan_value class_, dylan_value Urest_, dylan_value client_) {
  dylan_value direct_slots_;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:121
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:125
  T9 = SLOT_VALUE_INITD(server_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:126
  T10 = SLOT_VALUE_INITD(class_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:127
  direct_slots_ = CALL1(&Kform_slot_specsVdfmc_definitionsMM0, T10);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:128
  T7 = MAKE_CLOSURE_INITD(&Kanonymous_of_do_direct_slotsF117, 2, T9, function_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:128
  T8 = CALL2(&KdoVKd, T7, direct_slots_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:121
  MV_SET_COUNT(0);
  return(T8);
}

dylan_value Kdo_all_superclassesVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value function_, dylan_value server_, dylan_value class_, dylan_value Urest_, dylan_value client_) {
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14T, T14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:156
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
  T6 = Kclass_all_superclassesVdfmc_environment_databaseI(server_, class_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T8 = CONGRUENT_CALL1(T6);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
  T9 = T8;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
  T10 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
  T11 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
  T12 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
  T13 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
  T14T = T9;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
    T14 = T14T;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
    T15 = CALL3(T12, T6, T14, T10);
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
    if (T15 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
      T16 = CALL2(T13, T6, T14);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
      CALL1(function_, T16);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
      T17 = CALL2(T11, T6, T14);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
      T14T = T17;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
  T7 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:156
  MV_SET_COUNT(0);
  return(T7);
}

dylan_value Kdo_all_slotsVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value function_, dylan_value server_, dylan_value class_, dylan_value Urest_, dylan_value client_) {
  dylan_value class_definition_;
  dylan_value all_slots_;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value context_;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:164
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:168
  T13 = SLOT_VALUE_INITD(server_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:169
  T14 = SLOT_VALUE_INITD(class_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:169
  primitive_type_check(T14, &KLclass_definitionGVdfmc_definitions);
  class_definition_ = T14;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:170
  context_ = Kbrowsing_contextVdfmc_environment_databaseMM0I(server_, class_definition_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:171
  CONGRUENT_CALL_PROLOG(&Kclass_all_slot_definitionsYdfmc_derived_informationVdfmc_browser_support, 2);
  all_slots_ = CONGRUENT_CALL2(context_, class_definition_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:177
  if (all_slots_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:184
    T10 = MAKE_CLOSURE_INITD(&Kanonymous_of_do_all_slotsF107, 2, T13, function_);
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:184
    T11 = CALL2(&KdoVKd, T10, all_slots_);
    T12 = T11;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:179
    T8 = MAKE_CLOSURE_INITD(&Kanonymous_of_do_all_slotsF106, 3, client_, server_, function_);
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:178
    T9 = Kdo_class_and_superclassesVdfmc_environment_databaseMM0I(T8, server_, class_, &KPempty_vectorVKi, &KPfalseVKi, &KPfalseVKi);
    T12 = T9;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:177
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:164
  MV_SET_COUNT(0);
  return(T12);
}

dylan_value Kdo_init_keywordsVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value function_, dylan_value server_, dylan_value main_class_, dylan_value Urest_, dylan_value client_, dylan_value inheritedQ_) {
  dylan_value inheritedQF7;
  dylan_value initialize_methods_;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:250
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:250
  primitive_type_check(inheritedQ_, &KLbooleanGVKd);
  inheritedQF7 = inheritedQ_;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:256
  initialize_methods_ = Kall_initialize_methodsVdfmc_environment_databaseMM0I(server_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:257
  T9 = &Kdo_keywordF88;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:257
  T10 = MAKE_CLOSURE(&Kdo_class_keywordsF75, 5);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:257
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:257
  INIT_CLOSURE(T10, 5, T9, initialize_methods_, main_class_, server_, function_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:300
  if (inheritedQF7 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:301
    T11 = Kdo_class_and_superclassesVdfmc_environment_databaseMM0I(T10, server_, main_class_, &KPempty_vectorVKi, &KPfalseVKi, &KPfalseVKi);
    T13 = T11;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:303
    get_teb()->function = T10;
    T12 = Kdo_class_keywordsF75I(main_class_);
    T13 = T12;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:300
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:250
  MV_SET_COUNT(0);
  return(T13);
}

dylan_value Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM0I (dylan_value server_, dylan_value object_) {
  dylan_value T3_0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:307
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:310
  T3_0 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:307
  MV_SET_COUNT(1);
  return(T3_0);
}

dylan_value Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM1I (dylan_value server_, dylan_value object_) {
  dylan_value T3_0;
  dylan_value T4_0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:313
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:316
  T3_0 = CALL2(&Kfind_environment_objectVenvironment_protocols, server_, DLclassG_idVenvironment_protocols);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:313
  T4_0 = T3_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T3_0);
    primitive_type_check(T4_0, &K50);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:313
  MV_SET_COUNT(1);
  return(T4_0);
}

dylan_value Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM2I (dylan_value server_, dylan_value object_) {
  dylan_value T3_0;
  dylan_value T4_0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:319
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:322
  T3_0 = CALL2(&Kfind_environment_objectVenvironment_protocols, server_, DLmethodG_idVenvironment_protocols);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:319
  T4_0 = T3_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T3_0);
    primitive_type_check(T4_0, &K50);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:319
  MV_SET_COUNT(1);
  return(T4_0);
}

dylan_value Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM3I (dylan_value server_, dylan_value object_) {
  dylan_value T3_0;
  dylan_value T4_0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:325
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:328
  T3_0 = CALL2(&Kfind_environment_objectVenvironment_protocols, server_, DLgeneric_functionG_idVenvironment_protocols);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:325
  T4_0 = T3_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T3_0);
    primitive_type_check(T4_0, &K50);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:325
  MV_SET_COUNT(1);
  return(T4_0);
}

dylan_value Kdo_macro_call_source_formsVenvironment_protocolsMdfmc_environment_databaseM2I (dylan_value function_, dylan_value server_, dylan_value class_) {
  dylan_value T4;
  dylan_value T5;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:335
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:340
  T4 = MAKE_CLOSURE_INITD(&Kanonymous_of_do_macro_call_source_formsF45, 2, server_, function_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:339
  T5 = Kdo_direct_slotsVenvironment_protocolsMdfmc_environment_databaseM0I(T4, server_, class_, &KPempty_vectorVKi, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:335
  MV_SET_COUNT(0);
  return(T5);
}

static dylan_value Kanonymous_of_do_macro_call_source_formsF45I (dylan_value slot_) {
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value getter_;
  dylan_value setter_;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:340
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:341
  getter_ = Kslot_getterVenvironment_protocolsMdfmc_environment_databaseM0I(CREF(0), slot_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:342
  setter_ = Kslot_setterVenvironment_protocolsMdfmc_environment_databaseM0I(CREF(0), slot_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:343
  if (getter_ != &KPfalseVKi) {
    T5 = getter_;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:343
    CALL1(CREF(1), T5);
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:343
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:344
  if (setter_ != &KPfalseVKi) {
    T6 = setter_;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:344
    T2 = CALL1(CREF(1), T6);
    T4 = T2;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:344
    T3 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T4 = T3;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:344
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:340
  return(T4);
}

static dylan_value Kdo_keywordF88I (dylan_value server_, dylan_value function_, dylan_value definition_, dylan_value keyword_, dylan_value type_, dylan_value requiredQ_, dylan_value inheritedQ_) {
  dylan_value definitionF7;
  dylan_value T8;
  dylan_value T9;
  dylan_value typeF10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:257
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:257
  definitionF7 = definition_;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:261
  if (type_ != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:264
    T13 = primitive_instanceQ(type_,&KLtop_level_formGVdfmc_common);
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:261
    if (T13 != &KPfalseVKi) {
      T12 = type_;
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:265
      ENGINE_NODE_CALL_PROLOG(&Kmake_environment_object_for_source_formVdfmc_environment_database, &K89, 2);
      T14 = ENGINE_NODE_CALL2(&K89, server_, T12);
      T9 = T14;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:267
      T8 = CALL2(&Kmake_environment_object_for_type_expressionVdfmc_environment_database, server_, type_);
      T9 = T8;
    }
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:261
    typeF10 = T9;
  } else {
    typeF10 = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:261
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:269
  T11 = CALL5(function_, definitionF7, keyword_, typeF10, requiredQ_, inheritedQ_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:257
  return(T11);
}

static dylan_value Kdo_class_keywordsF75I (dylan_value class_) {
  dylan_value init_keywords_;
  dylan_value direct_slots_;
  dylan_value T4_0;
  dylan_value T4_1;
  dylan_value T4_2;
  dylan_value environment_method_;
  dylan_value method_keywords_;
  dylan_value method_keyword_types_;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14T, T14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17;
  dylan_value T18;
  dylan_value T19;
  dylan_value T20;
  dylan_value T21;
  dylan_value T22;
  dylan_value T23;
  dylan_value T24T, T24;
  dylan_value T25;
  dylan_value T26;
  dylan_value T27_0;
  dylan_value T27_1;
  dylan_value keyword_;
  dylan_value requiredQ_;
  dylan_value type_;
  dylan_value T31;
  dylan_value T32;
  dylan_value T33;
  dylan_value T34;
  dylan_value T35;
  dylan_value T36;
  dylan_value T37;
  dylan_value T38;
  dylan_value T39;
  dylan_value T40;
  dylan_value T41;
  dylan_value T42;
  dylan_value T43;
  dylan_value T44T, T44;
  dylan_value T45T, T45;
  dylan_value T46;
  dylan_value T47;
  dylan_value T48;
  dylan_value T49;
  dylan_value T50;
  dylan_value T51;
  dylan_value T52;
  dylan_value T53;
  dylan_value T54;
  dylan_value T55;
  dylan_value T56;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:257
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:277
  T54 = SLOT_VALUE_INITD(class_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:278
  init_keywords_ = CALL1(&Kclass_definition_init_keywordsYdfmc_derived_informationVdfmc_browser_support, T54);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:279
  direct_slots_ = CALL1(&Kform_slot_specsVdfmc_definitionsMM0, T54);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:281
  T4_0 = CALL3(&Kinitialize_keywords_for_classVdfmc_environment_databaseMM0, CREF(3), T54, CREF(1));
  T4_1 = MV_GET_ELT(1);
  T4_2 = MV_GET_ELT(2);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:280
  environment_method_ = T4_0;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:280
  method_keywords_ = T4_1;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:280
  method_keyword_types_ = T4_2;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:283
  T56 = primitive_idQ(class_,CREF(2));
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:283
  T55 = primitive_not(T56);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:284
  T8 = CALL1(&Kforward_iteration_protocolVKd, init_keywords_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:284
  T9 = T8;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:284
  T10 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:284
  T11 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:284
  T12 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:284
  T13 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:284
  T14T = T9;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:284
    T14 = T14T;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:284
    T15 = CALL3(T12, init_keywords_, T14, T10);
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:284
    if (T15 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:284
      T16 = CALL2(T13, init_keywords_, T14);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:285
      CALL7(CREF(0), CREF(3), CREF(4), class_, T16, &KPfalseVKi, &KPfalseVKi, T55);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:284
      T17 = CALL2(T11, init_keywords_, T14);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:284
      T14T = T17;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:284
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:284
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:287
  T18 = CALL1(&Kforward_iteration_protocolVKd, direct_slots_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:287
  T19 = T18;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:287
  T20 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:287
  T21 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:287
  T22 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:287
  T23 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:287
  T24T = T19;
L1: ;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:287
    T24 = T24T;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:287
    T25 = CALL3(T22, direct_slots_, T24, T20);
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:287
    if (T25 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:287
      T26 = CALL2(T23, direct_slots_, T24);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:288
      T27_0 = CALL1(&Kslot_definition_keywordYdfmc_derived_informationVdfmc_browser_support, T26);
      T27_1 = MV_GET_ELT(1);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:288
      keyword_ = T27_0;
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:288
      requiredQ_ = T27_1;
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:289
      if (keyword_ != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:290
        type_ = CALL1(&Kslot_definition_typeYdfmc_derived_informationVdfmc_browser_support, T26);
        // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:291
        CALL7(CREF(0), CREF(3), CREF(4), class_, keyword_, type_, requiredQ_, T55);
      }
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:289
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:287
      T31 = CALL2(T21, direct_slots_, T24);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:287
      T24T = T31;
      goto L1;
    }
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:287
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:287
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T32 = CONGRUENT_CALL1(method_keywords_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
  T33 = T32;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
  T34 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
  T35 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
  T36 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
  T37 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T38 = CONGRUENT_CALL1(method_keyword_types_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
  T39 = T38;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
  T40 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
  T41 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
  T42 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
  T43 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
  T44T = T33;
  T45T = T39;
L2: ;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
    T44 = T44T;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
    T45 = T45T;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
    T46 = CALL3(T36, method_keywords_, T44, T34);
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
    if (T46 != &KPfalseVKi) {
      T48 = &KPtrueVKi;
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
      T47 = CALL3(T42, method_keyword_types_, T45, T40);
      T48 = T47;
    }
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
    if (T48 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
      T49 = CALL2(T37, method_keywords_, T44);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
      T50 = CALL2(T43, method_keyword_types_, T45);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:296
      CALL7(CREF(0), CREF(3), CREF(4), environment_method_, T49, T50, &KPfalseVKi, T55);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
      T51 = CALL2(T35, method_keywords_, T44);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
      T52 = CALL2(T41, method_keyword_types_, T45);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
      T44T = T51;
      T45T = T52;
      goto L2;
    }
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
    T53 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:294
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:257
  return(T53);
}

dylan_value Kall_initialize_methodsVdfmc_environment_databaseMM0I (dylan_value server_) {
  dylan_value initialize_function_;
  dylan_value definition_;
  dylan_value variable_;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value Utmp_;
  dylan_value T9_0;
  dylan_value T10_0;
  dylan_value T11_0;
  dylan_value T12;
  dylan_value T13;
  dylan_value T14;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:200
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:203
  T14 = SLOT_VALUE_INITD(server_, 1);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:203
  initialize_function_ = CALL2(&Kfind_environment_objectVenvironment_protocols, T14, Dinitialize_idVdfmc_environment_database);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:204
  T15 = primitive_instanceQ(initialize_function_,&KLgeneric_function_objectGVenvironment_protocols);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:204
  if (T15 != &KPfalseVKi) {
    T12 = initialize_function_;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:205
    T16 = SLOT_VALUE_INITD(T12, 2);
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:205
    primitive_type_check(T16, &KLtop_level_formGVdfmc_common);
    definition_ = T16;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:206
    variable_ = Ksource_form_variableVdfmc_environment_databaseMM0I(definition_);
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:207
    if (variable_ != &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:209
      T5 = MAKE_CLOSURE_INITD(&Kanonymous_of_all_initialize_methodsF74, 1, variable_);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:212
      T17 = Kbrowsing_contextVdfmc_environment_databaseMM0I(server_, definition_);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:208
      T6 = Kcollect_from_all_client_contextsVdfmc_environment_databaseMM0I(T5, server_, T17, &KPempty_vectorVKi, &KPtrueVKi);
      T7 = T6;
    } else {
      T7 = &KPfalseVKi;
    }
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:207
    Utmp_ = T7;
  } else {
    Utmp_ = &KPfalseVKi;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:204
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:204
  if (Utmp_ != &KPfalseVKi) {
    T13 = Utmp_;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:204
    T9_0 = T13;
    T11_0 = T9_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:215
    T10_0 = &KPempty_vectorVKi;
    T11_0 = T10_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:204
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:200
  MV_SET_COUNT(1);
  return(T11_0);
}

dylan_value Kdo_class_and_superclassesVdfmc_environment_databaseMM0I (dylan_value function_, dylan_value server_, dylan_value class_, dylan_value Urest_, dylan_value non_classesQ_, dylan_value ignore_) {
  dylan_value T7;
  dylan_value T8;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:68
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:73
  T7 = MAKE_CLOSURE_INITD(&Kdo_classF69, 3, ignore_, non_classesQ_, function_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:81
  get_teb()->function = T7;
  Kdo_classF69I(class_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:82
  T8 = Kdo_all_superclassesVenvironment_protocolsMdfmc_environment_databaseM0I(T7, server_, class_, &KPempty_vectorVKi, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:68
  MV_SET_COUNT(0);
  return(T8);
}

static dylan_value Kdo_classF69I (dylan_value class_) {
  dylan_value T1;
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:73
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:75
  T6 = primitive_idQ(class_,CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:75
  if (T6 != &KPfalseVKi) {
    T2 = &KPfalseVKi;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:76
    if (CREF(1) != &KPfalseVKi) {
      T1 = CREF(1);
    } else {
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:77
      T7 = primitive_instanceQ(class_,&KLclass_objectGVenvironment_protocols);
      T1 = T7;
    }
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:76
    T2 = T1;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:75
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:75
  if (T2 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:78
    T3 = CALL1(CREF(2), class_);
    T5 = T3;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:75
    T4 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T5 = T4;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:75
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:73
  return(T5);
}

static dylan_value Kanonymous_of_all_initialize_methodsF74I (dylan_value context_) {
  dylan_value T1;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:209
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:210
  T1 = CALL2(&Kvariable_active_method_definitionsYdfmc_derived_informationVdfmc_browser_support, context_, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:209
  return(T1);
}

dylan_value Kinitialize_keywords_for_classVdfmc_environment_databaseMM0I (dylan_value server_, dylan_value class_, dylan_value methods_) {
  dylan_value returnPexit_10_;
  dylan_value T5;
  dylan_value T6;
  dylan_value T7;
  dylan_value T8;
  dylan_value T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value T12T, T12;
  dylan_value T13;
  dylan_value method_definition_;
  dylan_value T15;
  dylan_value T16;
  dylan_value T17_0;
  dylan_value T17_1;
  dylan_value T17_2;
  dylan_value T17_3;
  dylan_value req_types_;
  dylan_value key_types_;
  dylan_value T20;
  dylan_value T21;
  dylan_value type_;
  dylan_value first_argument_;
  dylan_value keywords_;
  dylan_value types_;
  dylan_value T26;
  dylan_value T27_0;
  dylan_value T27_1;
  dylan_value T27_2;
  dylan_value T28_0;
  dylan_value T28_1;
  dylan_value T28_2;
  dylan_value context_;
  dylan_value T30;
  dylan_value T31;
  dylan_value environment_method_;
  _KLsimple_object_vectorGVKd_3 T33 = {&KLsimple_object_vectorGVKdW, (dylan_value) 13};
  dylan_value T34;
  dylan_value T35;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:218
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:223
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
  CONGRUENT_CALL_PROLOG(&Kforward_iteration_protocolVKd, 1);
  T6 = CONGRUENT_CALL1(methods_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
  T7 = T6;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
  T8 = MV_GET_ELT(1);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
  T9 = MV_GET_ELT(2);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
  T10 = MV_GET_ELT(3);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
  T11 = MV_GET_ELT(5);
;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
  T12T = T7;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
    T12 = T12T;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
    T13 = CALL3(T10, methods_, T12, T8);
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
    if (T13 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
      T15 = CALL2(T11, methods_, T12);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
      primitive_type_check(T15, &KLmethod_definitionGVdfmc_definitions);
      method_definition_ = T15;
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:225
      context_ = Kbrowsing_contextVdfmc_environment_databaseMM0I(server_, method_definition_);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:226
      T16 = MAKE_CLOSURE_INITD(&Ktype_definitionF81, 1, context_);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:231
      T17_0 = Kfunctional_parameter_typesYdfmc_derived_informationVdfmc_browser_supportI(method_definition_);
      T17_1 = MV_GET_ELT(1);
      T17_2 = MV_GET_ELT(2);
      T17_3 = MV_GET_ELT(3);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:230
      req_types_ = T17_0;
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:230
      key_types_ = T17_3;
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:233
      CONGRUENT_CALL_PROLOG(&KemptyQVKd, 1);
      T20 = CONGRUENT_CALL1(req_types_);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:233
      if (T20 != &KPfalseVKi) {
        type_ = &KPfalseVKi;
      } else {
        // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:233
        T21 = CALL2(&KelementVKd, req_types_, (dylan_value) 1);
        type_ = T21;
      }
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:233
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:234
      get_teb()->function = T16;
      first_argument_ = Ktype_definitionF81I(type_);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:235
      T30 = primitive_idQ(first_argument_,class_);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:235
      if (T30 != &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:236
        keywords_ = Kfunctional_keysYdfmc_derived_informationVdfmc_browser_supportI(method_definition_);
        // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:238
        types_ = CALL2(&KmapVKd, T16, key_types_);
        // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:241
        T31 = SLOT_VALUE_INITD(server_, 1);
        // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:240
        environment_method_ = Kmake_environment_objectVenvironment_protocolsMM2I(&KLmethod_objectGVenvironment_protocols, &KPempty_vectorVKi, T31, &KPfalseVKi, &KPfalseVKi, &KPfalseVKi, method_definition_);
        // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:243
        T33.vector_element_[0] = environment_method_;
        T33.vector_element_[1] = keywords_;
        T33.vector_element_[2] = types_;
        // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:223
        T34 = MV_SET_REST_AT(&T33, 0);
        // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:223
        T27_0 = T34;
        T27_1 = MV_GET_ELT(1);
        T27_2 = MV_GET_ELT(2);
        goto L1;
      }
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:235
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
      T26 = CALL2(T9, methods_, T12);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
      T12T = T26;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:224
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:246
  T35 = &KPfalseVKi;
  MV_SET_ELT(0, &KPfalseVKi);
  MV_SET_ELT(1, &KPempty_listVKi);
  MV_SET_ELT(2, &KPempty_listVKi);
  MV_SET_COUNT(3);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:223
  T27_0 = T35;
  T27_1 = MV_GET_ELT(1);
  T27_2 = MV_GET_ELT(2);
  L1: ;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:223
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:218
  T28_0 = T27_0;
  T28_1 = T27_1;
  T28_2 = T27_2;
  {
    MV_CHECK_TYPE_PROLOGUE(T27_0);
    primitive_type_check(T28_0, &K80);
    primitive_type_check(T28_1, &KLsequenceGVKd);
    primitive_type_check(T28_2, &KLsequenceGVKd);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:218
  MV_SET_ELT(1, T28_1);
  MV_SET_ELT(2, T28_2);
  MV_SET_COUNT(3);
  return(T28_0);
}

static dylan_value Ktype_definitionF81I (dylan_value type_) {
  dylan_value T1_0;
  dylan_value T2_0;
  dylan_value T3_0;
  dylan_value T4_0;
  dylan_value T5;
  dylan_value T6;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:226
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:227
  T6 = primitive_instanceQ(type_,&KLvariable_nameGVdfmc_common);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:227
  if (T6 != &KPfalseVKi) {
    T5 = type_;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:228
    T1_0 = CALL2(&Kvariable_active_definitionYdfmc_derived_informationVdfmc_browser_support, CREF(0), T5);
    T3_0 = T1_0;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:227
    T2_0 = &KPfalseVKi;
    T3_0 = T2_0;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:227
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:226
  T4_0 = T3_0;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:226
  MV_SET_COUNT(1);
  return(T4_0);
}

static dylan_value Kanonymous_of_do_all_slotsF107I (dylan_value slot_definition_) {
  dylan_value environment_slot_;
  dylan_value T3;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:184
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:186
  environment_slot_ = Kmake_environment_objectVenvironment_protocolsMM2I(&KLslot_objectGVenvironment_protocols, &KPempty_vectorVKi, CREF(0), &KPfalseVKi, &KPfalseVKi, &KPfalseVKi, slot_definition_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:189
  CALL1(CREF(1), environment_slot_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:184
  T3 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:184
  MV_SET_COUNT(0);
  return(T3);
}

static dylan_value Kanonymous_of_do_all_slotsF106I (dylan_value class_) {
  dylan_value T1;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:179
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:180
  T1 = Kdo_direct_slotsVenvironment_protocolsMdfmc_environment_databaseM0I(CREF(2), CREF(1), class_, &KPempty_vectorVKi, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:179
  return(T1);
}

dylan_value Kclass_all_superclassesVdfmc_environment_databaseI (dylan_value server_, dylan_value class_) {
  dylan_value T3;
  dylan_value T4_0;
  dylan_value T5_0;
  dylan_value classes_;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:138
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:144
  T5_0 = KLstretchy_object_vectorGZ32ZconstructorVKiMM0I(&KLstretchy_object_vectorGVKe, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:144
  classes_ = T5_0;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:145
  T3 = MAKE_CLOSURE(&Kdo_superclassesF114, 3);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:145
  INIT_CLOSURE(T3, 3, classes_, T3, server_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:152
  Kdo_direct_superclassesVenvironment_protocolsMdfmc_environment_databaseM0I(T3, server_, class_, &KPempty_vectorVKi, &KPfalseVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:153
  CONGRUENT_CALL_PROLOG(&Kremove_duplicatesVKd, 2);
  T4_0 = CONGRUENT_CALL2(classes_, &KPempty_vectorVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:138
  MV_SET_COUNT(1);
  return(T4_0);
}

static dylan_value Kdo_superclassesF114I (dylan_value superclass_) {
  dylan_value T1;
  dylan_value T2;
  dylan_value T3;
  dylan_value T4;
  dylan_value T5;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:145
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:147
  KaddXVKdMM3I(CREF(0), superclass_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:148
  T4 = primitive_instanceQ(superclass_,&KLclass_objectGVenvironment_protocols);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:148
  if (T4 != &KPfalseVKi) {
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:161
    T3 = superclass_;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:149
    T5 = Kdo_direct_superclassesVenvironment_protocolsMdfmc_environment_databaseM0I(CREF(1), CREF(2), T3, &KPempty_vectorVKi, &KPfalseVKi);
    T2 = T5;
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:148
    T1 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_COUNT(1);
    T2 = T1;
  }
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:148
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:145
  return(T2);
}

static dylan_value Kanonymous_of_do_direct_slotsF117I (dylan_value slot_definition_) {
  dylan_value environment_slot_;
  dylan_value T3;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:128
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:130
  environment_slot_ = Kmake_environment_objectVenvironment_protocolsMM2I(&KLslot_objectGVenvironment_protocols, &KPempty_vectorVKi, CREF(0), &KPfalseVKi, &KPfalseVKi, &KPfalseVKi, slot_definition_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:133
  CALL1(CREF(1), environment_slot_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:128
  T3 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:128
  MV_SET_COUNT(0);
  return(T3);
}

static dylan_value Kdo_methodsF120I (dylan_value class_) {
  dylan_value class_definition_;
  dylan_value T2;
  dylan_value direct_methods_;
  dylan_value T4;
  dylan_value context_;
  dylan_value T6;
  DWORD T7T, T7;
  dylan_value T8;
  DWORD T9;
  dylan_value T10;
  dylan_value T11;
  dylan_value environment_method_;
  DWORD T13;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:90
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:92
  T4 = SLOT_VALUE_INITD(class_, 2);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:92
  primitive_type_check(T4, &KLclass_definitionGVdfmc_definitions);
  class_definition_ = T4;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:93
  context_ = Kbrowsing_contextVdfmc_environment_databaseMM0I(CREF(1), class_definition_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:96
  T2 = MAKE_CLOSURE_INITD(&Kanonymous_of_do_all_methodsF123, 1, class_definition_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:95
  direct_methods_ = Kcollect_from_all_client_contextsVdfmc_environment_databaseMM0I(T2, CREF(1), context_, &KPempty_vectorVKi, &KPtrueVKi);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:100
  T8 = SLOT_VALUE_INITD(direct_methods_, 0);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:100
  T9 = primitive_cast_integer_as_raw(T8);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:100
  T7T = 1;
L0: ;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:100
    T7 = T7T;
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:100
    T10 = primitive_machine_word_equalQ(T7,T9);
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:100
    if (T10 == &KPfalseVKi) {
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:100
      T11 = REPEATED_DYLAN_VALUE_SLOT_VALUE_TAGGED(direct_methods_, 1, T7);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:102
      environment_method_ = Kmake_environment_objectVenvironment_protocolsMM2I(&KLmethod_objectGVenvironment_protocols, &KPempty_vectorVKi, CREF(0), &KPfalseVKi, &KPfalseVKi, &KPfalseVKi, T11);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:106
      CALL2(CREF(2), class_, environment_method_);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:100
      T13 = primitive_machine_word_add_signal_overflow(T7,4);
      // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:100
      T7T = T13;
      goto L0;
    }
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:100
    // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:100
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:100
  T6 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:90
  MV_SET_COUNT(0);
  return(T6);
}

static dylan_value Kanonymous_of_do_all_methodsF123I (dylan_value context_) {
  dylan_value T1;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:96
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:97
  CONGRUENT_CALL_PROLOG(&Kclass_direct_method_definitionsYdfmc_derived_informationVdfmc_browser_support, 2);
  T1 = CONGRUENT_CALL2(context_, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:96
  return(T1);
}

static dylan_value Kanonymous_of_do_direct_methodsF127I (dylan_value context_) {
  dylan_value T1;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:54
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:55
  CONGRUENT_CALL_PROLOG(&Kclass_direct_method_definitionsYdfmc_derived_informationVdfmc_browser_support, 2);
  T1 = CONGRUENT_CALL2(context_, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:54
  return(T1);
}

static dylan_value Kanonymous_of_do_direct_superclassesF130I (dylan_value superclass_type_) {
  dylan_value type_object_;
  dylan_value T3;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:38
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:39
  type_object_ = CALL2(&Kmake_environment_object_for_type_expressionVdfmc_environment_database, CREF(0), superclass_type_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:40
  CALL1(CREF(1), type_object_);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:38
  T3 = &KPfalseVKi;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:38
  MV_SET_COUNT(0);
  return(T3);
}

static dylan_value Kanonymous_of_do_direct_subclassesF134I (dylan_value context_) {
  dylan_value T1;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:20
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:21
  CONGRUENT_CALL_PROLOG(&Kclass_direct_subclass_definitionsYdfmc_derived_informationVdfmc_browser_support, 2);
  T1 = CONGRUENT_CALL2(context_, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:20
  return(T1);
}


/* SYSTEM INIT CODE */

void _Init_dfmc_environment_database__X_class_objects_for_system () {
  extern dylan_value KPresolve_symbolVKiI(dylan_value);
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJmodule_);
    if (T0 != &KJmodule_) {
      IKJmodule_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJclient_);
    if (T0 != &KJclient_) {
      primitive_repeated_slot_value_setter(T0, &K110, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K109, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K99, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K94, 1, 0);
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJinheritedQ_);
    if (T0 != &KJinheritedQ_) {
      primitive_repeated_slot_value_setter(T0, &K99, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K94, 1, 2);
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_dfmc_environment_database__X_class_objects_for_user () {
{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:11
  T0 = KPadd_a_methodVKnI(&Kdo_direct_subclassesVenvironment_protocols, &Kdo_direct_subclassesVenvironment_protocolsMdfmc_environment_databaseM0, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I2;
}
I2:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:32
  T0 = KPadd_a_methodVKnI(&Kdo_direct_superclassesVenvironment_protocols, &Kdo_direct_superclassesVenvironment_protocolsMdfmc_environment_databaseM0, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I5;
}
I5:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:45
  T0 = KPadd_a_methodVKnI(&Kdo_direct_methodsVenvironment_protocols, &Kdo_direct_methodsVenvironment_protocolsMdfmc_environment_databaseM0, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I8;
}
I8:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:85
  T0 = KPadd_a_methodVKnI(&Kdo_all_methodsVenvironment_protocols, &Kdo_all_methodsVenvironment_protocolsMdfmc_environment_databaseM0, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I11;
}
I11:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:121
  T0 = KPadd_a_methodVKnI(&Kdo_direct_slotsVenvironment_protocols, &Kdo_direct_slotsVenvironment_protocolsMdfmc_environment_databaseM0, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I14;
}
I14:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:156
  T0 = KPadd_a_methodVKnI(&Kdo_all_superclassesVenvironment_protocols, &Kdo_all_superclassesVenvironment_protocolsMdfmc_environment_databaseM0, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I17;
}
I17:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:164
  T0 = KPadd_a_methodVKnI(&Kdo_all_slotsVenvironment_protocols, &Kdo_all_slotsVenvironment_protocolsMdfmc_environment_databaseM0, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I20;
}
I20:

{
  dylan_value T0;
  _KLsimple_object_vectorGVKd_4 T1 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T2;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:196
  T1.vector_element_[0] = &KJname_;
  T1.vector_element_[1] = &K22;
  T1.vector_element_[2] = IKJmodule_;
  T1.vector_element_[3] = Ddylan_module_idVenvironment_protocols;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:196
  MIEP_CALL_PROLOG(&K24);
  T2 = KmakeVKdMenvironment_protocolsM0I(&KLdefinition_idGVenvironment_protocols, &T1);
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:195
  Dinitialize_idVdfmc_environment_database = T2;
  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:195
  T0 = &KPfalseVKi;
  goto I21;
}
I21:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:250
  T0 = KPadd_a_methodVKnI(&Kdo_init_keywordsVenvironment_protocols, &Kdo_init_keywordsVenvironment_protocolsMdfmc_environment_databaseM0, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I27;
}
I27:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:307
  T0 = KPadd_a_methodVKnI(&Kapplication_object_classVenvironment_protocols, &Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM0, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I30;
}
I30:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:313
  T0 = KPadd_a_methodVKnI(&Kapplication_object_classVenvironment_protocols, &Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM1, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I33;
}
I33:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:319
  T0 = KPadd_a_methodVKnI(&Kapplication_object_classVenvironment_protocols, &Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM2, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I36;
}
I36:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:325
  T0 = KPadd_a_methodVKnI(&Kapplication_object_classVenvironment_protocols, &Kapplication_object_classVenvironment_protocolsMdfmc_environment_databaseM3, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I39;
}
I39:

{
  dylan_value T0;

  // /home/bruce/Development/dylan/opendylan/sources/environment/dfmc/database/class-objects.dylan:335
  T0 = KPadd_a_methodVKnI(&Kdo_macro_call_source_formsVenvironment_protocols, &Kdo_macro_call_source_formsVenvironment_protocolsMdfmc_environment_databaseM2, &Kdfmc_environment_database_libraryYdylan_userVdfmc_environment_database, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I42;
}
I42:

  return;
}


/* eof */
