# Encapsulates every information needed to compile a class.
#
# The compilation of a class is done by several methods, two of those are
# mandatory :
# - compile_class_to_c : starts the compilation process
# - compile_class_vft : generate the virtual function table
# And one of them is optional :
# - compile_class_if_universal : compiles the rest of the class if its a universal
# type. Universal type are handle in a case-basis, this is why they need special treatment.
# Generally, universal class will have special structure and a custom allocator.
#
# Throughout each step of the class compilation process, some information must be share.
# This class encapsulates the compilation process state.
# (except vft), eg
class ClassCompilationInfo
var : MClass # class to compile
var : Bool
var : Bool
# Shortcut to access the class's bound type.
var mtype: MClassType is noinit
init
do
mtype = mclass.intro.bound_mtype
end
end
src/compiler/separate_compiler.nit:2596,1--2622,3