## 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.pkgherein
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;