def lower_assign(self, inst):
        value = inst.value
        if isinstance(value, (ir.Const, ir.FreeVar)):
            return self.lower_const(value.value)
        elif isinstance(value, ir.Var):
            val = self.loadvar(value.name)
            self.incref(val)
            return val
        elif isinstance(value, ir.Expr):
            return self.lower_expr(value)
        elif isinstance(value, ir.Global):
            return self.lower_global(value.name, value.value)
        elif isinstance(value, ir.Yield):
            return self.lower_yield(value)
        elif isinstance(value, ir.Arg):
            obj = self.fnargs[value.index]
            # When an argument is omitted, the dispatcher hands it as
            # _OmittedArg(<default value>)
            typobj = self.pyapi.get_type(obj)
            slot = cgutils.alloca_once_value(self.builder, obj)
            is_omitted = self.builder.icmp_unsigned('==', typobj,
                                                    self.omitted_typobj)
            with self.builder.if_else(is_omitted, likely=False) as (omitted, present):
                with present:
                    self.incref(obj)
                    self.builder.store(obj, slot)
                with omitted:
                    # The argument is omitted => get the default value
                    obj = self.pyapi.object_getattr_string(obj, 'value')
                    self.builder.store(obj, slot)

            return self.builder.load(slot)
        else:
            raise NotImplementedError(type(value), value)
Size in bytes of a sigle item in the atom.
dataset/ETHPy150Open numba/numba/numba/objmode.py/PyLower.lower_assign--crossover with--dataset/ETHPy150Open PyTables/PyTables/tables/atom.py/StringAtom.itemsize