nitc :: ffi_base $ FFILanguage
Visitor for a specific languages. Works kinda like aPhase
and is executed
nitc :: ffi_base $ FFILanguage
Visitor for a specific languages. Works kinda like aPhase
and is executed
Serializable::inspect
to show more useful information
nitc :: modelbuilder
more_collections :: more_collections
Highly specific, but useful, collections-related classes.serialization :: serialization_core
Abstract services to serialize Nit objects to different formatsnitc :: toolcontext
Common command-line tool infrastructure than handle options and error messagescore :: union_find
union–find algorithm using an efficient disjoint-set data structurecflags
and ldflags
to specify
extra_java_files
to compile extra java files
nitc :: light_only
Compiler support for the light FFI only, detects unsupported usage of callbacksnitc
.
nitc :: separate_erasure_compiler
Separate compilation of a Nit program with generic type erasureclone
method of the astbuilder tool
# Tools and utilities for implement FFI with different languages
module ffi_base
import c_tools
import parser
import modelbuilder
import nitni
import light_ffi_base
redef class MModule
# Callbacks used by this module, classified by language
var ffi_callbacks = new HashMap[FFILanguage, Set[NitniCallback]]
end
# Visitor for a specific languages. Works kinda like a `Phase` and is executed
# by a `Phase`.
redef class FFILanguage
# Generate the code to offer this callback if foreign code
fun compile_callback(callback: NitniCallback, mmodule: MModule,
mainmmodule: MModule, ecc: CCompilationUnit) is abstract
end
src/ffi/ffi_base.nit:17,1--38,3