PreviousUpNext

15.3.275  src/lib/compiler/front/typer/main/type-api.api

## type-api.api -- typecheck an API.

# Compiled by:
#     src/lib/compiler/front/typer/typer.sublib

###                 "Beware of bugs in the above code;
###                  I have only proven it correct, not tried it."
###
###                                      -- Donald Knuth


stipulate
    package mld =  module_level_declarations;                                           # module_level_declarations             is from   src/lib/compiler/front/typer-stuff/modules/module-level-declarations.pkg
herein

    api Type_Api {
        #
        type_api
           :
           {
               api_expression:          raw_syntax::Api_Expression,                     # This is what we're typechecking.

               typerstore:      mld::Typerstore,
               stamppath_context:       stamppath_context::Context,

               name_or_null:            Null_Or( symbol::Symbol ),
               symbolmapstack:          symbolmapstack::Symbolmapstack,

               source_code_region:      line_number_db::Source_Code_Region,
               per_compile_stuff:       typer_junk::Per_Compile_Stuff
           }
          ->
           mld::Api;



        type_generic_api
           :
           {   generic_api_expression:             raw_syntax::Generic_Api_Expression,
               stamppath_context:    stamppath_context::Context,

               name_or_null:         Null_Or( symbol::Symbol ),
               symbolmapstack:          symbolmapstack::Symbolmapstack,
               typerstore:   mld::Typerstore,

               source_code_region:    line_number_db::Source_Code_Region,
               per_compile_stuff:          typer_junk::Per_Compile_Stuff
           }
          ->
           mld::Generic_Api;


        debugging:  Ref(  Bool );
    };
end;








Comments and suggestions to: bugs@mythryl.org

PreviousUpNext