# FIXME: do something better.
readable writable var _max_class_table_length: Int = 0
end
# A compiled class is a class in a program
class CompiledClass
# FIXME: do something better.
readable writable var _max_class_table_length: Int = 0
end
# A compiled class is a class in a program
class CompiledClass
# The corresponding local class in the main module of the prgram
readable var _local_class: MMLocalClass
# The corresponding local class in the main module of the prgram
readable var _local_class: MMLocalClass
# An element of a class or an instance table
# Such an elements represent method function pointers, attribute values, etc.
abstract class TableElt
# An element of a class or an instance table
# Such an elements represent method function pointers, attribute values, etc.
abstract class TableElt
# Is the element conflict to class `c' (used for coloring)
fun is_related_to(c: MMLocalClass): Bool is abstract
# Is the element conflict to class `c' (used for coloring)
fun is_related_to(c: MMLocalClass): Bool is abstract
# An element of a module table
# Such an elements represent colors or identifiers
abstract class ModuleTableElt
# An element of a module table
# Such an elements represent colors or identifiers
abstract class ModuleTableElt
end
# An element of a module table that represents a group of TableElt defined in the same local class
class ModuleTableEltGroup
end
# An element of a module table that represents a group of TableElt defined in the same local class
class ModuleTableEltGroup
readable var _elements: Array[TableElt] = new Array[TableElt]
end
# An element that represents a class property
abstract class TableEltProp
readable var _elements: Array[TableElt] = new Array[TableElt]
end
# An element that represents a class property
abstract class TableEltProp
end
# An element representing the constructor marker position in a class table
class TableEltClassInitTable
end
# An element representing the constructor marker position in a class table
class TableEltClassInitTable
# At the TableElt offset, there is the id of the super-class
# At the ModuleTableElt offset, there is the TableElt offset (ie. the color of the super-class).
class TableEltClassColor
# At the TableElt offset, there is the id of the super-class
# At the ModuleTableElt offset, there is the TableElt offset (ie. the color of the super-class).
class TableEltClassColor
var _table: Array[TableElt]
var _cc: CompiledClass
var _offsets: HashMap[MMLocalClass, Int]
var _table: Array[TableElt]
var _cc: CompiledClass
var _offsets: HashMap[MMLocalClass, Int]
redef fun is_related_to(c) do return true
end
# The element that represent the Object Size
class TableEltClassObjectSize
redef fun is_related_to(c) do return true
end
# The element that represent the Object Size
class TableEltClassObjectSize