core :: Object :: class_factory
Implementation used byget_class
to create the specific class.
core :: Object :: defaultinit
nitc :: Instance :: defaultinit
core :: Object :: is_same_instance
Return true ifself
and other
are the same instance (i.e. same identity).
core :: Object :: is_same_serialized
Isself
the same as other
in a serialization context?
core :: Object :: is_same_type
Return true ifself
and other
have the same dynamic type.
core :: Object :: native_class_name
The class name of the object in CString format.core :: Object :: output_class_name
Display class name on stdout (debug only).
# An instance represents a value of the executed program.
abstract class Instance
# The dynamic type of the instance
# ASSERT: not self.mtype.is_anchored
var mtype: MType
# Return `true` if the instance is the `true` value.
#
# Return `false` if the instance is the `false` value.
# Abort if the instance is not a boolean value.
fun is_true: Bool do abort
# Return `true` if the instance is null.
# Return `false` otherwise.
fun is_null: Bool do return mtype isa MNullType
# Return true if `self` IS `o` (using the Nit semantic of is)
fun eq_is(o: Instance): Bool do return self.is_same_instance(o)
# Human readable object identity "Type#number"
redef fun to_s do return "{mtype}"
# Return the integer value if the instance is an integer.
# else aborts
fun to_i: Int do abort
# Return the integer value if the instance is a float.
# else aborts
fun to_f: Float do abort
# Return the integer value if the instance is a byte.
# else aborts
fun to_b: Byte do abort
# Return the integer value if the instance is a int8.
# else aborts
fun to_i8: Int8 do abort
# Return the integer value if the instance is a int16.
# else aborts
fun to_i16: Int16 do abort
# Return the integer value if the instance is a uint16.
# else aborts
fun to_u16: UInt16 do abort
# Return the integer value if the instance is a int32.
# else aborts
fun to_i32: Int32 do abort
# Return the integer value if the instance is a uint32.
# else aborts
fun to_u32: UInt32 do abort
# The real value encapsulated if the instance is primitive.
# Else aborts.
fun val: nullable Object do abort
end
src/interpreter/naive_interpreter.nit:711,1--768,3